ndoutils_mq项目: 发送Nagios的性能、报警、配置文件到RabbitMQ

本人目前开发的一个项目,改造ndoutils,主要是它的ndomod。python

将性能、报警、配置文件使用JSON格式发送到RabbitMQ。ios

因为NEB(Nagios Event Broker)使用C开发,因此ndoutils_mq主要也是C语言。git

项目地址:https://github.com/shelmesky/ndoutils_mqgithub

项目的README:服务器

 

注意:代码仍处于不断更新阶段,请随时更新。

对Nagios的Ndoutils增长向RabbitMQ Server发送消息的功能。

过程: 将消息转换为JSON格式后,经过RabbitMQ的C客户端发送到服务器。

有任何问题可联系:roy@rootk.com

安装方法:
按照正常方法安装ndoutils和RabbitMQ服务器,并将ndomod加载到Nagios中,设置配置文件为:/etc/nagios3/ndomod.cfg。
在ndomod.cfg配置文件中增长如下内容:


# 是否打开NEB向RabbitMQ发送消息的功能
rabbitmq_enabled=1

# RabbitMQ主机
rabbitmq_hostname=127.0.0.1
# RabbitMQ端口
rabbitmq_port=5672
# RabbitMQ用户名
rabbitmq_username=guest
# RabbitMQ密码
rabbitmq_password=guest

# RabbitMQ的virtualhost,默认为/
rabbitmq_virtualhost=/
# 发送消息使用的exchange名称
rabbitmq_exchange=nagios
# 发送消息使用的routing key
rabbitmq_routingkey=nagios


增长以上内容完毕保存,运行目录下的recv.py:
python recv.py

并重启nagios3服务,观察Nagios3的WEB控制台的Event Log有如下输出:
[2013-07-25 16:33:39] NEB message will send to RabbitMQ: [127.0.0.1:5672] [virtualhost:/ exchange:nagios routingkey:nagios]
[2013-07-25 16:33:39] RabbitMQ Init Success.
[2013-07-25 16:33:39] RabbitMQ Library Init...

表示功能正常工做,并能够看到python的客户端已经从RabbitMQ收到消息。 
相关文章
相关标签/搜索