首页 > 分享 > 自定义ATS alarm 采集

自定义ATS alarm 采集

2013年5月30日     浏览数:2,071 发表评论 阅读评论

TS 报警功能,当TS故障时能及时将故障信息通过alarm接口输出出来

alarm 调用方式,当ts发送alarm时会去执行”abs_path/bin” “MSG_STRING_FROM_PROXY”

定义执行Bin文件目录

traffic_line -s proxy.config.alarm.abs_path -v /etc/trafficserver/

定义Bin文件

traffic_line -s proxy.config.alarm.bin -v ts_send_alarm.py

需要重启

官方example_alarm_bin.sh

我的脚本内容,我这里用的场景是将alarm信息,传进脚本的第一个参数post到中心alarm接收器上,大家随便玩。

/etc/trafficserver/ts_send_alarm.py “MSG_STRING_FROM_PROXY”

#!/usr/bin/python2

import sys
import time
import socket
import urllib, urllib2

## Variable ----------
ALARM_MSG = sys.argv[1]
HOSTNAME = socket.gethostname()
SEND_RETRY = 3
SEND_TIMEOUT = 3
ALARM_DATE = time.strftime('%Y-%m-%d %H:%M:%S')
ALARM_RECV_CGI = "http://x.x.x.x/cgi-bin/cdn_ts_alarm.py"

args = {
       "do" : "insert",    
       "hostname" : HOSTNAME,
       "msg" : ALARM_MSG,
       "date" : ALARM_DATE
       }

def send_alarm():
    post_args = urllib.urlencode(args)
    req = urllib2.Request(ALARM_RECV_CGI, post_args)

    for t in range(0, SEND_RETRY):
        try:
            print "Retry : %s" % t
            respone = urllib2.urlopen(req, timeout=SEND_TIMEOUT)
            code = respone.getcode()
            if code == 200:
                break
        except urllib2.HTTPError:
            pass
        except urllib2.URLError:
            pass


if __name__ == "__main__":
    send_alarm()

上截图
2013-05-30 22:19:50的屏幕截图 TLD list

分类: 分享 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.