前言
第一种:RabbitMQ内部集成Prometheus来获取指标
3.8.0之前版本,RabbitMQ可以使用单独的插件prometheus_rabbitmq_exporter来向Prometheus公开指标,要单独下载到RabbitMQ安装目录中进行安装;
prometheus_rabbitmq_exporter: https://github.com/deadtrickster/prometheus_rabbitmq_exporter
3.8.0版开始,RabbitMQ附带了内置的Prometheus&Grafana支持。虽然内置了该插件,但也要进行安装
rabbitmq-prometheus:https://github.com/rabbitmq/rabbitmq-prometheus
第二种:使用独立程序来获取指标(RabbitMQ_exporter)
不管什么版本都能使用,要单独启动exporter进程
rabbitmq_exporter:https://github.com/kbudde/rabbitmq_exporter
RabbitMQ 官方监控介绍:
https://www.rabbitmq.com/monitoring.html
https://www.rabbitmq.com/prometheus.html#overview-prometheus
本文是采用第二种方式实现。
1.下载 rabbitmq_exporter
访问官网地址下载https://github.com/kbudde/rabbitmq_exporter/releases
mkdir -p /opt/agent
cd /opt/agent
wget https://github.com/kbudde/rabbitmq_exporter/releases/download/v1.0.0-RC8/rabbitmq_exporter-1.0.0-RC8.linux-amd64.tar.gz
2.配置 systemd 管理
2.1 创建启动用户和用户组
useradd -M -s /sbin/nologin prometheus
2.2 创建rabbitmq_exporter.service
# vim /etc/systemd/system/rabbitmq-exporter.service
[Unit]
Description=rabbitmq-export service agent by jonnyan404
Requires=network-online.target
After=network-online.target
[Service]
Environment=RABBIT_USER=admin
Environment=RABBIT_PASSWORD=admin
Environment=RABBIT_URL=http://localhost:15672
User=prometheus
Group=prometheus
Restart=on-failure
ExecStart=/opt/agent/rabbitmq_exporter
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
TimeoutStopSec=5
[Install]
WantedBy=multi-user.target
2.3 设置开机自启并启动
systemctl enable rabbitmq-exporter.service
systemctl start rabbitmq-exporter.service
2.4 查看日志
journalctl -u rabbitmq-exporter.service
3. 配置自动发现的主机列表
基于 file_sd_configs
有 yaml和json两种格式,这里我们采用yaml
- yaml格式
# vim /opt/jonnyan404/prometheus/target/rabbitmq.yml 文件名字自己取
- targets: ['192.168.1.220:9419']
labels:
env: 'rabbitmq'
region: 'us-west-2'
- targets: ['192.168.1.221:9419']
labels:
env: 'rabbitmq'
region: 'ap-southeast-1'
4. 配置告警规则
- vim /opt/jonnyan404/prometheus/rules/rabbitmq-exporter-record.yml
暂无
- vim /opt/jonnyan404/prometheus/rules/rabbitmq-exporter-alert.yml
暂无
5.重启prometheus,使规则生效
docker restart prometheus
6.导入grafana模板
- ID: 4279