利用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 相关文章推荐
python基础教程之自定义函数介绍
Aug 29 Python
python自动zip压缩目录的方法
Jun 28 Python
Python用threading实现多线程详解
Feb 03 Python
python中安装模块包版本冲突问题的解决
May 02 Python
Python生成随机密码的方法
Jun 16 Python
python使用turtle库与random库绘制雪花
Jun 22 Python
详解python实现识别手写MNIST数字集的程序
Aug 03 Python
Python使用Selenium爬取淘宝异步加载的数据方法
Dec 17 Python
Python多线程及其基本使用方法实例分析
Oct 29 Python
为什么说python更适合树莓派编程
Jul 20 Python
python des,aes,rsa加解密的实现
Jan 16 Python
Python+Tkinter打造签名设计工具
Apr 01 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
如何利用php array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
ThinkPHP处理Ajax返回的方法
2014/11/22 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
PHP中__set()实例用法和基础讲解
2019/07/23 PHP
jquery.validate使用攻略 第三部
2010/07/01 Javascript
JavaScript学习历程和心得小结
2010/08/16 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
Javascript中关于Array.filter()的妙用详解
2016/12/04 Javascript
jQuery实现动态添加、删除按钮及input输入框的方法
2017/04/27 jQuery
inner join 内联与left join 左联的实例代码
2017/09/18 Javascript
javascript浏览器用户代理检测脚本实现方法
2017/10/27 Javascript
详解Vue项目中出现Loading chunk {n} failed问题的解决方法
2018/09/14 Javascript
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
python中wx将图标显示在右下角的脚本代码
2013/03/08 Python
python检测某个变量是否有定义的方法
2015/05/20 Python
python解析xml文件实例分析
2015/05/27 Python
python使用 HTMLTestRunner.py生成测试报告
2017/10/20 Python
python requests爬取高德地图数据的实例
2018/11/10 Python
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
python制作朋友圈九宫格图片
2019/11/03 Python
python 绘制正态曲线的示例
2020/09/24 Python
带有css3动画效果的兼容多浏览器简单导航条示例
2014/01/26 HTML / CSS
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
工商技校毕业生自荐信
2013/11/15 职场文书
聚美优品广告词改编
2014/03/14 职场文书
大学生个人先进事迹材料范文
2014/05/03 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
小学优秀班主任材料
2014/12/17 职场文书
表扬通报怎么写
2015/01/16 职场文书
小学语文新课改心得体会
2016/01/22 职场文书
Oracle中日期的使用方法实例
2022/07/07 Oracle
mysql通过group by分组取最大时间对应数据的两种有效方法
2022/09/23 MySQL