LoginSignup
2
2

More than 5 years have passed since last update.

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

Last updated at Posted at 2014-12-17

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} にて設定可能です

2
2
0

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
  3. You can use dark theme
What you can do with signing up
2
2