zoukankan      html  css  js  c++  java
  • Promethues:rocketmq_exporter初始化安装

    1.背景

    接前文,之前分享了node_exporter的安装,对于rocketmq而言,不仅要监控最基本的机器信息,同时也要监控rocketmq的服务可用性。常见的一些服务指标包括:producer的消息生产tps,consumer的消费tps,整个集群的broker的tps等。这里我们使用rocketmq-exporter来采集相关的信息。

    2.项目

    3.采集维度

    如下是常见的一些采集维度

    1)broker

    如果你不使用事务的话,如下的两个指标可以看成一样的。

    指标指标
    rocketmq_broker_tps 单个broker的tps(每秒事物处理数)
    rocketmq_broker_qps 单个broker的qps(每秒请求处理数)
     
    2)producer

    主要是生产相关的指标

    指标指标
    rocketmq_producer_tps 单个topic的消息生产的TPS
    rocketmq_producer_message_size 单个topic每秒消息生产的总数据量大小
    rocketmq_producer_offset 单个topic消息生产的offset
     
    3)Consumer Groups
    主要是消费相关的指标
    NameExposed information
    rocketmq_consumer_tps 单consumer组每秒消息的TPS
    rocketmq_consumer_message_size 单consumer组每秒消息消息的总数据大小
    rocketmq_consumer_offset 单consumer组消息的offset
    rocketmq_group_get_latency_by_storetime 单consumer组消息延迟(与对应topic生产的offset差值)
     
    这里列举的是常见的指标, 其他指标参考Github上的帮助说明

    4.安装

    4.1 配置

    如表所示,我们需要配置就rocketmq.config.namesrvAddr和rocketmq.config.rocketmqVersion这两项。

    name
    Default
    Description
    rocketmq.config.namesrvAddr
    127.0.0.1:9876
    这里需要指定为实际的nameserverip
    rocketmq.config.webTelemetryPath
    /metrics
    暴漏出来的metrics的path,不用修改
    server.port
    5557
    监听端口号,一般也不用挨
    rocketmq.config.rocketmqVersion
    V4_7_1
    这里修改为对应rocketmq的版本,比如我使用的就是rocketmq的v4.7.1版本

    4.2 下载项目

    git clone https://github.com/apache/rocketmq-exporter
    cd rocketmq-exporter

    4.3 编译

    编译可以编译二进制版本docker镜像

    4.3.1 编译二进制

    这种方式需要安装maven,执行:
    mvn clean install 

    生成的产物为:rocketmq-exporter-0.0.2-SNAPSHOT.jar 

    4.3.2 编译docker镜像

    这种方式依赖docker环境,需要预装docker环境,参考docker环境搭建
    1)DockerFile修改(否则编译会失败,见FAQ部分)
    执行:vi src/main/docker/Dockerfile,编辑为如下内容(黑体)
    FROM java:8
    MAINTAINER breeze
    ADD rocketmq-exporter-0.0.2-SNAPSHOT.jar quickstart.jar
    EXPOSE 5557
    ENTRYPOINT ["java","-jar","quickstart.jar"]
    2)编译docker镜像
    mvn package -Dmaven.test.skip=true docker:build
    3)查看docker镜像
    docker images | grep rocket


    5. 运行

    5.1 二进制方式

    1)启动
    #nameserver1为实际的nameserver的ip,在/etc/hosts中配置的
    nohup java -jar target/rocketmq-exporter-0.0.2-SNAPSHOT.jar --rocketmq.config.namesrvAddr=nameserver1:9876 -rocketmq.config.rocketmqVersion=V4_7_1 &
    2)停止
    ps aux | grep rocketmq-exporter | awk '{print $2}' | xargs kill -9 

    5.2 docker方式

    1) 启动
    #nameserver1为实际的nameserver的ip,在/etc/hosts中配置的
    docker run -d --name rmq-export --net="host" -p 5557:5557 rocketmq-exporter --rocketmq.config.namesrvAddr=nameserver1:9876 -rocketmq.config.rocketmqVersion=V4_7_1

    2)停止

    docker stop rmq-export

    5.3 查看端口号

    netstat -nltp | grep 5557

    博主:测试生财(一个不为996而996的测开码农)

    座右铭:专注测试开发与自动化运维,努力读书思考写作,为内卷的人生奠定财务自由。

    内容范畴:技术提升,职场杂谈,事业发展,阅读写作,投资理财,健康人生。

    csdn:https://blog.csdn.net/ccgshigao

    博客园:https://www.cnblogs.com/qa-freeroad/

    51cto:https://blog.51cto.com/14900374

    微信公众号:测试生财(定期分享独家内容和资源)

  • 相关阅读:
    Java设计模式(十二) 策略模式
    Java设计模式(二) 工厂方法模式
    Java设计模式(一) 简单工厂模式不简单
    Kafka设计解析(四)- Kafka Consumer设计解析
    Kafka设计解析(三)- Kafka High Availability (下)
    Kafka设计解析(二)- Kafka High Availability (上)
    Spark 灰度发布在十万级节点上的成功实践 CI CD
    Spark SQL / Catalyst 内部原理 与 RBO
    Java进阶(七)正确理解Thread Local的原理与适用场景
    Kafka设计解析(八)- Exactly Once语义与事务机制原理
  • 原文地址:https://www.cnblogs.com/qa-freeroad/p/13831919.html
Copyright © 2011-2022 走看看