python 检测nginx服务邮件报警的脚本


Posted in Python onDecember 31, 2020
$ cat checkserver.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
import os
import socket
import smtplib
from email.mime.text import MIMEText
from email.header import Header
 
mail_host = "smtp.exmail.qq.com"
mail_user = "yunwei-monitor@111.com"
mail_pass = "yNE8dcsx"
 
sender = 'yunwei-monitor@111.com'
receivers = ['lixinliang@111.com']
 
def Checkserverdown():
    #三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码
    message = MIMEText('192.168.71.200 nginx is down','plain','utf-8')
    message['From'] = Header("Nginx is down ", 'utf-8') # 发送者
    message['To'] = Header("李鑫亮", 'utf-8')   # 接收者
    subject = '192.168.71.200 nginx is down'
    message['Subject'] = Header(subject,'utf-8')
    try:
        smtpobj = smtplib.SMTP()
        smtpobj.connect(mail_host,25)
        smtpobj.login(mail_user,mail_pass)
        smtpobj.sendmail(sender,receivers,message.as_string())
        print("邮件发送成功")
    except smtplib.SMTPException:
        print("Error: 无法发送邮件")
 
def Checkserverstilldown():
    #三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码
    message = MIMEText('192.168.71.200 nginx is still down','plain','utf-8')
    message['From'] = Header("Nginx is still down ", 'utf-8') # 发送者
    message['To'] = Header("李鑫亮", 'utf-8')   # 接收者
    subject = '192.168.71.200 nginx is still down'
    message['Subject'] = Header(subject,'utf-8')
    try:
        smtpobj = smtplib.SMTP()
        smtpobj.connect(mail_host,25)
        smtpobj.login(mail_user,mail_pass)
        smtpobj.sendmail(sender,receivers,message.as_string())
        print("邮件发送成功")
    except smtplib.SMTPException:
        print("Error: 无法发送邮件")
 
def Checkserverup():
    #三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码
    message = MIMEText('192.168.71.200 nginx is  up','plain','utf-8')
    message['From'] = Header("Nginx is up ", 'utf-8') # 发送者
    message['To'] = Header("李鑫亮", 'utf-8')   # 接收者
    subject = '192.168.71.200 nginx is up'
    message['Subject'] = Header(subject,'utf-8')
    try:
        smtpobj = smtplib.SMTP()
        smtpobj.connect(mail_host,25)
        smtpobj.login(mail_user,mail_pass)
        smtpobj.sendmail(sender,receivers,message.as_string())
        print("邮件发送成功")
    except smtplib.SMTPException:
        print("Error: 无法发送邮件")
 
 
# 判断 nginx 进程输出内容来确定是否要进行进程启动
file = "/tmp/nginx.txt"
os.system("""ps -ef  |grep nginx  |grep -Ev "grep|vim" > %s""" % file)
 
print (os.path.getsize(file))
if os.path.getsize(file) == 0:
        Checkserverdown()
        os.system("/usr/sbin/nginx")
        print (os.path.getsize(file))
        os.system("""ps -ef  |grep nginx  |grep -Ev "grep|vim" > %s""" % file)
        if os.path.getsize(file) == 0:
                Checkserverstilldown()
                os.system("/usr/sbin/nginx")
        else:
                Checkserverup()

以上就是python 检测nginx服务邮件报警的脚本的详细内容,更多关于python 检测nginx服务邮件报警的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python中使用urllib2模块编写爬虫的简单上手示例
Jan 20 Python
Python 搭建Web站点之Web服务器与Web框架
Nov 06 Python
python中hashlib模块用法示例
Oct 30 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
Jan 26 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
Jun 20 Python
微信小程序python用户认证的实现
Jul 29 Python
python Manager 之dict KeyError问题的解决
Dec 21 Python
PyTorch使用cpu加载模型运算方式
Jan 13 Python
在Mac中PyCharm配置python Anaconda环境过程图解
Mar 11 Python
keras实现多GPU或指定GPU的使用介绍
Jun 17 Python
Python监听键盘和鼠标事件的示例代码
Nov 18 Python
Python图片验证码降噪和8邻域降噪
Aug 30 Python
Django 实现图片上传和下载功能
Dec 31 #Python
Python wordcloud库安装方法总结
Dec 31 #Python
Python的信号库Blinker用法详解
Dec 31 #Python
浅析python实现动态规划背包问题
Dec 31 #Python
python中doctest库实例用法
Dec 31 #Python
Python项目打包成二进制的方法
Dec 30 #Python
Python 实现RSA加解密文本文件
Dec 30 #Python
You might like
php读取数据库信息的几种方法
2008/05/24 PHP
增强的 JavaScript 的 trim 函数的代码
2007/08/13 Javascript
javascript for循环设法提高性能
2010/02/24 Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
2010/05/11 Javascript
html文件中jquery与velocity变量中的$冲突的解决方法
2013/11/01 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
2013/11/27 Javascript
javascript 闭包详解
2015/02/15 Javascript
7个jQuery最佳实践
2016/01/12 Javascript
jQuery height()、innerHeight()、outerHeight()函数的区别详解
2016/05/23 Javascript
AngularJs html compiler详解及示例代码
2016/09/01 Javascript
微信小程序  Mustache语法详细介绍
2016/10/27 Javascript
原生js仿浏览器滚动条效果
2017/03/02 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
vue中利用Promise封装jsonp并调取数据
2019/06/18 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
2020/07/24 Javascript
JavaScript Image对象实现原理实例解析
2020/08/26 Javascript
python的即时标记项目练习笔记
2014/09/18 Python
让 python 命令行也可以自动补全
2014/11/30 Python
Python数据结构与算法之完全树与最小堆实例
2017/12/13 Python
Linux(Redhat)安装python3.6虚拟环境(推荐)
2018/05/05 Python
Python输出\u编码将其转换成中文的实例
2018/12/15 Python
Python设计模式之状态模式原理与用法详解
2019/01/15 Python
python利用selenium进行浏览器爬虫
2019/04/25 Python
Python 实现大整数乘法算法的示例代码
2019/09/17 Python
解决pytorch 模型复制的一些问题
2021/03/03 Python
美国旅游网站:Tours4Fun
2017/02/17 全球购物
改变生活的男士内衣:SAXX Underwear
2019/08/28 全球购物
大学本科毕业生的自我鉴定
2013/11/26 职场文书
会计电算化个人求职信范文
2014/01/24 职场文书
求职意向书
2014/04/01 职场文书
物理学专业求职信
2014/07/04 职场文书
优秀教师先进个人事迹材料
2014/08/31 职场文书
房产协议书范本2014
2014/09/30 职场文书
大学迎新生的欢迎词
2019/06/25 职场文书