object-python-監(jiān)控web狀態(tài)-nagios-plug

#! /usr/bin/env python2.6
# 2013-1-28
# written by Tony.yang
#

import os
import sys
import getopt
import urllib

def usage():
        print """
---------------------------------------------------------------------------------------------
| Tony-warn: This nagios receiving return status.(0:OK; 1:WARNING;  2:CRITICAL;  3:UNKNOWN) |
---------------------------------------------------------------------------------------------
Usage: check_web_status [-h|--help] [-u|--url value] [-s|--status url_status]

If url_status is not %s of the url, the script will send critical message. % (url_status)
"""
        sys.exit(3)

# obtain command args
try:
        options, args = getopt.getopt(sys.argv[1:], 'hu:s:', '--help --url= --status=')
except getopt.GetoptError:
        usage()
        sys.exit(3)

#
argUrl = 'http://__init__'
argStatus = '200__init__'

#
for name, value in options:
        if name in ('-h', '--help'):
                usage()
        if name in ('-u', '--url'):
                try:
                        argUrl = value
                except Exception:
                        print "Unable to converting char URL\n"
        if name in ('-s', '--status'):
                try:
                        argStatus = value
                except Exception:
                        print "Unable to converting char STATUS\n"
                        usage()

try:
        Status_url = urllib.urlopen(argUrl).getcode()
        #print  "WEB: %s" % Status_url
except Exception:
        print "GETLOADAVG UNKNOWN: Error while requesting this URL"
        sys.exit(3)

if str(argStatus) == str(Status_url):
        print "WEBURL OK: This %s state is %s" % (argUrl, Status_url)
        print "0"
        sys.exit(0)
else:
        #print "weburl xx: the url is %s" % (argStatus)
        print "WEBURL CRITICAL: This %s state is %s" % (argUrl, Status_url)
        print "2"
        sys.exit(2)


備注:
此腳本使用起來很靈活,可以和nagios使用起來也很方便,廢話不多說,看實例:
python2.6 check_web_status.py -u yoururl -s yoururl_status(200, 301, 302, 404, 500 ... 都可以)

[xxx@xxx 10:32:47 ]# /usr/bin/python2.6 check_web_status.py -u http://www.8558.com/ -s 200
WEBURL OK: This http://www.8558.com/ state is 200
0  <----為nagios返回0
[xxx@xxx 10:32:47 ]# /usr/bin/python2.6 check_web_status.py -u http://www.8558.com/index.ph -s 200
WEBURL CRITICAL: This http://www.8558.com/index.ph state is 404
2  <----為nagios返回2


解釋:-u 參數(shù)后面可以加你要監(jiān)控的網(wǎng)址。
            -s  參數(shù)后面可以加你要監(jiān)控網(wǎng)址的狀態(tài),如何你監(jiān)控的狀態(tài)是301,那么除了301狀態(tài),其他的會報警給nagios。

創(chuàng)新互聯(lián)建站致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,包括成都做網(wǎng)站、成都網(wǎng)站制作、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營銷策劃推廣、電子商務(wù)、移動互聯(lián)網(wǎng)營銷等。創(chuàng)新互聯(lián)建站為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)建站核心團(tuán)隊10年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗,為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。

網(wǎng)站欄目:object-python-監(jiān)控web狀態(tài)-nagios-plug
URL分享:http://bm7419.com/article48/gijdep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、搜索引擎優(yōu)化、自適應(yīng)網(wǎng)站用戶體驗、網(wǎng)站設(shè)計公司、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)