Prometheus+grafana环境搭建rabbitmq(docker+二进制两种方式安装)(二)

搭建完Prometheus+grafana基础环境后参见:Prometheus+grafana环境搭建方法及流程两种方式(docker和源码包)(一)-CSDN博客,对我本地的一些常用法人服务进行一个监控。基本都可以根据官方文档完成搭建,因为docker和二进制方式安装各有优缺点。

docker适合有容器,有网的环境,启动简单,迁移时也比较方便

二进制包的方式适合无网络的环境,可以将exporter注册为系统服务来管理

所以我对两种方式都进行了尝试安装,更多exporter参见Exporters and integrations | Prometheus

基本步骤都差不多需要注意的主要是配置文件的使用

1.监控rabbitmq

1.1官方地址

GitHub - kbudde/rabbitmq_exporter: Prometheus exporter for RabbitMQ

2.二进制方式安装

1.下载要安装的版本,我这里Linux服务,下载后上传到自己的服务器目录后,使用tar 命令解压,可以专门建一个文件夹来存放各种exporterhttps://github.com/kbudde/rabbitmq_exporter/releases/download/v1.0.0/rabbitmq_exporter_1.0.0_linux_amd64.tar.gz

1.命令方式启动

进入解压后自己的目录 cd rabbitmq_exporter

创建一个配置文件 vi exporter-config.json,(如果都和默认配置一致可以不配置)

{
    "rabbit_url": "http://192.168.3.111:15672", ##控制台地址
    "rabbit_user": "legendyun",
    "rabbit_pass": "123456",
    "publish_port": "9419",    #exporter的地址
}

./rabbitmq_exporter -config-file=exporter-config.json

也可以加个 &让它后台运行

完整的参数可以参照官方文档

2.注册为系统服务

创建一个非root用户

useradd -M -s /usr/sbin/nologin prometheus -M不创建家目录,不允许登录

创建一个文件
vim  /etc/systemd/system/rabbitmq_exporter.service

贴入一下配置 ps:/opt/myexporter/rabbitmq 改为自己的
[Unit]
Description=rabbitmq_exporter
Documentation=https://prometheus.io/

[Service]
User=prometheus
Group=prometheus
ExecStart=/opt/myexporter/rabbitmq/rabbitmq_exporter -config-file=/opt/myexporter/rabbitmq/exporter-config.json


Restart=on-failure
[Install]
WantedBy=multi-user.target



配置完成后
systemctl enable rabbitmq_exporter.service --now
systemctl status rabbitmq_exporter.service

验证服务启动正常 访问192.168.3.111:9419/metrics 查看页面有数据很多,如果只有部分数据则可能配置未生效结合日志排查原因

3.docker方式安装
1.docker命令

rabbitmq-exporter 无法通过exec命令进入容器,所以无法知道内部结构

修改配置通过 -e的方式修改

docker run -d -p 9419:9419 \
  --name rabbitmq_exporter \
  --restart=always \
  -e RABBIT_URL="http://192.168.3.111:15672" \ 
  -e RABBIT_USER: legendyun \
  -e RABBIT_PASSWORD: 123456 \  
  kbudde/rabbitmq-exporter 

其他支持的参数

2.docker-compsoe方式

vim docker-compose.yaml

version: '3.1' 
services:
  rabbitmq_exporter:
    image: kbudde/rabbitmq-exporter
    container_name: rabbitmq_exporter
    restart: always
    ports:
      - '9419:9419'
    environment:
      RABBIT_URL: http://192.168.3.111:15672
      RABBIT_USER: legendyun
      RABBIT_PASSWORD: 123456

docker-compose up -d 启动

验证服务启动正常 访问192.168.3.111:9419/metrics 查看页面有数据很多,如果只有部分数据则可能配置未生效结合日志排查原因

docker log -f rabbitmq_exporter 查看连接地址及有没有报错

4.配置promtheus监控

vim xxx/prometheus/prometheus.yml

追加

  - job_name: 'rabbit-exporter'
    scrape_interval: 15s
    static_configs:
    - targets: ['192.168.3.112:9419'] ####此处是exporter所在服务器的ip
      labels:
        instance: 111-rabbitmq服务器 

刷新配置 在Prometheus所在服务器执行

curl -X POST http://localhost:9090/-/reload

查看验证 访问 prometheus-ip:9090,点击target,点击endpoint 可以正常跳转

点击 graph 可以采集到rabbit相关的数据即为正常

5.配置grafana监控

找到想要的模板 10991

Dashboards | Grafana Labs

导入模板参见Prometheus+grafana环境搭建方法及流程两种方式(docker和源码包)(一)-CSDN博客

相关推荐
JarvisO1 天前
SpringBoot+Redis+RabbitMQ完成增删改查
spring boot·redis·java-rabbitmq
chaodaibing2 天前
elasticsearch_exporter启动报错 failed to fetch and decode node stats
elasticsearch·prometheus
beiback3 天前
Springboot + netty + rabbitmq + myBatis
spring boot·mysql·rabbitmq·mybatis·netty·java-rabbitmq
陌殇殇殇3 天前
Prometheus监控MySQL主从数据库
运维·数据库·mysql·prometheus
福大大架构师每日一题3 天前
19.1 使用k8s的sdk编写一个项目获取pod和node信息
云原生·容器·kubernetes·prometheus
福大大架构师每日一题4 天前
19.3 打镜像部署到k8s中,prometheus配置采集并在grafana看图
kubernetes·grafana·prometheus
我就是菜鸡12294 天前
【RabbitMQ——SpringBoot整合】
spring boot·rabbitmq·java-rabbitmq
J不A秃V头A4 天前
Java使用RabbitMQ的详细教程(原生框架)
java·rabbitmq·java-rabbitmq
每天三杯咖啡4 天前
高度细化的SAGA模式实现:基于Spring Boot与RabbitMQ的跨服务事务
java·spring boot·java-rabbitmq
福大大架构师每日一题4 天前
21.2 k8s中etcd的tls双向认证原理解析
容器·kubernetes·prometheus·etcd