利用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操作SQLite简明教程
Jul 10 Python
Python使用Flask框架获取当前查询参数的方法
Mar 21 Python
Python 实现文件的全备份和差异备份详解
Dec 27 Python
Python向MySQL批量插数据的实例讲解
Mar 31 Python
详解PyTorch批训练及优化器比较
Apr 28 Python
django 发送邮件和缓存的实现代码
Jul 18 Python
Python 点击指定位置验证码破解的实现代码
Sep 11 Python
Python使用psutil获取进程信息的例子
Dec 17 Python
PyCharm 专业版安装图文教程
Feb 20 Python
python+selenium+PhantomJS抓取网页动态加载内容
Feb 25 Python
解决python Jupyter不能导入外部包问题
Apr 15 Python
Anaconda安装pytorch及配置PyCharm 2021环境
Jun 04 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
深入PHP变量存储的详解
2013/06/13 PHP
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
分享一个php 的异常处理程序
2014/06/22 PHP
Zend Framework分发器用法示例
2016/12/11 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
2017/02/04 PHP
php两点地理坐标距离的计算方法
2018/12/29 PHP
Laravel框架实现超简单的分页效果示例
2019/02/08 PHP
javascript数组组合成字符串的脚本
2021/01/06 Javascript
javascript 限制输入脚本大全
2009/11/03 Javascript
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
jquery html动态生成select标签出问题的解决方法
2013/11/20 Javascript
JS实现Fisheye效果动感放大菜单代码
2015/10/21 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
原生JS上传大文件显示进度条 php上传文件代码
2020/03/27 Javascript
详解关于vue2.0工程发布上线操作步骤
2018/09/27 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
2019/04/14 Javascript
详解vue中多个有顺序要求的异步操作处理
2019/10/29 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
2019/12/25 jQuery
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
Python基础练习之用户登录实现代码分享
2017/11/08 Python
详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)
2019/07/01 Python
pandas 使用均值填充缺失值列的小技巧分享
2019/07/04 Python
Win10下python 2.7与python 3.7双环境安装教程图解
2019/10/12 Python
使用Python-OpenCV消除图像中孤立的小区域操作
2020/07/05 Python
维多利亚的秘密官方网站:Victoria’s Secret
2018/10/24 全球购物
美国爆米花工厂:The Popcorn Factory
2019/09/14 全球购物
一些Unix笔试题和面试题
2013/01/22 面试题
2014年小班保育员工作总结
2014/12/23 职场文书
教师节班会开场白
2015/06/01 职场文书
城南旧事读书笔记
2015/06/29 职场文书
趣味运动会口号
2015/12/24 职场文书
2016大学生优秀志愿者事迹材料
2016/02/25 职场文书
python通配符之glob模块的使用详解
2021/04/24 Python
Python3使用Qt5来实现简易的五子棋小游戏
2022/05/02 Python