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执行shell获取硬件参数写入mysql的方法
Dec 29 Python
python检查字符串是否是正确ISBN的方法
Jul 11 Python
Python使用SocketServer模块编写基本服务器程序的教程
Jul 12 Python
Python+matplotlib实现华丽的文本框演示代码
Jan 22 Python
Django 登陆验证码和中间件的实现
Aug 17 Python
python+pyqt5实现KFC点餐收银系统
Jan 24 Python
python打印9宫格、25宫格等奇数格 满足横竖斜相加和相等
Jul 19 Python
python多线程实现代码(模拟银行服务操作流程)
Jan 13 Python
Python如何实现爬取B站视频
May 20 Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
Jun 02 Python
python实现AdaBoost算法的示例
Oct 03 Python
Python3获取cookie常用三种方案
Oct 05 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
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
JSON在PHP中的应用介绍
2012/09/08 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
PHP判断一个gif图片是否为动态图片的方法
2014/11/19 PHP
PHP上传文件时自动分配路径的方法
2015/01/09 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
2016/05/13 PHP
PHP new static 和 new self详解
2017/02/19 PHP
PHP中遍历数组的三种常用方法实例分析
2019/06/24 PHP
PHP通过文件保存和更新信息的方法分析
2019/09/12 PHP
Gambit vs ForZe BO3 第三场 2.13
2021/03/10 DOTA
Opacity.js
2007/01/22 Javascript
jquery 模拟雅虎首页的点击对话框效果
2010/04/11 Javascript
鼠标滑过出现预览的大图提示效果
2014/02/26 Javascript
Node.js中的模块机制学习笔记
2014/11/04 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
2017/03/07 Javascript
详解nodejs微信公众号开发——2.自动回复
2017/04/10 NodeJs
vue-cli初始化项目中使用less的方法
2018/08/09 Javascript
Vue响应式原理Observer、Dep、Watcher理解
2019/06/06 Javascript
JS实现页面数据懒加载
2020/02/13 Javascript
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
浅谈python中的正则表达式(re模块)
2017/10/17 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
用python画一只可爱的皮卡丘实例
2019/11/21 Python
Python谱减法语音降噪实例
2019/12/18 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
Python使用shutil模块实现文件拷贝
2020/07/31 Python
Python如何将模块打包并发布
2020/08/30 Python
Python json解析库jsonpath原理及使用示例
2020/11/25 Python
美国波道夫·古德曼百货官网:Bergdorf Goodman
2017/11/07 全球购物
单位门卫岗位职责
2013/12/20 职场文书
中专毕业生自我鉴定
2014/02/02 职场文书
厨师长岗位职责
2014/03/02 职场文书
运动会开幕式主持词
2014/03/28 职场文书
北京奥运会主题口号
2014/06/13 职场文书
先进党员事迹材料
2014/12/24 职场文书
小班教师个人总结
2015/02/05 职场文书