利用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的Flask框架中集成CKeditor富文本编辑器的教程
Jun 13 Python
Python设计实现的计算器功能完整实例
Aug 18 Python
教你使用python实现微信每天给女朋友说晚安
Mar 23 Python
Python基于百度AI的文字识别的示例
Apr 21 Python
在Mac上删除自己安装的Python方法
Oct 29 Python
使用python获取电脑的磁盘信息方法
Nov 01 Python
python 格式化输出百分号的方法
Jan 20 Python
python3实现带多张图片、附件的邮件发送
Aug 10 Python
详解python路径拼接os.path.join()函数的用法
Oct 09 Python
matplotlib 范围选区(SpanSelector)的使用
Feb 24 Python
Python通过loop.run_in_executor执行同步代码 同步变为异步
Apr 11 Python
关于pytest结合csv模块实现csv格式的数据驱动问题
May 30 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
example1.php
2006/10/09 PHP
PHP 处理TXT文件(打开/关闭/检查/读取)
2013/05/13 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
使用php语句将数据库*.sql文件导入数据库
2014/05/05 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
PHP中生成UUID自定义函数分享
2015/06/10 PHP
Laravel关系模型指定条件查询方法
2019/10/10 PHP
js宝典学习笔记(上)
2007/01/10 Javascript
Jquery ajaxsubmit上传图片实现代码
2010/11/04 Javascript
js操作textarea 常用方法总结
2012/12/03 Javascript
JavaScript使用cookie实现记住账号密码功能
2015/04/27 Javascript
JavaScript控制浏览器全屏及各种浏览器全屏模式的方法、属性和事件
2015/12/20 Javascript
Sort()函数的多种用法
2016/03/20 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
2017/03/29 Javascript
Vue+axios 实现http拦截及路由拦截实例
2017/04/25 Javascript
JavaScript生成图形验证码
2020/08/24 Javascript
基于JS递归函数细化认识及实用实例(推荐)
2017/08/07 Javascript
vue组件与复用详解
2018/04/08 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
vue-cli3项目打包后自动化部署到服务器的方法
2020/09/16 Javascript
Javascript表单序列化原理及实现代码详解
2020/10/30 Javascript
Python functools模块学习总结
2015/05/09 Python
Python设计模式之代理模式简单示例
2018/01/09 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
Python将列表数据写入文件(txt, csv,excel)
2019/04/03 Python
python实现合并多个list及合并多个django QuerySet的方法示例
2019/06/11 Python
如何使用pycharm连接Databricks的步骤详解
2020/09/23 Python
ORLY官网:美国专业美甲一线品牌
2019/12/11 全球购物
思想专业自荐信范文
2013/12/25 职场文书
高中生自我评语大全
2014/01/19 职场文书
关于毕业的中学校园广播稿
2014/01/26 职场文书
家长通知书家长意见
2014/12/30 职场文书
社区志愿服务活动感想
2015/08/07 职场文书
七年级作文之《我和我的祖国》观后感作文
2019/10/18 职场文书