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收到消息。 
相關文章
相關標籤/搜索