blackbird rabbitmq plugin
この plugin では rabbitmq の API から様々な情報を取得し、backend にデータを送信します
手元の環境では下記の rabbitmq の version で確認してます
- rabbitmq 3.2
- rabbitmq 3.3
- rabbitmq 3.4
Install
blackbird 本体
こちらを参考に install してください
Install rabbitmq plugin
setup.py で入れる方法と rpm で入れる方法があります
setup.py で install
git clone https://github.com/Vagrants/blackbird-rabbitmq.git
cd blackbird-rabbitmq
python setup.py install
rpm で install
yum install blackbird-rabbitmq --enablerepo=blackbird
rabbitmq 側で management plugin を有効にする
rabbitmq の API は management plugin によって提供されますので有効化してください
$ sudo rabbitmq-plugins enable rabbitmq_management
いくつか依存で他の plugin も有効になると思います
$ sudo rabbitmq-plugins list
Configured: E = explicitly enabled; e = implicitly enabled
| Status: * = running on rabbit@makocchi
|/
[e*] amqp_client 3.4.2
[ ] cowboy 0.5.0-rmq3.4.2-git4b93c2d
[ ] eldap 3.4.2-gite309de4
[e*] mochiweb 2.7.0-rmq3.4.2-git680dba8
[ ] rabbitmq_amqp1_0 3.4.2
[ ] rabbitmq_auth_backend_ldap 3.4.2
[ ] rabbitmq_auth_mechanism_ssl 3.4.2
[ ] rabbitmq_consistent_hash_exchange 3.4.2
[ ] rabbitmq_federation 3.4.2
[ ] rabbitmq_federation_management 3.4.2
[E*] rabbitmq_management 3.4.2
[e*] rabbitmq_management_agent 3.4.2
[ ] rabbitmq_management_visualiser 3.4.2
[ ] rabbitmq_mqtt 3.4.2
[ ] rabbitmq_shovel 3.4.2
[ ] rabbitmq_shovel_management 3.4.2
[ ] rabbitmq_stomp 3.4.2
[ ] rabbitmq_test 3.4.2
[ ] rabbitmq_tracing 3.4.2
[e*] rabbitmq_web_dispatch 3.4.2
[ ] rabbitmq_web_stomp 3.4.2
[ ] rabbitmq_web_stomp_examples 3.4.2
[ ] sockjs 0.3.4-rmq3.4.2-git3132eb9
[e*] webmachine 1.10.3-rmq3.4.2-gite9359c7
デフォルトでは port 15672 が Listen になると思います (version が古いと 55672)
plugin の設定をする
config は /etc/blackbird/conf.d/rabbitmq.cfg
にあります
[rabbitmq]
module = rabbitmq
# default values
#
#api_user = guest
#api_pass = guest
#api_host = localhost
#api_port = 15672
#timeout = 3
#ssl = False
API で取得する際の user と pass を変更している場合は上記で設定してください
監視の間隔は 60 秒がデフォルトですが、変更したい場合は
interval = 30
のように指定してください
設定が終わったら blackbird
を再起動させます
sudo /etc/init.d/blackbird restart
Zabbix 上でデータが入ってきているか確認する
Zabbix の Template は github の repositoryにあります
Zabbix に import して対象のサーバーに適用させて下さい
Zabbix 上の host 名と blackbird が起動しているサーバーの host 名が違う場合は /etc/blackbird/conf.d/rabbitmq.cfg
上で hostname を設定してあげる必要があります
Zabbix 上と合わせてください
hostname = your_static_hostname
ディスカバリについて
vhost
と queue
の名前はディスカバリで見つけてきます
また上記 Zabbix Template では queue
の数が 2000 と 5000 を超えた時に Trigger が上がるようになっていますので、適宜閾値を変えてください
Zabbix Template 上の macro {$TRG_RABBITMQ_QUEUE_CRIT}
と {$TRG_RABBITMQ_QUEUE_WARN}
にて設定可能です