热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python脚本监控nginx服务

:本篇文章主要介绍了python脚本监控nginx服务,对于PHP教程有兴趣的同学可以参考一下。
#!/usr/local/bin/python
#coding:UTF-8
import socket
import smtplib
import urllib
import os
import sys
import time
from email.mime.text import MIMEText
#email options
mail_optiOns= {
'mail_host':'smtp.xxx.com',
'mail_user':'xxx@xxx.com',
'mail_pass':'xxxxxx',
'mail_postfix':'xxx.com',
'mail_toList':['xxx@xxx.com'],
}
#server url
host_url = "xxxxxx"
#check nginx server status
def check_nginx():
for i in range(3):
time.sleep(3)
try:
result = os.popen('ps -C nginx -o pid,cmd').readlines()
if len(result) <2:
print "nginx process killed, restarting service in 3 seconds."
time.sleep(3)
os.system('/usr/local/nginx/sbin/nginx')
else:
break;
except:
print "Error!"
#check server status
def url_request(url):
try:
respOnse= urllib.urlopen(url);
response_code = response.getcode()
if 500 == response_code:
return response_code
elif 501 == response_code:
return response_code
elif 502 == response_code:
return response_code
elif 503 == response_code:
return response_code
elif 504 == response_code:
return response_code
else:
return True
except IOError,e:
return False
#restart cas service
def cas_restart():
try:
print "cas restarting service in 3 seconds."
time.sleep(3)
os.system('xxx')
return True
except:
print "Error"
return False
#send email
def send_mail(mail,sub,content):
me="server monitor"&#43;"<"&#43;mail['mail_user']&#43;"@"&#43;mail['mail_postfix']&#43;">"
msg = MIMEText(content,_subtype='plain')
msg['Subject'] = sub
msg['From'] = me
msg['To'] = ";".join(mail['mail_toList'])
try:
server = smtplib.SMTP()
server.connect(mail['mail_host'])
server.login(mail['mail_user'],mail['mail_pass'])
server.sendmail(me, mail['mail_toList'], msg.as_string())
server.close()
return True
except Exception, e:
print str(e)
return False
if __name__=='__main__':
check_nginx()
status = url_request(host_url)
if status is not True and status is not None:
restart_result = cas_restart()
if restart_result is True:
cOntent= "Server:%s was died! status code:%s.\r\nThe service restarts successfully."%(host_url, status)
send_mail(mail_options, "monitor", content)
else:
cOntent= "Server:%s was died! status code:%s.\r\nThe service failed to restart, please restart the service again."%(host_url, status)
send_mail(mail_options, "monitor", content)
else:
pass

以上就介绍了python脚本监控nginx服务,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

推荐阅读
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 本文探讨了当通过Nginx访问网站时出现504 Gateway Timeout错误的解决方案,特别是当请求处理时间超过30秒时的情况。文章提供了调整PHP-FPM配置的具体步骤,以延长请求超时时间。 ... [详细]
  • 本文详细探讨了如何根据不同的应用场景选择合适的PHP版本,包括多版本切换技巧、稳定性分析及针对WordPress等特定平台的版本建议。 ... [详细]
  • 本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ... [详细]
  • Python网络编程:深入探讨TCP粘包问题及解决方案
    本文详细探讨了TCP协议下的粘包现象及其产生的原因,并提供了通过自定义报头解决粘包问题的具体实现方案。同时,对比了TCP与UDP协议在数据传输上的不同特性。 ... [详细]
  • 本文介绍了使用Python和C语言编写程序来计算一个给定数值的平方根的方法。通过迭代算法,我们能够精确地得到所需的结果。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • Awk是一款功能强大的文本分析与处理工具,尤其在数据解析和报告生成方面表现突出。它通过读取由换行符分隔的记录,并按照指定的字段分隔符来划分和处理这些记录,从而实现复杂的数据操作。 ... [详细]
  • 最适合初学者的编程语言
    本文探讨了适合编程新手的最佳语言选择,包括Python、JavaScript等易于上手且功能强大的语言,以及如何通过有效的学习方法提高编程技能。 ... [详细]
  • 为何Compose与Swarm之后仍有Kubernetes的诞生?
    探讨在已有Compose和Swarm的情况下,Kubernetes是如何以其独特的设计理念和技术优势脱颖而出,成为容器编排领域的领航者。 ... [详细]
  • 本文详细介绍了在Windows系统中如何配置Nginx以实现高效的缓存加速功能,包括关键的配置文件设置和示例代码。 ... [详细]
  • CRZ.im:一款极简的网址缩短服务及其安装指南
    本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
  • LNMP流程图nginxPHPMysqlNginxFastcgi_pass<-FastCGI->fastcgi-(php-fpm)<->wrapperPhp ... [详细]
  • 本文探讨了在Windows系统中运行Apache服务器时频繁出现崩溃的问题,并提供了多种可能的解决方案和建议。错误日志显示多个子进程因达到最大请求限制而退出。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
author-avatar
AD社团
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有