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 实现网上商城,转账,存取款等功能的信用卡系统
Jul 15 Python
python方向键控制上下左右代码
Jan 20 Python
Python机器学习之scikit-learn库中KNN算法的封装与使用方法
Dec 14 Python
python3-flask-3将信息写入日志的实操方法
Nov 12 Python
使用Django搭建一个基金模拟交易系统教程
Nov 18 Python
Matplotlib使用字符串代替变量绘制散点图的方法
Feb 17 Python
基于Pytorch SSD模型分析
Feb 18 Python
Python3 中sorted() 函数的用法
Mar 24 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
Jun 22 Python
Python自动发送和收取邮件的方法
Aug 12 Python
Python+OpenCV图像处理——实现直线检测
Oct 23 Python
Python实现石头剪刀布游戏
Jan 20 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
法兰绒滤网冲泡
2021/03/03 冲泡冲煮
如何使用PHP中的字符串函数
2006/10/09 PHP
php设计模式之单例模式使用示例
2014/01/20 PHP
twig里使用js变量的方法
2016/02/05 PHP
Yii 使用intervention/image拓展实现图像处理功能
2019/06/22 PHP
分享一个自己写的table表格排序js插件(高效简洁)
2011/10/29 Javascript
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
jquery拖动插件(jquery.drag)使用介绍
2013/06/18 Javascript
jQuery ajax dataType值为text json探索分享
2013/09/23 Javascript
jQuery+CSS3实现树叶飘落特效
2015/02/01 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
Vue axios 中提交表单数据(含上传文件)
2017/07/06 Javascript
关于Vue.nextTick()的正确使用方法浅析
2017/08/25 Javascript
你可能不知道的前端算法之文字避让(inMap)
2018/01/12 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
2019/01/15 Javascript
Nodejs中的require函数的具体使用方法
2019/04/02 NodeJs
react基本安装与测试示例
2020/04/27 Javascript
用vue 实现手机触屏滑动功能
2020/05/28 Javascript
[02:41]DOTA2英雄基础教程 亚巴顿
2014/01/02 DOTA
Python使用progressbar模块实现的显示进度条功能
2018/05/31 Python
pytorch-RNN进行回归曲线预测方式
2020/01/14 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
canvas实现有递增动画的环形进度条的实现方法
2019/07/10 HTML / CSS
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
大学生毕业自荐信
2013/10/10 职场文书
餐饮企业总经理岗位职责范文
2014/02/18 职场文书
小学生元旦感言
2014/02/26 职场文书
旺仔牛奶广告词
2014/03/20 职场文书
《菜园里》教学反思
2014/04/17 职场文书
公司合作协议书范本
2014/04/18 职场文书
财务经理岗位职责范本
2015/04/08 职场文书
办公室日常管理制度
2015/08/04 职场文书
python index() 与 rindex() 方法的使用示例详解
2022/12/24 Python