利用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类的__getitem__和__setitem__特殊方法
Dec 25 Python
python交互式图形编程实例(二)
Nov 17 Python
pycharm+django创建一个搜索网页实例代码
Jan 24 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
Feb 02 Python
pandas进行数据的交集与并集方式的数据合并方法
Jun 27 Python
python实现对csv文件的列的内容读取
Jul 04 Python
Python+Pandas 获取数据库并加入DataFrame的实例
Jul 25 Python
Python设计模式之简单工厂模式实例详解
Jan 22 Python
详解Python 调用C# dll库最简方法
Jun 20 Python
Python Pandas 获取列匹配特定值的行的索引问题
Jul 01 Python
PyCharm+PyQt5+QtDesigner配置详解
Aug 12 Python
聊聊Python中关于a=[[]]*3的反思
Jun 02 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
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
PHP会员找回密码功能的简单实现
2016/09/05 PHP
jquery 实现的全选和反选
2009/04/15 Javascript
return false,对阻止事件默认动作的一些测试代码
2010/11/17 Javascript
javascript 使用 NodeList需要注意的问题
2013/03/04 Javascript
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
2014/03/20 Javascript
使用js Math.random()函数生成n到m间的随机数字
2014/10/09 Javascript
JavaScript正则表达式之multiline属性的应用
2015/06/16 Javascript
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
实践中学习AngularJS表单
2016/03/21 Javascript
详解Bootstrap插件
2016/04/25 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
AngularJS动态加载模块和依赖的方法分析
2016/11/08 Javascript
原生js实现回复评论功能
2017/01/18 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
jquery实现搜索框功能实例详解
2018/07/23 jQuery
vue mvvm数据响应实现
2020/11/11 Javascript
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
Scrapy的简单使用教程
2017/10/24 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
python+pandas生成指定日期和重采样的方法
2018/04/11 Python
python中多层嵌套列表的拆分方法
2018/07/02 Python
Python中的 is 和 == 以及字符串驻留机制详解
2019/06/28 Python
Django 缓存配置Redis使用详解
2019/07/23 Python
印度最大的酒店品牌网络:OYO Rooms
2016/07/24 全球购物
德国百年厨具品牌WMF美国站:WMF美国
2016/09/12 全球购物
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
给水排水工程专业毕业生推荐信
2013/10/28 职场文书
室内拓展活动方案
2014/02/13 职场文书
医德考评自我评价
2014/09/14 职场文书
优秀党务工作者先进事迹材料
2014/12/25 职场文书
三八红旗手先进事迹材料(2016推荐版)
2016/02/25 职场文书
调研报告的主要写法
2019/04/18 职场文书
python 批量压缩图片的脚本
2021/06/02 Python
使用Canvas绘制一个游戏人物属性图
2022/03/25 Javascript
win10忘记pin密码登录不了怎么办?win10忘记pin密码登不进去的解决方法
2022/07/07 数码科技