【RocketMQ】从零搭建一套RocketMQ监控(rocketmq-exporter + Prometheus + Grafana)
文章目录
- 前言
- 部署rocketmq-exporter
- 安装Prometheus
- 安装Grafana
- 配置Grafana数据源
- 配置RocketMQ监控页面
前言
研究RocketMQ的同学都知道,RocketMQ的生态目前并不是很完善,包括官方的文档资料也有限,官方的Console存在一些Bug,页面的样式有的也有问题,但是正是由于这些原因,我们针对RocketMQ能做的事有很多,不像Kafka,生态已经很完善,一些企业也对Kafka做了开源的产品,最近开始做基于K8S的RocketMQ管理控制台,需要对每个集群有完善的监控告警,接下来就简单说明一下做RocketMQ的监控有哪些步骤。
部署rocketmq-exporter
以下操作基于Linux系统。
首先需要下载官方rocketmq-exporter的源码,需要修改几个配置
GitHub地址:https://github.com/apache/rocketmq-exporter.git
1、修改application.yml配置文件
需要修改nameserver地址,端口号根据自己的情况修改
2、修改日志路径:
3、修改pom文件中rocketmq的版本:
4、如果maven打包报错,注释这部分内容:
执行完以上的修改之后,打jar包,上传到服务器,启动即可,启动脚本可以参考如下,涉及的路径换成自己的即可:
#!/bin/bashPID=`ps -ef | grep '/neworiental/rocketmq/rocketmq-exporter' | grep -v grep | awk '{print $2}'`
if [[ "" != "$PID" ]]; thenecho "killing rocketmq-exporter : $PID"kill $PID
fisleep 1LOGS_DIR=/neworiental/rocketmq/rocketmq-exporter/logsMAIN_JAR="-jar /neworiental/rocketmq/rocketmq-exporter/rocketmq-exporter-0.0.2-SNAPSHOT.jar "
JAVA_ARGS="-server -Xms4096m -Xmx4096m -XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:ThreadStackSize=512 -Xloggc:${LOGS_DIR}/gc.log "if [ ! -d ${LOGS_DIR} ]
thenmkdir -p ${LOGS_DIR}
fi
echo ${JAVA_ARGS} ${MAIN_JAR} ${CLASSPATH}
nohup java ${JAVA_ARGS} ${MAIN_JAR} >/dev/null 2>&1 &
echo "deploying rocketmq-exporter-0.0.2-SNAPSHOT.jar now ..."
安装Prometheus
1、下载二进制包:https://prometheus.io/download/#prometheus
上传二进制包到服务器,我下载下来是.tar结尾的,直接tar -xvf prometheus-2.29.1.linux-amd64.tar
[root@iZ2ze434lxf5ptmro9mmprZ prometheus-2.29.1]# ll
total 188716
drwxr-xr-x 2 3434 3434 38 Aug 11 22:56 console_libraries
drwxr-xr-x 2 3434 3434 173 Aug 11 22:56 consoles
drwxr-xr-x 9 root root 240 Aug 17 19:00 data
-rw-r--r-- 1 3434 3434 11357 Aug 11 22:56 LICENSE
-rw-r--r-- 1 3434 3434 3646 Aug 11 22:56 NOTICE
-rwxr-xr-x 1 3434 3434 102094829 Aug 11 22:51 prometheus
-rw------- 1 root root 942 Aug 17 15:46 prometheus.yml
-rwxr-xr-x 1 3434 3434 91126074 Aug 11 22:53 promtool
修改prometheus.yml配置文件,添加rocketmq-exporter的监听配置
将targets中的ip端口改成自己的rocketmq-exporter的即可。
[root@iZ2ze434lxf5ptmro9mmprZ prometheus-2.29.1]# cat prometheus.yml
# my global config
global:scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.# scrape_timeout is set to the global default (10s).# Alertmanager configuration
alerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:# - "first_rules.yml"# - "second_rules.yml"# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: "prometheus"static_configs:- targets: ["localhost:9090"]- job_name: "RocketMQ"static_configs:- targets: ["ip:端口"]
[root@iZ2ze434lxf5ptmro9mmprZ prometheus-2.29.1]#
进入bin目录下,启动Prometheus:
./prometheus --config.file=./prometheus.yml &
检验是否启动成功,使用prometheus所在机器ip加上9090端口号访问:
可以看到Prometheus已经启动成功,并且rocketmq-exporter采集的指标也收集到了。
安装Grafana
1、使用yum安装:yum -y install grafana-8.1.1
安装完之后,配置文件在/etc/grafana下
[root@iZ2ze434lxf5ptmro9mmprZ neworiental]#
[root@iZ2ze434lxf5ptmro9mmprZ neworiental]# whereis grafana
grafana: /etc/grafana /usr/share/grafana
[root@iZ2ze434lxf5ptmro9mmprZ neworiental]#
[root@iZ2ze434lxf5ptmro9mmprZ neworiental]#
2、启动Grafana:systemctl start grafana-server.service,启动后使用3000端口访问:
默认用户名密码都是admin,第一次登陆会提示修改
配置Grafana数据源
进入Grafana之后,需要先配置之前搭建的Prometheus为数据来源:
点击添加按钮,因为我之前添加过,所以列表中有了一个:
修改名称,填写你的prometheus地址即可:
最后别忘了先测试一下:
配置RocketMQ监控页面
进入管理页面之后,选择导入模版,因为已经有现成的模版,可以直接使用,也可以根据自己的需求自己定制
查看已有的grafana模版:https://grafana.com/grafana/dashboards
之前只有第一个,做得很糟,本来想自己设计了,没想到最近刚有大佬上传一个新的,点击进去之后,复制模版ID
回到Grafana导入界面,输入模板ID:
下一步,选择数据源:
导入之后,大功告成:
因为是我之前导入的,所以有历史的数据,这个模版就比原来的要直观很多,后续可以根据Prometheus采集到的指标,自定义Panel,根据自己的需求来做监控。
【RocketMQ】从零搭建一套RocketMQ监控(rocketmq-exporter + Prometheus + Grafana)相关推荐
- 从零搭建一套结构光3D重建系统[理论+源码+实践]
01 背景介绍 图1 典型3D结构光系统 尽管结构光作为一种已经相当成熟,并且广泛应用的三维重建技术,不同于深度学习,依旧缺乏相关的课程,网上的开源资料寥寥无几,即使有,也是晦涩难懂,许多刚入门的研究 ...
- Grafana监控系统之Prometheus+Grafana监控系统搭建
Grafana监控系统之Prometheus+Grafana监控系统搭建 本文章内容较长,可通过右上角点击目录快速定位想看的内容 => => 一. 概述 1.1 Grafana介绍 Gra ...
- 搭建服务器性能监控面板(prometheus+grafana)
压测时,我们需要关注服务器的资源使用情况.多年前,同事推荐nmon给我,现在这个工具简直弱爆了:19年,我们在做某个国家项目时,用的是zabbix:这个工具其实也过时了.今天介绍个新的工具组合:pro ...
- dmp标签_从零搭建一套DMP用户画像标签系统-业务逻辑
DMP(Data Management Platform)数据管理平台,是把分散的多方数据进行整合纳入统一的技术平台,并对这些数据进行标准化和细分,让用户可以把这些细分结果推向现有的互动营销环境里的平 ...
- 性能监控之 blackbox_exporter+Prometheus+Grafana 实现网络探测
文章目录 一.什么是黑盒监控? 二.blackbox_exporter 简介 三.安装 1.二进制包 2.docker 四.使用原理 五.几种应用场景 1.ICMP 测试(主机探活) 2.TCP 测试 ...
- Windows监控:基于Prometheus+Grafana监控CPU、内存、磁盘、网络、GPU信息
目录 1. 系统环境准备 windows_exporter-0.13.0-amd64 Collectors 指标 nvidia_smi_exporter nvidia-smi.exe查看GPU信息 n ...
- 【Flink 监控系列】Flink on yarn 任务实时监控最佳实践(Prometheus + Grafana)打造企业级监控方案
我们都知道 Flink 任务是一个 7*24 小时不停运行的任务,所以对于任务的实时监控就显得尤为重要,因为任务运行的状态对于我们来说是一个黑盒,比如任务是否挂掉,是否存在反压,使用的内存,CPU 等 ...
- EPG组合 (Exporter Prometheus Grafana) 监控MySQL
环境说明 监控机10.0.0.200 服务器10.0.0.201 Prometheus的架构 在被监控服务器10.0.0.201安装exporter 安装node_exporter wgethttps ...
- 基于Prometheus+Grafana搭建监控平台-(2)实现监控elink服务器EIMServer
EIMServer是由北京华夏易联科技开发有限公司研发的一款可以私有部署的即时通讯服务平台E-Link,服务器是基于OSGI框架研发的java服务器程序,所以也可以通过Prometheus+Grafa ...
最新文章
- 【c语言】蓝桥杯算法训练 6-2递归求二进制表示位数
- 探臻实录 | 戴琼海:搭建脑科学与人工智能的桥梁
- 解密为什么八成IT人士愿意跳槽?
- navicat 连接oracle
- JDK8之Stream
- numpy基础(part9)--矩阵
- 功能Java示例 第5部分–将I / O移到外部
- Linux多线程实践(9) --简单线程池的设计与实现
- oracle增删控制文件,控制文件的增删改及备份
- html加css绘制oprea的logo,拾人牙慧 – CSS3实现Opera浏览器的logo
- 深度学习模型创建dataset
- Unable to add window -- token null is not for an application
- Flink+Alink,当大数据遇见机器学习! 博文视点Broadview 前天
- 使用Easy Duplicate Photo Finder for Mac如何查找重复的图片?
- 论文笔记_SLAM_An Overview of SLAM
- python做一个爬虫要用到什么软件_python实现简单爬虫功能
- 浙大PAT甲级题目1081-1100详细代码解答|标准答案|C++语言|浙软机考
- ceph osd pg 状态介绍
- 答疑解惑 | 关于PMBOK第七版,常见问题合集【附电子版】
- SpringCloud(3)--服务熔断降级