zabbix监控activemq队列脚本
公司业务使用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=
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 $Count
Pending=$(echo $Count |awk '{print $1}');
#echo $Count
Consumers=$(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" = '' ];then
exit
fi
if [ "$2" = 'Pending' ];then
echo $Pending
elif [ "$2" = 'Consumers' ];then
echo $Consumers
elif [ "$2" = 'Enqueued' ];then
echo $Enqueued
#elif [ "$2" = 'EndeltaDn' ];then
# echo $EndeltaDn
else
echo $Dequeued
fi
} #call function and input queue_name queue_type
Queue $ $
2.测试执行脚本,需要传入2个参数,其中一个是对列名称,一个是队列类型(如Pending,Consumers,Enqueued,Dnqueued)
[root@localhost ~]# bash activemqqueue.sh message.push Consumers
32
二、zabbix监控部分
1.编辑配置文件
[root@localhost ~]# cat /etc/zabbix/zabbix_agentd.d/userparameter_activemqqueue.conf
# monitor tomcat process and port
UserParameter=tomcatamqqueue[*],/etc/scripts/activemqqueue.sh $ $
2.创建zabbix模板,并传递相应的队列名称和队列类型。根据下图依次创建自己的item。

3.创建展示Pending,Consumers,Enqueued,Dequeued等图表。
4.触发报警,当Pending的值大于某一个值时报警,比如1000。
5.邮件发送。
zabbix监控activemq队列脚本的更多相关文章
- zabbix监控服务部署脚本
搭建平台脚本: #!/bin/bash #zabbix监控服务部署 #脚本使用前提:yum搭建,nginx-1.12.2源码包,zabbix-3.4.4源码包,要求源码包尽量在单一目录下,最好在默认管 ...
- zabbix监控rabbitmq队列消费状态
使用rabbitmqctl 管理 mq -n 指定节点 [root@logging-master zabbix]# rabbitmqctl -n rabbit@localhost list_queue ...
- Zabbix监控ActiveMQ
当我们在线上使用了ActiveMQ 后,我们需要对一些参数进行监控,比如 消息是否有阻塞,哪个消息队列阻塞了,总的消息数是多少等等.下面我们就通过 Zabbix 结合 Python 脚本来实现对 Ac ...
- zabbix 监控redis python3脚本
一:安装redis-python模块 wge thttps://pypi.python.org/packages/source/r/redis/redis-2.9.1.tar.gz tar xf r ...
- 解决mysql5.6+在zabbix监控中执行脚本出现密码的错误问题
1.mysql命令行中授权mysql监控所需的账号和密码(权限select权限即可) 2.通过mysql_config_editor 配置登录问题: [root@back_zabbix_100 scr ...
- zabbix 监控 AWS-SQS 队列
zabbix-AWS_SQS-monitor AWS SQS status monitor with zabbix zabbix通过 AWS 云 api 自动发现.监控 AWS-SQS 本版本数据的图 ...
- 使用Zabbix监控ZooKeeper服务的健康状态
一 应用场景描述 在目前公司的业务中,没有太多使用ZooKeeper作为协同服务的场景.但是我们将使用Codis作为Redis的集群部署方案,Codis依赖ZooKeeper来存储配置信息.所以做好Z ...
- zabbix 自定义脚本监控activemq
1. 编写获取activemq队列积压消息(check-amq.sh) #!/bin/bash QUEUENAME=$ MQ_IP='172.16.1.56' curl -uadmin:admin h ...
- zabbix监控系统_监控收集脚本使用分享
性能测试总是要监控服务器,做了zabbix监控之后,重要收集监控数据,这里分享下我是怎么做的. 准备文件 python2.7 pypa-setuptools.tar.gz -p -path /h ...
随机推荐
- Configuration of OpenCV2.1.0 with VS2010
Add in the system Path: C:\Program Files (x86)\OpenCV-2.1.0\build\bin\Debug Project->Project Prop ...
- 连接access的语句
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- C#中将ListView中数据导出到Excel
首先 你需要添加引用Microsoft Excel 11.0 Object Library 添加方法:选择项目->引用->右击“添加引用”->选择COM 找到上面组件—>点击“ ...
- C#常用功能函数小结(.NET 4.5)
今天有空,把C#常用的功能总结一下,希望对您有用.(适用于.NET Framework 4.5) 1. 把类转换为字符串(序列化为XML字符串,支持xml的namespace) using Syste ...
- WinEdt选项卡配置
不小心把选项卡(标签页.多tab)整没了.搜了一下: 在工具栏点击右键可以发现配置.
- 按月将Windows日志导出至CSV文件
# 这个月的第一天 #..........................................到这里之前是取当年第一天 #(Get-Date 0).AddYears((Get-Date). ...
- 【转】各版本IIS下ASP.net请求处理过程区别
原文地址:http://www.cnblogs.com/fsjohnhuang/articles/2332074.html ASP.NET是一个非常强大的构建Web应用的平台,它提供了极大的灵活性和能 ...
- FlowVisor 安装
参考:Github-FlowVisor-wiki 第一步 添加公钥: 命令: $ wget http://updates.onlab.us/GPG-KEY-ONLAB $ sudo apt-key a ...
- 浅析php学习的路线图
一直都想走上码农的道路,奈何当年没有学好.一直与码农无缘.现在又想做一些码农就下了一套某个培训机构的php视频来看.希望能走上码农的道路 1.php初级教程 初级教程主要的页面设置的,就是 h ...
- Rails--bundle exec rake db:migrate
--新建表: def up create_table :[TABLE_NAME] do |t| t.column :[NUM], :integer t.column :[NAME], :string ...