search
LoginSignup
2

More than 5 years have passed since last update.

posted at

updated at

[blackbird-rabbitmq] blackbird で rabbitmq をモニタリングする

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 にあります

/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 秒がデフォルトですが、変更したい場合は

/etc/blackbird/conf.d/rabbitmq.cfg
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 上と合わせてください

/etc/blackbird/conf.d/rabbitmq.cfg
hostname = your_static_hostname

ディスカバリについて

vhostqueue の名前はディスカバリで見つけてきます
また上記 Zabbix Template では queue の数が 2000 と 5000 を超えた時に Trigger が上がるようになっていますので、適宜閾値を変えてください
Zabbix Template 上の macro {$TRG_RABBITMQ_QUEUE_CRIT}{$TRG_RABBITMQ_QUEUE_WARN} にて設定可能です

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2