zabbix 通过python脚本将报警信息发送到rabbitMQ

来源:互联网 发布:编程需要哪些基础知识 编辑:程序博客网 时间:2024/05/20 20:58

1、查看zabbix-server 的配置文件中 AlertScriptsPath 的配置

### Option: AlertScriptsPath
#       Full path to location of custom alert scripts.
#       Default depends on compilation options.
#
# Mandatory: no
# Default:
AlertScriptsPath=/usr/share/zabbix/alertscripts

注:如果修改了默认配置,需要重启zabbix-server

2、在/usr/share/zabbix/alertscripts目录,编写python脚本

脚本如下:test.py

#!/usr/bin/env pythonimport pikaimport sysimport jsonconnection = pika.BlockingConnection(pika.connection.URLParameters('amqp://username:password@192.168.102.134:5672/ECI.HOST'))channel = connection.channel()#channel.exchange_declare(exchange='amp.msgpush',type='topic')routing_key = sys.argv[1] if len(sys.argv) > 1 else 'wechat.push'#f=file('/usr/share/zabbix/alertscripts/test.log','w+')#f.write(sys.argv[2])#f.close()MESS=sys.argv[2].split(',')#data={}data["TRIGGERNAME"]=MESS[0]data["TRIGGERSTATUS"]=MESS[1]data["TRIGGERSEVERITY"]=MESS[2]data["HOSTNAME"]=MESS[3]data["EVENTDATE"]=MESS[4]data["EVENTTIME"]=MESS[5]data["TRIGGERKEY"]=MESS[6]data["ITEMNAME1"]=MESS[7]data["ITEMVALUE1"]=MESS[8]message=json.dumps(data)#message = ' '.join(sys.argv[2:]) or 'Hello World!'channel.basic_publish(exchange='amp.msgpush',                      routing_key=routing_key,                      body=message)#print(" [x] Sent %r:%r" % (routing_key, message))connection.close()

3、报警媒介类型



4、配置动作(action )



5、配置用户下报警媒介


0 0
原创粉丝点击