公司业务使用activemq5.9.1消息队列,由于队列阻塞导致程序端口无响应,并且telnet无法连通。经过over 1 hour的排查,最终定位原因activemq导致。遂写了一个监控activemq队列信息的脚本。

一、脚本部分

1.脚本内容,如下:

[root@localhost ~]# cat activemqqueue.sh #!/bin/bash
#author:xkops
#define common info
HOST=10.44.144.92
PORT=8161
USER=admin
PASSWORD=admin#obtain queue's Pending,Consumers,Enqueued,Dequeued
function Queue()
{Count=$(curl -u"$USER":"$PASSWORD" http://$HOST:$PORT/admin/queues.jsp 2> /dev/null |grep -A 5 "^$1"|grep -oP '\d+');#echo $CountPending=$(echo $Count |awk '{print $1}');#echo $CountConsumers=$(echo $Count |awk '{print $2}');Enqueued=$(echo $Count |awk '{print $3}');Dequeued=$(echo $Count |awk '{print $4}');#EndeltaDn=$(($Enqueued - $Dequeued))#echo '-------------'#echo -e "$Pending\n$Consumers\n$Enqueued\n$Dequeued";#echo "$2"if [ "$2" = '' ];thenexitfiif [ "$2" = 'Pending' ];thenecho $Pendingelif [ "$2" = 'Consumers' ];thenecho $Consumerselif [ "$2" = 'Enqueued' ];thenecho $Enqueued#elif [ "$2" = 'EndeltaDn' ];then#  echo $EndeltaDnelseecho $Dequeuedfi
}#call function and input queue_name queue_type
Queue $1 $2 

2.测试执行脚本,需要传入2个参数,其中一个是对列名称,一个是队列类型(如Pending,Consumers,Enqueued,Dnqueued)

[root@localhost ~]# bash activemqqueue.sh message.push Consumers32

二、zabbix监控部分

1.编辑配置文件

[root@localhost ~]# cat /etc/zabbix/zabbix_agentd.d/userparameter_activemqqueue.conf
# monitor tomcat process and port
UserParameter=tomcatamqqueue[*],/etc/scripts/activemqqueue.sh $1 $2

2.创建zabbix模板,并传递相应的队列名称和队列类型。根据下图依次创建自己的item。

3.创建展示Pending,Consumers,Enqueued,Dequeued等图表。

4.触发报警,当Pending的值大于某一个值时报警,比如1000。

5.邮件发送。

转载于:https://www.cnblogs.com/xkops/p/5591983.html

zabbix监控activemq队列脚本相关推荐

  1. zabbix监控管理维护脚本

    zabbix监控的机器越来越多,新增机器很频繁,废弃的,每天都在手动同样的事情,写了个脚本自动维护,已经加入到MySQL初始化安装.机器下线.高可用等流程中,自动处理: 脚本如下: #!/usr/bi ...

  2. zabbix监控利用Python脚本发邮件

    最近实施了zabbix监控,开源软件杠杠的,甩nagios 好几条街-- 环境:centos6.6 + Zabbix 2.4.5 + Python 2.6.6 cd /usr/local/zabbix ...

  3. 使用Zabbix监控ZooKeeper服务的健康状态

    一 应用场景描述 在目前公司的业务中,没有太多使用ZooKeeper作为协同服务的场景.但是我们将使用Codis作为Redis的集群部署方案,Codis依赖ZooKeeper来存储配置信息.所以做好Z ...

  4. c++ 多key_详解Zabbix自定义Key监控Rabbitmq(监控特定队列)

    概述 今天主要介绍一下zabbix怎么去自定义key来监控rabbitmq队列. 一.环境准备脚本 1.每秒钟插入一个观察队列情况(queues.py) # -*- coding: utf-8 -*- ...

  5. python写mysql脚本_使用python写一个监控mysql的脚本,在zabbix web上加上模板

    使用python写一个监控mysql的脚本,在zabbix web上加上模板: ##先使用MySQLdb的接口关联数据库. [root@cml python]# cat check_Mysql_cus ...

  6. 如何在 Zabbix 执行远程主机的脚本或指令?如何用 Zabbix 监控网站的访问量?

    如何在 Zabbix 执行远程主机的脚本或指令? 场景需求: 1.我们可以通过zabbix_server的web界面的脚本功能实现对已经安装了zabbix_agent主机实现远程关机而不用手动登陆然后 ...

  7. zabbix监控超详细搭建过程

    监控及zabbix 目录: 1       监控分类... 1 1.1        硬件监控... 1 1.2        系统监控... 2 1.3        网络监控... 3 1.4   ...

  8. Zabbix监控,详细部署

    文章目录 一.Zabbix监控介绍 1.1 Zabbix监控架构 1.2 Zabbix的优点 1.3 Zabbix的缺点 1.4 Zabbix监控系统监控对象 1.5 Zabbix的监控方式 1. 主 ...

  9. Zabbix监控和分布式部署实施方案

    最近在研究Zabbix监控,由于机房分布在多个城市,因此采用zabbix proxy做为监控方案,在每 个节点部署zabbix proxy,由zabbix proxy收集agentd数据,然后将采集到 ...

最新文章

  1. 自然水体辐射特性与数值模拟 pdf_【技术·航天】定量评估贡献 精准决策未来 ——气象卫星数据在数值预报系统中贡献的定量评估...
  2. 点击按钮改变div的颜色
  3. Docker源码分析(五):Docker Server的创建
  4. AIS 2022 | ACL-IJCAI-SIGIR顶级会议论文预讲会,现开启论文征集
  5. 多线程之间共享数据的实现
  6. 简单版:带干扰线的图形验证码生成
  7. 如何选择合适的加密芯片
  8. Codeforces Round #292 (Div. 2):C. Drazil and Factorial
  9. JavaScript 数据类型梳理
  10. python快速写入hbase_Python 读写 hbase 数据的正确姿势(一)
  11. 海康设备搜索器搜索协议解析
  12. 针式打印机风格英文字体_如何写得一手好看的花体英文
  13. 搜狗拼音输入法 V9.1.0.2589 最新去广告精简优化版
  14. PDF文件修改或做笔记后变得很大
  15. java短信平台开源_Java通过SMS短信平台实现发短信功能
  16. 数字序号转为字母序号
  17. 求1加到n的发散思维方法
  18. 马上就要十一大长假了!还没订好机票?用Python写了一个钉钉订低价票脚本!
  19. 「为了孩子上海淀小学,我一周上七节课」
  20. Qt学习笔记(二)【软件样式及界面外观设置】

热门文章

  1. maven编译时出现读取XXX时出错invalid LOC header (bad signature)
  2. arm汇编学习(二)
  3. 如何修改WINDOWS默认的3389远程端口
  4. 适合初学者的Python小游戏开发,不仅有趣还能巩固自己所学知识
  5. php删除指定符号,利用PHP删除特殊符号
  6. 怎么用matlab建立双机系统,基于MATLAB的双机通信的实现
  7. 计算机组成原理文华学院,华中科技大学文华学院计算机组成原理课设.doc
  8. 语言输出换行符号是什么_世界上最难的5种编程语言
  9. 如何扫描和修复 Linux 磁盘错误
  10. 详解:操作符的优先级