在公司对于运维人员来说,巡检是日常例行的一件事。刚刚开始服务器少,每次都是手动登录到服务器上做检查。可是服务器一多了,肯定是不能这样干的。因此我们就需要做一些比较自动化的行为。
程序是通过使用python实现ssh连接到服务器去实行shell脚本,返回数据,并且生成excel,对不正常指标进行标红处理。
Python要实现ssh连接服务器还需要其他模块。
软件/模块 | 版本 | 其他 |
python | 2.7.9 | |
paramiko | 1.15.2 | |
xlwt | 1.0.0 |
本程序在win7 64bit使用是没有问题的(本人用的就是win7 64bit )
这边为了方便我提供了两个版本:
python自动巡检 – 01
此程序由主程序、主机信息文件、命令文件三个文件组成。
1 2 3 4 5 6 | ` — daily_check . py < —此文件是 python的主程序 ` — 日期 – xunjian . txt < —生成的巡检信息文件 ` — check . log < —日志文件 | — hosts < —存放着要执行那些命令和检查那些主机的文件 | ` — host . info < —存放着需要巡检的主机 IP和用户名密码 | ` — xx . xx . xx . xx . cmd < —存放相关主机需要执行的命令 |
执行了daily_check.py生成了xunjian.txt文件,我们需要将文件的内容都拷贝到一个excel文件中查看。并标出相关的预警的信息。如下:
python自动巡检 – 02
上图显示了5列:
这边就不说主程序文件了,有兴趣的可以自己去看。当然欢迎大家给出相关意见。
此文件存放了巡检需要执行的命令、校验标准和命令是检查什么项目的,如下图:
python自动巡检 – 03
以上文件的每一行分为3个部分:
以上三个部分是使用 “#” 分割(注意:请在命令中避免使用 “#”,以免出现程序分割错误)。
此文件中存放了需要巡检的主机的IP和用户名信息,它们使用空格分开,如果有不需要巡检的主机可以在里面使用 (#) 在注释,和shell脚本的注释是一样的。如图:
python自动巡检 – 04
如果有行的服务器需要巡检,需要添加相关 主机 信息到此文件中。
python自动巡检 – 05
python自动巡检 – 06
python自动巡检 – 07
注意:exe巡检的*.cmd和trustauth.cn文件存放在dist/host文件夹中。
文章转载来自:trustauth.cn
上一篇:ELK logstash 处理多行事件(25th)
下一篇:Python 发送邮件支持附件