运用Jupyter Notebook进行系统管理

Jupyter Notebook能够将系统信息做为页面进行展现,将python等信息和shell等执行工具集成到统一的页面(参考《IPython 6/Jupyter的magic操做符》、 IPython的Magics魔法操做符),从而提供一个完整的自定义动态视图。Jupyter Notebook Server还提供Text/HTML/Markdown/JSON/YAML等多种文档编辑器以及能够打开多个并随意布局的Web shell支持,不只可用于数据分析,也是系统管理、维护的利器。html

上图,在Notebook中运行GlusterFS存储系统和Kubernetes的管理工具。python

一、安装步骤

包括:git

二、使用方法

Jupyter Notebook是在服务器上运行的,默认是安装(或服务)的帐号。所以,全部的状态是持续的,上次打开的窗口下次在任何地方打开都是上次的状态,若是多个页面同时打开,普通页面能够刷新同步,终端shell是自动更新的。github

Python代码

普通的python代码在打开notebook后,输入代码,按shift+enter键便可运行。shell

控制台脚本

使用!来运行单行shell脚本,可使用&&链接。如:服务器

!uname -a && ls -l

使用%%sh来运行多行shell脚本。如:网络

%%sh
echo "系统信息:"
unname -a

echo "当前目录:"
ls -l
  • 注意,不能有要求交互输入的部分,不然会挂起,须要按照下面的方法解决。

sudo命令

若是须要sudo执行,由于须要提示输入密码,须要一些技巧。ssh

  • 使用sudo -S参数和管道,以下所示:
echo password | sudo -S cat /etc/fstab
  • 使用sshpass(须要单独安装,运行sudo apt install sshpass),以下所示:
sshpass -p password sudo cat /etc/fstab

编写python程序从页面获取输入或者从文件、从网络服务商读取配置参数也都是可行的,只是稍微复杂一些,对于大型系统可以提升效率。额能够将之前的一些工具整合到Jupyter Notebook这个界面来运行。编辑器

制做好的Notebook是能够拿来共享的,分享以前注意删除掉一些私有的信息。工具

扩展插件

插件可让Notebook变得更好用一些。