利用python为运维人员写一个监控脚本


Posted in Python onMarch 25, 2018

前言:

一直想写一个监控方面的脚本,然后想到了运维这方面的,后来就写了个脚本,下面话不多说了,来一起看看详细的介绍吧。

准备:

psutil模块(基本使用方法可以参考这篇文章:https://3water.com/article/65044.htm)

正文:

import os
import time
import re
import smtplib
from email.mime.text import MIMEText
from email.header import Header
import socket
import psutil
while True:
 def jianca():
 print('[+]Write a port to a file')
 querys=os.popen('netstat -an').read()
 wsd=open('netstat.txt','w')
 wsd.write(querys)
 wsd.close()
 jianca()
 
 def swsd():
 global usd,ow
 wsd=open('netstat.txt','r')
 swd=wsd.read()
 odf=re.findall('(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d):(3389)',swd)
 usd=odf[0]
 print('[+]Query the IP address of a remote connection')
 df=usd[0],usd[1],usd[1],usd[3]
 wdst=".".join(df)
 ow=wdst+":"+usd[4]
 print(usd[0],'.',usd[1],'.',usd[2],'.',usd[3]+":",usd[4])
 swsd()
 
 def ipdw():
 global wdf,ip,timsd
 s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
 dw=s.connect(('8.8.8.8',80))
 ip=s.getsockname()[0]
 print('[+]loacl IP:',ip)
 wdf=os.popen('tasklist').read()
 timsd=time.strftime('%Y-%m-%d',time.localtime(time.time()))
 ipdw()
 
 def yunwei():
 global cput,cp
 cput=psutil.cpu_times()
 cp=psutil.disk_io_counters()
 yunwei()
 
 def stm():
 serder="搜狐邮箱@sina.cn"
 revw="收件箱@qq.com"
 zhengwen='[+]Query the IP address of a remote connection''{}\n' \
  '[+]loacl IP:{}\n' \
  '[+]A program running in the background:{}\n' \
  '[+]The user / system / idle time of statistical CPU:{}\n' \
  '[+]Disk I/O usage{}\n' \
  '[+]Last send time:{}\n' .format(ow,ip,wdf,cput,cp,timsd)
 msg=MIMEText(zhengwen)
 msg['From']=Header('你的搜狐邮箱@sina.cn')
 msg['TO']=Header('收件箱@qq.com','utf-8')
 sub="实时监控"
 msg['subject']=Header(sub,'utf-8')
 try:
  smtp=smtplib.SMTP()
  smtp.connect('smtp.sina.cn',25)
  smtp.login('搜狐邮箱@sina.cn','登录密码')
  smtp.sendmail(serder,revw,msg.as_string())
  print('[+]发送出')
 except Exception as g:
  print('[-]发送失败,原因:',g)
 stm()
 
 time.sleep(3600)

实现原理:首先获取端口状态,然后写人一个txt用正则提取出想要的IP和端口。

然后获取正在后台运行的程序。在获取CPU和磁盘I/O的内存,然后通过邮箱发送‘

到指定收件箱。

运行截图:

利用python为运维人员写一个监控脚本

利用python为运维人员写一个监控脚本

利用python为运维人员写一个监控脚本

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python3实现从指定路径查找文件的方法
May 22 Python
Python列出一个文件夹及其子目录的所有文件
Jun 30 Python
解决Python requests 报错方法集锦
Mar 19 Python
Python基于列表模拟堆栈和队列功能示例
Jan 05 Python
python 把文件中的每一行以数组的元素放入数组中的方法
Apr 29 Python
Python实现通过继承覆盖方法示例
Jul 02 Python
实例讲解python中的协程
Oct 08 Python
python交互模式下输入换行/输入多行命令的方法
Jul 02 Python
python写一个随机点名软件的实例
Nov 28 Python
简单了解Python读取大文件代码实例
Dec 18 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
Mar 17 Python
Django import export实现数据库导入导出方式
Apr 03 Python
python实现数据写入excel表格
Mar 25 #Python
使用requests库制作Python爬虫
Mar 25 #Python
利用Python代码实现数据可视化的5种方法详解
Mar 25 #Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
Mar 23 #Python
教你使用python实现微信每天给女朋友说晚安
Mar 23 #Python
python微信公众号开发简单流程
Mar 23 #Python
python3如何将docx转换成pdf文件
Mar 23 #Python
You might like
一个多文件上传的例子(原创)
2006/10/09 PHP
杏林同学录(六)
2006/10/09 PHP
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
PHP 序列化和反序列化函数实例详解
2020/07/18 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
JavaScript 打地鼠游戏代码说明
2010/10/12 Javascript
javascript中创建对象的三种常用方法
2010/12/30 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
纯Javascript实现ping功能的方法
2015/03/20 Javascript
JS实现保留n位小数的四舍五入问题示例
2016/08/03 Javascript
详解nodeJS之二进制buffer对象
2017/06/03 NodeJs
Angular CLI在Angular项目中如何使用scss详解
2018/04/10 Javascript
在JS循环中使用async/await的方法
2018/10/12 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
vue使用transition组件动画效果的实例代码
2021/01/28 Vue.js
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
Python编程实现二分法和牛顿迭代法求平方根代码
2017/12/04 Python
python re正则匹配网页中图片url地址的方法
2018/12/20 Python
Python面向对象之类的封装操作示例
2019/06/08 Python
python实现车牌识别的示例代码
2019/08/05 Python
Python字符串大小写转换拼接删除空白
2019/09/19 Python
pytorch下使用LSTM神经网络写诗实例
2020/01/14 Python
pytorch常见的Tensor类型详解
2020/01/15 Python
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
荷兰男士时尚网上商店:Suitable
2017/12/25 全球购物
成品库仓管员岗位职责
2014/04/06 职场文书
生态养殖创业计划书
2014/05/06 职场文书
刑事和解协议书范本
2014/11/19 职场文书
2016猴年开门红标语口号
2015/12/26 职场文书
python3.9之你应该知道的新特性详解
2021/04/29 Python
浅谈Python中的函数(def)及参数传递操作
2021/05/25 Python
关于PostgreSQL JSONB的匹配和交集问题
2021/09/14 PostgreSQL
python pygame 开发五子棋双人对弈
2022/05/02 Python