乐趣区

关于rocketmq:RocketMQ系列二RocketMQ监控告警一站式搭建应用

​试验简介

钻研 RocketMQ 的同学都晓得,RocketMQ 的生态目前并不是很欠缺,包含官网的文档资料也无限,官网的 Console 存在一些 Bug,页面
的款式有的也有问题,然而正是因为这些起因,咱们针对 RocketMQ 能做的事有很多,不像 Kafka,生态曾经很欠缺,一些企业也对 Kafka
做了开源的产品,最近开始做基于 K8S 的 RocketMQ 治理控制台,须要对每个集群有欠缺的监控告警,接下来就简略阐明一下做
RocketMQ 的监控有哪些步骤。

试验地址:https://developer.aliyun.com/…

试验详情

一、试验环境阐明

启动 namesrv。察看到启动胜利的日志后,ctrl + c,终止日志输入。

cd /usr/local/services/5-rocketmq/namesrv-01

restart.sh

启动 broker

批改 broker 配置项 brokerIP1 为试验公网 IP,启动 broker。察看到启动胜利的日志后,ctrl + c,终止日志输入。

操作命令如下:

cd /usr/local/services/5-rocketmq/broker-01

vim ./conf/broker.conf

restart.sh

二、如何编译和部署 RocketMQ

(本教程会以如何利用 RocketMQ Exporter 源码编译并打包,部署一个 Exporter 实例。)

  1. 装置 git,jdk, maven 等工具(以后试验环境曾经装置好。参考或者 baidu/google)

jdk 装置


    
    jdk 下载:https://www.oracle.com/hk/java/technologies/javase/javase8-archive-downloads.html
    
    
    jdk 装置

    
        
        macos:https://juejin.cn/post/6844903878694010893
        
        
        windows:https://www.runoob.com/w3cnote/windows10-java-setup.html
        
    
    



maven 装置


    
    maven 下载二进制:https://dist.apache.org/repos/dist/release/maven/maven-3/
    
    
    maven 装置(windows + macos):https://www.runoob.com/maven/maven-setup.html
    
    
    如果对于国外网站拜访慢,能够配置 maven 国内镜像:https://cloud.tencent.com/developer/article/1452479
    



git 装置 (可选 , 不装置的话间接下载 4.9.3 源代码:https://github.com/apache/rocketmq/releases)


    下载地址:https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git



2.下载代码

在本人电脑上,进入命令行,抉择一个保留源码的目录, 这里我把源码保留到 /tiger/tmp 为例

2.1 创立代码保留目录(已创立则不操作)并进入代码保留目录:

mkdir -p /tiger/tmp
cd /tiger/tmp

2.2 克隆 master 代码

git clone https://github.com/apache/roc…
or
git clone https://gitee.com/mirrors_apa…

2.3 进入源码根目录:

cd rocketmq-exporter

  1. 编译和打包
批改配置文件中的 namesrv 地址


vim src/main/resources/application.yml

执行打包命令


mvn clean package -Dmaven.test.skip=true

编译打包胜利后,咱们执行:

cd target
ls -l

运行 exporter


java -Xms200m -Xmx200m -Xmn200m -jar rocketmq-exporter-0.0.2-SNAPSHOT.jar

查看 exporter 采集后果

通过拜访 http:// 试验公网 IP:30903/metrics, 能够看到采集后果.

三、配置 Prometheus 采集 RocketMQ

(本节将介绍如何在 Prometheus 上配置 RocketMQ Exporter。Prometheus 的部署在这里临时不做更多介绍,试验环境曾经部署好一个 Prometheus,这里咱们间接应用)

1. 启动 RocketMQ Exporter(曾经启动则不必操作)

  1. 启动试验环境 Prometheus 实例
进入 Prometheus 根目录,启动 Prometheus


cd /usr/local/services/3-prometheus

./restart.sh

也能够通过拜访 http:// 试验公网 IP:30902 的模式拜访 prometheus

  1. 配置 Prometheus 采集 RocketMQ Exporter
进入 prometheus 根目录,批改配置文件


cd /usr/local/services/3-prometheus

vim prometheus.yml

执行热加载配置命令


./reload.sh

验证配置是否失效

登录 promethues 页面,通过观察 Targets,咱们看到配置曾经失效了

  1. 在 Prometheus 上查看 RocketMQ Exporter 采集的指标

登录 promethues 首页,通过输出 rocketmq 咱们能够查问到全副 rocketmq 的指标。目前在试验环境中的 Exporter 总共 82 个指标。想理解每个指标的具体含意能够翻看我写的 <<RocketMQ 分布式消息中间件:外围原理与最佳实际 >>, 这外面有对 namesrv,broker 全副配置,exporter 全副指标的含意分享。

四、配置 Grafana 展现 RocketMQ 监控

(本节将介绍如何在 Grafana 上配置 RocketMQ 的监控指标。试验环境曾经装置好了 RocketMQ 集群,RocketMQ Exporter, Prometheus, 只须要启动即可)

1.  启动 Grafana

cd /usr/local/services/4-grafana

./restart.sh

启动实现后,能够拜访 http:// 试验环境公网 IP:30901, 应用账号 rocketmq/rocketmq666 账号密码登录。

  1. 配置 Prometheus 为 Grafana 数据源
找到数据源配置菜单,点击进入


填写 prometheus 信息,保留


创立一个 dashboard, 并创立一个 RocketMQ 指标监控折线图。上面请依照截图操作。
抉择刚刚创立的 Prometheus 数据源,填写一个指标名,则能够预览一个指标的监控曲线。
点击地位 4 时,弹窗提醒保留


tips:Grafana 能够用文件夹的模式保留雷同类型的 Dashboard

  1. 配置一个 Broker 指标监控。

在 RocketMQ 中一个物理集群能够蕴含多个逻辑集群,每个逻辑集群能够有本人的集群名和所蕴含的 Broker。所以这里咱们先配置一个下拉列表抉择集群名、Broker 的关系。

填充一些变量根本信息




变量名,会被曲线图 query sql 中援用


变量展现的名字,仅展现


数据源,这里抉择咱们之前配置的 prometheus


填写查问全副集群名的 query。获取一个指标的全副 label 的值:

label_values(rocketmq_brokeruntime_commitlogdir_capacity_total, cluster)

rocketmq_brokeruntime_commitlogdir_capacity_total 是一个指标名,cluster 是这个指标的 label 名字。

如果步骤 4 正确填写,能够在这里预览全副的集群名。

点击 update 能够保留一个集群变量。

上面咱们配置抉择好一个集群后,主动筛选出这个集群中的 broker,整个步骤和创立一个变量是一样的,只是 query 中会援用另一个变量:

label_values(rocketmq_brokeruntime_commitlogdir_capacity_total{cluster=”$clusterName”}, brokerIP)

保留后,咱们查看最初的成果

还有一个问题,抉择了一个集群,一个 broker 后,曲线数据没有变动呢?因为曲线没有和变量联动。

这里以下面配置的曲线为例,批改 query:

rocketmq_brokeruntime_commitlog_disk_ratio{cluster=”$clusterName”, brokerIP=”$broker”}

批改后果为:

点击保留后,曲线的指标和集群、broker 就会联动。

五、RocketMQ 官网举荐大盘配置

通过上一节的学习,咱们晓得 RocketMQ 有很多指标,如果挨个配置曲线比拟吃力。Grafana 社区曾经收集了很多罕用组件的大盘配置,拿到后间接导入本人的 Grafana。

上面咱们找到 RocketMQ 的 dashboard,而后导入试验环境。

进入 dashboard 仓库地址:https://grafana.com/grafana/dashboards/,输出 rocketmq 搜寻


抉择一个你喜爱的 dashboard,点击进去,下载 dashboard 的 json 字符串。
导入 Grafana, 并保留。

抉择刚刚下载的 json 文件,导入即可。

抉择已有的 RocketMQ 数据源, 点击导入。

导入实现后咱们能够看到后果

·  想理解更多场景细节请返回云起实验室

立刻返回:https://developer.aliyun.com/…

退出移动版