web服务监控邮件告警python程序

状态码基本类型:

100-199 用于指定客户端应相应的某些动作。 
200-299 用于表示请求成功。 
300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。 
400-499 用于指出客户端的错误。 
500-599 用于支持服务器错误。

我这个监控主要是监控网站首页的状态码200,这个简单一点,没有301跳转啊什么的。虽然有zabbix监控,但感觉自己写的一个还是挺简单的。就是根据上一篇的linux监控python程序扩展了一下。用之前先检查一下看看要监控的web的状态码是不是200啊!我这是有三台阿里云的网站,所以用了一个for循环三个网站的首页地址。

#/usr/bin/env python
# -*- coding: utf-8 -*-
import os,sys
import smtplib
import fcntl
import struct
import pycurl
import string

list=["http://www.xxx","http://xxx/forum.php","http://xxx/index.html","http://xxxx/"]
for URL in list:
    c = pycurl.Curl()
    c.setopt(pycurl.URL, URL)
    indexfile = open(os.path.dirname(os.path.realpath(__file__))+"/content.txt", "wb")
    c.setopt(pycurl.WRITEHEADER, indexfile)
    c.setopt(pycurl.WRITEDATA, indexfile)
    try:
        c.perform()
    except Exception,e:
        print "connecion error:"+str(e)
        indexfile.close()
        c.close()
        sys.exit()               
    HTTP_CODE =  c.getinfo(c.HTTP_CODE)
    print "HTTP状态码:%s" % (HTTP_CODE)#这一句可以不要,调试用的

HOST = "smtp.qq.com"
SUBJECT = "网站服务状态信息"
TO = "[email protected]"

FROM = "[email protected]"
text = "网站挂了快跑啊 http server is down"
BODY = string.join((
                   "From: %s" % FROM,
                   "To: %s" % TO,
                   "Subject: %s" % SUBJECT ,
                   "",
                   text
                   ),"\r\n")

def sendemail():
    server = smtplib.SMTP()
    server.connect(HOST,"25")
    server.starttls()
    server.login("[email protected]","password")
    if HTTP_CODE != 200:
        server.sendmail(FROM, [TO], BODY)
        server.quit()
    else:
        print "http server is ok"
if __name__ == ‘__main__‘:
    sendemail()

为了发邮件测试我特别加了一个有跳转的网页,哇咔咔!Game  over

时间: 2024-10-17 06:44:29

web服务监控邮件告警python程序的相关文章

linux服务器登录邮件告警python程序

linux服务器用户登录邮件告警python小程序,一旦有人登录服务器就发邮件通知系统管理员.作为SA有些服务器只有自己可以登录的,你懂的!可有时候会被研发坑,被运维坑.为了全面掌控服务器,配置一个用户登录系统邮件通知,是很必要滴! 比较渣渣的一个脚本,不过在次基础上可以很容易的扩展滴.直接上代码了. #!/usr/bin/python#coding:utf8import smtplibimport stringimport psutilimport datetime HOST = "smtp.

Zabbix3.2邮件告警python脚本

一.概述及环境要求 1.概述 zabbix监控也起到重要作用,以下是使用python脚本发送告警邮件配置方法.之前使用过sendemail邮件报警但是发现邮件主题为中文时候会出现乱码的问题. 2.环境安装要求 Zabbix软件版本:zabbix3.2.6 操作系统:CentOS release 6.8 (Final) 二.脚本创建及测试 1.查看配置zabbix_server.conf ,找到AlertScriptsPath,查看路径位置,如被注释,将注释打开,把send.py 文件保存到该目录

阿里云创建邮件告警 python 脚本,执行超时

现象:做了一个邮件告警脚本,python 写的,名称 mail.py,内容如下 #!/usr/bin/python #coding:utf-8 import smtplib from email.mime.text import MIMEText import sys mail_user = '[email protected]' mail_pass = '8xxxxxxxxxxxxj' def send_mail(to_list,subject,content): me = "zabbix 监

联合使用 HTML 5、地理定位 API 和 Web 服务来创建移动混搭程序

查找并跟踪位置坐标以用在各种 Web 服务中 在这个由五个部分所组成的系列的第一部分中,您将接触到移动 Web 应用程序中最流行的新技术:地理定位.高端智能手机都内置 GPS,现在您将了解 Web 服务如何使用它.在本文中,您将学到如何使用各种地理定位标准,以及如何使用流行的 Web 服务来创建有趣的移动混搭程序. 关于本系列? HTML 5 是一项让人振奋的技术,这有着充分的理由.这将会是一次技术突破,因为它可以将桌面应用程序功能带入浏览器中.除了传统浏览器外,对于移动浏览器,其潜力甚至更大.

zabbix系统邮件告警Python脚本

zabbix系统邮件告警配置有很多方式,如系统自带的mail,还有zabbix+msmtp+mutt,但是使用Python脚本应该来说还是一个非常简捷有效的方式.主要有如下步骤: 1.设置zabbix_server.conf文件 AlterScript = /usr/local/zabbix/share/zabbix/alterscript 2.建立告警脚本 cd /usr/local/zabbix/share/zabbix/alterscript/ sudo vim sendEmail.sh

zabbix邮件告警python脚本

#!/usr/bin/python # -*- coding: utf-8 -*- """ Zabbix SMTP Alert script from qq. auth:json """ import sys import email import smtplib import os from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipar

《shell脚本系统监控-------邮件告警》

我与众多同学一样,在没有学习shell编程之前是对shell编程是一头雾水的,然而它能做什么我也不知道,就是觉得能够使用一个与别人不一样的方式去管理系统.现在我慢慢的懂shell的重要性,为小型的机房里面做一个小小的shell监控足够,当然大型的机房不能使用shell来监控系统,因为大型机房监控的机器有很多,而它们的状态是以报表和图形界面的形式来汇报问题的. 接下来我写一篇关于怎么用shell来进行系统监控并在进行发送邮件. 创建一个文件: vim monitor.sh #/bin/bash  

Python Web 服务开发者: 第 1 部分

Python Web 服务开发者: 第 1 部分 Python Web 服务世界 Python 的座右铭一向是“装备齐全”,这是指在安装该语言时会附带一大套标准库和功能程序.本文概述了在 Python 中开发 Web 服务时可以使用的工具和功能程序.这些工具和功能程序包括内置的 Python 功能和第三方开放源代码的工具 0 评论: Mike Olson([email protected])Fourthought, Inc. Uche Ogbuji([email protected])Fourt

HTTP服务基础 、 网页内容访问 、 安全Web服务 、 部署动态网站-day09

############################################################################################检测两台虚拟机:1.ip地址 #ifconfig | head -22.检测dns是否可以解析#vim /etc/resolv.conf                  //dns配置文件#nslookup desktop0.example.com      //dns检测3.检测yum是否可以使用#yum cl