RabbitMQ的Monitoring文档中介绍了各种监控RabbitMQ的方式。 其中推荐了第三方的Prometheus Plugin, 这是一个第三方实现RabbitMQ的管理插件,可以作为Prometheus的RabbitMQ Exporter。
安装RabbitMQ Prometheus Plugin
这里RabbitMQ的版本为3.6.14,Erlang版本为Erlang R16B03-1,从Release for latest RabbitMQ 3.6.x versions这个链接中下载以下插件:
accept-0.3.3.ez
prometheus-3.4.0.ez
prometheus_httpd-2.1.4.ez
prometheus_process_collector-1.1.0.ez
prometheus_rabbitmq_exporter-v3.6.12.1.ez将下载的插件拷贝到RabbitMQ的插件目录,rpm形式安装的RabbitMQ的插件目录位于/usr/lib/rabbitmq/plugins下。
启用插件:
rabbitmq-plugins enable accept
rabbitmq-plugins enable prometheus
rabbitmq-plugins enable prometheus_httpd
rabbitmq-plugins enable prometheus_rabbitmq_exporter
rabbitmq-plugins enable prometheus_process_collector重启RabbitMQ,访问http://<ip>:15672/api/metrics可以得到RabbitMQ Exporter暴露的metrics。
配置Prometheus
Prometheus的配置文件中增加如下内容:
- job_name: 'rabbitmq'
metrics_path: /api/metrics
static_configs:
- targets:
- 192.168.1.3:15672
labels:
instance: s3
- targets:
- 192.168.1.4:15672
labels:
instance: s4
- targets:
- 192.168.1.5:15672
labels:
instance: s5- 注意metrics path为/api/metrics
Grafana配置
下载Grafana Dashboard https://raw.githubusercontent.com/deadtrickster/prometheus_rabbitmq_exporter/master/priv/dashboards/RabbitMQErlangVM.json。
将上面的dashboar导入后需要做一些修改,加入host变量,并修改各个图表的PromQL加入host变量作为查询条件,通过下拉列表选择查看不同rabbitmq节点的Dashboard。
