zoukankan      html  css  js  c++  java
  • Prometheus + Grafana(九)系统监控之RabbitMQ

    前言

    第一种: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 官方监控介绍: 

    本文是采用第二种方式实现。

    安装rabbitmq_exporter

    注:在RabbitMQ集群下的任意一个节点部署它。

    • 上传解压

    https://github.com/kbudde/rabbitmq_exporter/releases 下载并上传rabbitmq_exporter-0.29.0.linux-amd64.tar安装包并解压到/usr/local目录

    wget https://github.com/kbudde/rabbitmq_exporter/releases/download/v0.29.0/rabbitmq_exporter-0.20.0.linux-amd64.tar.gz
    tar -xvf rabbitmq_exporter-0.29.0.linux-amd64.tar
    cd rabbitmq_exporter-0.29.0.linux-amd64/
    • 配置

    使用默认配置

    • 启动

    进入根目录下,输入以下命令:

    cd /usr/local/rabbitmq_exporter-0.29.0.linux-amd64
    RABBIT_USER=zat RABBIT_PASSWORD=zat123 OUTPUT_FORMAT=json PUBLIC_PORT=9090 RABBIT_URL=http://localhost:15672 nohup ./rabbitmq_exporter &
    tail -1000f nohup.out

    参数说明:

    RABBIT_USER:rabbit用户名

    RABBIT_PASSWORD:rabbit密码

    RABBIT_URL:rabbit服务地址和端口

    OUTPUT_FORMAT:输出格式

    PUBLIC_PORT:暴露端口

    启动成功后,可以访问 http://10.0.101.100:9090/metrics/ ,(IP和端口要改成相应环境的)

    看抓取的信息如下:

     

    Prometheus配置

    • 配置

    修改prometheus组件的prometheus.yml加入rabbitMQ节点:

    vi /usr/local/prometheus-2.15.1/prometheus.yml

    • 启动验证

    先kill掉Prometheus进程,用以下命令重启它,然后查看targets:

    cd /usr/local/prometheus-2.15.1
    nohup ./prometheus --config.file=prometheus.yml &

    注:State=UP,说明成功

    Grafana配置

    • 导入仪表盘模板

    通过浏览器访问:http://grafana服务器IP:3000

    导入监控图表

    以上仪表盘导入后再结合自身业务修改过的最终仪表盘:

    • 预警指标

    序号

    预警名称

    预警规则

    描述

    1

    集群状态预警

    当集群状态不符合预期【!=1】时进行预警

    2

    节点状态预警

    当节点状态不符合预期【!=1】时进行预警

    3

    等待消费预警

    当等待消费的消息数量达到阈值【>1000】时进行预警

    延迟消费

    4

    消费预警

    当消费中的消息数量达到阈值【>1000】时进行预警

    消费速度慢

  • 相关阅读:
    java的多线程学习,第二记
    java多线程的学习
    长城
    2018-12-6
    mysql的笔记
    springboot用jpa生成表,没有外键
    idea 使用方法
    Oracle数据库中文乱码问题
    JAVA-Could not create the Java virtual machine java启动失败
    log4j日志如何在ssh中配置?
  • 原文地址:https://www.cnblogs.com/caoweixiong/p/12736573.html
Copyright © 2011-2022 走看看