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

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 python
import pika
import sys
import json

connection = 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、配置用户下报警媒介


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值