利用zabbix监控RocketMQ
根据需求,监控三个指标:MQ进程、自定义监控项订阅组的未消费值Diff Total和TPS。
创建MQ 状态的监控模板,进程监控利用zabbix自带的模板;
监控订阅组的Diff Total和TPS
因为每个Nameserver的订阅组可能会实时改变,所以采用自动发现的方式获取所有的订阅组信息。再根据nameserver 和订阅组获取其Diff Total和TPS。
步骤:
编写订阅组自动发现和自定义监控项的脚本。
#!/bin/bash
GroupInfo=`sh /opt/rocketmq/incubator-rocketmq-rocketmq-all-4.1.0-incubating/distribution/target/apache-rocketmq/bin/mqadmin consumerProgress -n "ip:port;ip:port;ip:port" 2>/dev/null`
#echo "$GroupInfo"
GroupName=`echo "$GroupInfo"|grep -v "#Group"|awk '{print $1}'`
subgroup_discovery () {
COUNT=`echo "$GroupName" |wc -l`
INDEX=0
echo '{"data":['
echo "$GroupName" | while read LINE; do
echo -n '{"{#GROUPNAME}":"'$LINE'"}'
INDEX=`expr $INDEX + 1`
if [ $INDEX -lt $COUNT ]; then
echo ','
fi
done
echo ']}'
} diffandtps () {
GroupConsume=`echo "$GroupInfo"|grep -w $1`
#echo $GroupConsume
if [[ $2 == "TPS" ]]; then
echo $GroupConsume|awk '{print $(NF-1)}'
#echo "TPS"
elif [[ $2 == "diff" ]];then
echo $GroupConsume|awk '{print $NF}'
fi
} case "$1" in
subgroup_discovery)
subgroup_discovery
;;
diffandtps)
diffandtps $2 $3
;;
*)
echo "Usage:$0"
;;
esac
根据nameserver实时获取所有的订阅组信息。
命令为MQ自带的mqadmin:
sh mqadmin consumerProgress -n ip:port

根据订阅组名称获取其Diff Total 和TPS。
修改配置文件,重启zabbix agent。在zabbix/conf/zabbix_agentd.conf中添加如下信息:
Timeout=30
UnsafeUserParameters=1
UserParameter=mq.subgroup.discovery,/opt/zabbix/mq_status.sh subgroup_discovery
UserParameter=mq.subgroup.diff[*],/opt/zabbix/mq_status.sh diffandtps $1 diff
UserParameter=mq.subgroup.tps[*],/opt/zabbix/mq_status.sh diffandtps $1 TPS
注意:mqadmin命令执行时有一定的时长,所以设置Timeout=30,否则会报错。
配置文件改好后重启agent生效。
在zabbix web端创建自动发现规则
配置文件的自动发现项名称为键值

在zabbix web端的自动发现规则里面创建监控项原型
此处监控两个指标,需要两个监控项

Diff Total监控:
因为可能存在复值,所以信息类型选择浮点数

TPS监控:

在检测中-最新数据-主机中查看是否出现预期的数据。

利用zabbix监控RocketMQ的更多相关文章
- 利用zabbix监控oracle数据库
一.概述 zabbix是一款非常强大,同时也是应用最为广泛的开源监控软件,本文将给大家介绍如何利用zabbix监控oracle数据库. 二.环境介绍 以下是我安装的环境,实际部署时并不需要跟我的环境一 ...
- 利用zabbix监控ogg进程(Linux平台下)
前段时间生产的一个数据库的ogg进程挂了快半个月才被发现,已经起不来了,只有重新初始化再同步.因此很有必要监控下ogg的进程,这里给大家介绍如何使用zabbix监控oracle的ogg的进程.思路就是 ...
- 利用zabbix监控某个目录大小
近期,因为JMS的消息堆积导致ApacheMQ频率故障(消息没有被消费掉,导致其数据库达到1.2G,JMS此时直接挂掉),很是郁闷!刚好自 己在研究zabbix.既然zabbix如此强大,那么它可以监 ...
- 002利用zabbix监控某个目录大小
近期,因为JMS的消息堆积导致ApacheMQ频率故障(消息没有被消费掉,导致其数据库达到1.2G,JMS此时直接挂掉),很是郁闷!刚好自 己在研究zabbix.既然zabbix如此强大,那么它可以监 ...
- 利用zabbix监控ogg进程(Windows平台下)
本文给大家介绍如何监控windows平台下的ogg程序.(注:所有操作都在administrator用户下面进行操作) 监控linux平台下的ogg程序请看:https://www.cnblogs.c ...
- Zabbix应用八:Zabbix监控MongoDB
利用Zabbix监控MongoDB 一.首先介绍mongodb采集到的数据含义: 1.状态采集命令: >db.serverStatus(); 2.输出内容: { "host" ...
- Zabbix应用六:Zabbix监控Redis
利用Zabbix监控Redis Zabbix监控redis就比较简单了,因为zabbix官方提供了监控redis的模版和脚本,而且脚本有nodejs和python两种,下载地址:https://git ...
- zabbix监控系统的配置
一.zabbix介绍 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系 ...
- Zabbix应用四:Zabbix监控Nginx
利用Zabbix监控Nginx 一.准备nginx监控模版: 1.1.下载nginx监控模版: 点此下载 1.2.导入模版: Zabbix管理页面,选择'配置'->'模版'->'导入': ...
随机推荐
- 为什么服务器突然回复RST——小心网络中的安全设备
RST产生原因 一般情况下导致TCP发送RST报文的原因有如下3种: 1. SYN数据段指定的目的端口处没有接收进程在等待. 2.TCP想放弃一个已经存在的连接. 3.TCP ...
- Elasticsearch系列---并发控制及乐观锁实现原理
概要 本篇主要介绍一下Elasticsearch的并发控制和乐观锁的实现原理,列举常见的电商场景,关系型数据库的并发控制.ES的并发控制实践. 并发场景 不论是关系型数据库的应用,还是使用Elasti ...
- centos6.7下安装glibc-2.17
glibc 所有版本下载地址 : http://ftp.gnu.org/pub/gnu/glibc/ 安装先决条件: #yum install gcc libffi-devel python-dev ...
- 小白学 Python 爬虫(12):urllib 基础使用(二)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 《Windows内核安全与驱动开发》阅读笔记 -- 索引目录
<Windows内核安全与驱动开发>阅读笔记 -- 索引目录 一.内核上机指导 二.内核编程环境及其特殊性 2.1 内核编程的环境 2.2 数据类型 2.3 重要的数据结构 2.4 函数调 ...
- Leecode_98_Validate_Binary_Search_Tree
Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as ...
- 如何运用DDD - 领域服务
目录 如何运用DDD - 领域服务 概述 什么是领域服务 从实际场景下手 更贴近现实 领域服务VS应用服务 扩展上面的需求 最常见的认证授权是领域服务吗 使用领域服务 不要过多的使用领域服务 不要将过 ...
- 分享一个Vue数组赋值的错误
今天在写项目用到Vue的时候,遇到的一个问题,纠结了好一会,首先我的代码是这样的 有没有毛病!! 开始我感觉是没啥毛病啊,按照之前写Java代码的逻辑,我感觉这没一点毛病 . 但是它就是有毛病, 假 ...
- react-native-linear-gradient颜色渐变
目录 一 安装 二 使用 2.1 colors 2.2 start / end eg1:斜角渐变 eg2: 从左到右 2.2 locations eg1: 0.4是渐变的起点,0.6是渐变的终点 一 ...
- 初次在Vue项目使用TypeScript,需要做什么
前言 总所周知,Vue新版本3.0 使用 TypeScript 开发,让本来就很火的 TypeScript 受到更多人的关注.虽然 TypeScript 在近几年才火,但其实它诞生于2012年10月, ...