使用Prometheus监控RabbitMQ
2017-11-16
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这个链接中下载以下插件:
1accept-0.3.3.ez
2prometheus-3.4.0.ez
3prometheus_httpd-2.1.4.ez
4prometheus_process_collector-1.1.0.ez
5prometheus_rabbitmq_exporter-v3.6.12.1.ez
将下载的插件拷贝到RabbitMQ的插件目录,rpm形式安装的RabbitMQ的插件目录位于/usr/lib/rabbitmq/plugins
下。
启用插件:
1rabbitmq-plugins enable accept
2rabbitmq-plugins enable prometheus
3rabbitmq-plugins enable prometheus_httpd
4rabbitmq-plugins enable prometheus_rabbitmq_exporter
5rabbitmq-plugins enable prometheus_process_collector
重启RabbitMQ,访问http://<ip>:15672/api/metrics
可以得到RabbitMQ Exporter暴露的metrics。
配置Prometheus #
Prometheus的配置文件中增加如下内容:
1- job_name: 'rabbitmq'
2 metrics_path: /api/metrics
3 static_configs:
4 - targets:
5 - 192.168.1.3:15672
6 labels:
7 instance: s3
8 - targets:
9 - 192.168.1.4:15672
10 labels:
11 instance: s4
12 - targets:
13 - 192.168.1.5:15672
14 labels:
15 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。