import json
import pika
#队列生产者函数
result={'alert':True}
def productor(msg):
#建立连接
userx=pika.PlainCredentials("admin","admin")
conn=pika.BlockingConnection(pika.ConnectionParameters("20.4.32.84",5672,'/',credentials=userx))
#开辟管道
channelx=conn.channel()
#创建交换机
channelx.exchange_declare(exchange='zabbix_alert_exchange',exchange_type='direct',auto_delete=False)
#创建队列并绑定交换机S
channelx.queue_declare(queue="zabbix_alert_query", durable=False, auto_delete=False)
channelx.queue_bind(queue="zabbix_alert_query", exchange='zabbix_alert_exchange', routing_key="zabbix_alert_key")
#发送数据,发送一条,如果要发送多条则复制此段
channelx.basic_publish(exchange="zabbix_alert_exchange",
routing_key="zabbix_alert_key",# 队列名
body=str(msg).encode(), # 发送的数据,
# properties=pika.BasicProperties(
# delivery_mode=2
# )
)
print("--------发送告警数据完成:%s-----------" % (str(msg)))
#关闭连接
conn.close()
productor(json.dumps(result))