最近,许多小伙伴都在询问知了小姐姐如何用Python脚本来监控服务器。那么现在,干货来了,知了小姐姐特地请教了知了堂信安项目经理——甘老师解答这个问题。
由于《如何用Python脚本来监控服务器》系列内容较多,知了小姐姐将分4次为大家分享,今天我们继续为大家带来第二期,自运化监控之SSH方式。
1、自动化监控Agent方式
2、自运化监控方式之SSH
3、自动化监控方式之Saltstack
4、自动化监控方式之puppet
今天为大家分享自运化监控方式之SSH,正文开始啦~~
API就是一个Django程序,这个程序以get post传参
通过requests模块展开,前题是requests模块要进行安装,安装方法如下:
C:WINDOWSSystem32>python -m pip install --upgrade pip
C:WINDOWSSystem32>pip install requests
>>> import requests
>>>ret = requests.get('http://www.baidu.com')
>>>ret.text
ssh模式:
优点:无agent端,使用方便
缺点:速度慢
说明:而ansible,fabic就是基于paramiko来做的。
自动化监控SSH方式实战
# 基于paramiko模块, pip3 install paramiko
import requests
import paramiko
# ################## 获取今日未采集主机名 ##################
#result = requests.get('http://www.127.0.0.1:8000/assets.html')
# result = ['c1.com','c2.com']
# ################## 通过paramiko连接远程服务器,执行命令 ##################
# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='192.168.14.36', port=22, username='wupeiqi', password='123')
# 执行命令
stdin, stdout, stderr = ssh.exec_command('df')
# 获取命令结果
result = stdout.read()
# 关闭连接
ssh.close()
print(result)
# data_dict = {result}
# ################## 发送数据 ##################
# requests.post('http://www.127.0.0.1:8000/assets.html',data=data_dict)
你学会了吗?
今天的内容就分享到这儿啦,敬请期待下期分享!想获取更多信安学习干货,欢迎关注公众号【汇智知了堂】啦~
如果还有不清楚的、想要深入了解dubbo的小伙伴们,加知了小姐姐噢~欢迎大家随时私聊小姐姐,别不好意思哦!
相关阅读