python3监控网站状态

前面已经写过Python3发邮件,Python发微信的文章了。直接导入即可。

#!/usr/local/env python
import configparser,requests
from time import sleep
import WeChat,Mail
 
class checkurl(object):
    def __init__(self,file):
        self.file=file
        self.cfg=configparser.ConfigParser()
         
    def cfg_load(self):
        self.cfg.read(self.file)
        self.allurl=self.cfg.items(‘yuming‘)
        self.reload=self.cfg.get(‘time‘,‘reload‘)
        self.mailto=self.cfg.items(‘mailto‘)
         
    def sendmessage(self,errinfo):
        wechat.send(‘@all‘,errinfo)
        for key,values in self.mailto:
            mail.send(values,errinfo,‘url访问失败报警‘)
             
    def cfg_dump(self):
        while True:
            for k,v in self.allurl:
                try:
                    res=requests.get(v)
                    print(v,res.status_code)
                    res.close()
                    if res.status_code >= 400:
                        errinfo=v+‘ ‘+str(res.status_code)
                        self.sendmessage(errinfo)
                except:
                    errinfo=v+‘ is error‘
                    print(errinfo+‘\r\n请稍等正在重试...‘)
                    sleep(1)
                    try:
                        res=requests.get(v)
                        res.close()
                    except:
                        print(‘重试仍然无法连接,正在发送微信和邮件报警...‘)
                        self.sendmessage(errinfo)
            sleep(int(self.reload))
 
if __name__ ==‘__main__‘:
    mail=Mail.sendmail()
    wechat=WeChat.WeChat()
    check=checkurl(‘yuming.ini‘)
    check.cfg_load()
    check.cfg_dump()
时间: 2024-11-03 21:38:46

python3监控网站状态的相关文章

监控Linux服务器网站状态的SHELL脚本

1,监控httpd状态码的shell脚本代码. #!/bin/sh #site: www.jquerycn.cn # website[0]=www.jquerycn.cn/chuzu/' #网站1 mobile[0]='13141200000' #对应网站1 手机号码 website[1]=www.jquerycn.cn/chushou/' #同上2 mobile[1]='13141200000' #同上2 #当网站较多时,可以考虑以文件来存储,或从数据库中读取 length=${#websit

定义函数的方式,监控网站的存活状态

定义函数的方式,监控网站的存活状态 #!/bin/bash . /etc/init.d/functions RETVAL=0 SCRIPTS_PATH="/tmp/test" MAIL_GROUP="[email protected]" LOG_FILE=/tmp/test/web.log function GetUrlStatus(){ FAILCOUNT=0 for i in `seq 3`;do wget -T 2 --tries=1 --spider htt

使用shell脚本监控网站运行状态

前言:好久没有写博客了,上来把之前写的博客几乎全都清理掉了,想写的时候写上一些,蛮不错. shell监控网站/tomcat状态,依靠返回状态码来进行判断,返回200,302认为状态是正常的,否则认为tomcat/nginx/LB/Haproxy/apache挂掉了,脚本实现如下: 1. 创建一个站点文件夹,吧需要监控的地址都写到http_site文件里面 vim http_site ### Nginx site begin ### http://192.168.129.86:38020 http

巧妙使用Firebug插件,快速监控网站打开缓慢的原因

原文 巧妙使用Firebug插件,快速监控网站打开缓慢的原因 很多用户会问,我的网站首页才50KB,打开网页用了近60秒才打开?如何解释? 用户抱怨服务器运行缓慢,w3wp.exe 出现 CPU 100%,每个网管都可能遇到?!是用户自己 ASP / PHP 程序设计有问题,还是服务器是问题,还是电信.网通.铁通互相访问太慢.经常是各说各有理,也扯不清,道不明,往往是以客户流失,更换空间商而结束,最后空间商与用户都是输家. 我的网站首页才50KB,打开网页用了近60秒才打开? 这个问题很难解释清

七周一次课 监控系统状态命令

监控系统状态作为一名运维工程师,我们一定要了解我们的系统,如果出现问题,我们要查看哪里出了问题,有什么样的症状.如果我们要查看系统资源耗费情况.需要怎样查看呢?[[email protected] ~]# w20:44:47(当前时间) up 7 min,(启动多长时间) 1 user,(几个用户登录,他可以在第二行详细的看出) load average: 0.00, 0.04, 0.05(重点看系统负载)USER (用户) TTY (登录的终端) FROM(从哪里登录来) [email pro

使用Application Insights监控网站可用性

在评价网站的诸多指标中,可用性肯定是最重要的.一个网站首先要可用才能对其他方面进行评价.网站不可用不能单靠自己人发现或者等用户投诉,需要配备主动手段进行监控.那么我们今天要和大家聊的就是Azure Monitor下面两大服务之一的Application Insights.使用Application Insights我们可以在多个区域,每时每刻都对网站发起访问,当可用性不良时立马告警提醒相关人员进行排查.有了比老板更敏锐的告警,从此晚上可以安心睡觉. Application Insights是Az

zabbix监控php状态

通过nginx调用php-fpm来查询php的状态信息 首先,在php的配置文件中添加一行 vim /usr/local/php/etc/php-fpm.conf pm.status_path = /phpfpmstatus 保存后重启php-fpm 在nginx配置文件中添加代码 server { listen localhost:80; server_name localhost; location /nginxstatus { stub_status on; access_log off;

Zabbix 监控 Nginx 状态

1.获取 Nginx 状态条件( 需要nginx安装模块) [localhost]#/usr/local/nginx/sbin/nginx -V nginx version: nginx/1.8.0built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_sta

iOS边练边学--AFNetWorking框架GET、Post、Download、Upload,数据解析模式以及监控联网状态

一.AFNETWorking简单使用 get请求 get请求,以后经常用NSURLSession底层的写的部分 简单的post请求 用post请求下载文件,方法很多,还可以通过upload任务来执行 download任务 二.框架中的数据解析,默认是将数据按照json来解析,设置方法 三.AFN框架监控联网状态