利用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管理页面,选择'配置'->'模版'->'导入': ...
随机推荐
- Theano教程
让我们开始一个交互式会话(例如使用python或ipython)并导入Theano. from theano import * 你需要使用Theano的tensor子包中的几个符号.让我们以一个方便的 ...
- 【数据结构】之链表(Java语言描述)
以前写过一篇帖子,记录了链表在C语言中的描述代码.C语言中没有链表的直接实现,因此,我们需要自己编写代码实现.请参考[我的这篇文章]. Java中默认为我们提供了链表的API—— LinkedList ...
- C数据结构(文件操作,随机数,排序,栈和队列,图和遍历,最小生成树,最短路径)程序例子
文件操作 文件打开方式 意义 ”r” 只读打开一个文本文件,只允许读数据 ”w” 只写打开或建立一个文本文件,只允许写数据 ”a” 追加打开一个文本 ...
- re实战记录
re实战记录 针对网页中的空格符 一般使用的.,但是它不能匹配\n,所以使用[\s\S]或者[\d\D]匹配所有字符 import re l1=r''' <div class="thu ...
- go变量
go基础 go变量(静态) package main import "fmt" func main() { //申明变量 var zx int //变量赋值 zx=10 //输出变 ...
- Linux高级知识
Linux高级知识 十一.LAMP架构 1.LAMP架构介绍.MySQL.MariaDB介绍.MySQL安装 2.MariaDB和Apache安装 3.安装PHP5和PHP7 4.Apache和PHP ...
- 腾讯iphone面试题(转)
1Objective-C内部的实现 2CALayer和View的关系 3 http协议,tcp/ip 4 UITableView的那些元素是可以自定义的? 5 c语言的,定义变量,比如int,在什么情 ...
- Bean中要使用配置文件中的值,使用set方法注入
/** * Sensors Analytics Bean * @author Feng */ @Component public class SensorsAnalyticsBean { /*** * ...
- CMSdede后台登陆界面设计
1 在这里我就公布 css 和jq 也就是dede文件下templets的login.htm页面:代码如下 $(function () { $(".tex ...
- WebSSH画龙点睛之lrzsz上传下载文件
本篇文章没有太多的源码,主要讲一下实现思路和技术原理 当使用Xshell或者SecureCRT终端工具时,我的所有文件传输工作都是通过lrzsz来完成的,主要是因为其简单方便,不需要额外打开sftp之 ...