MSMQ全称MicroSoft Message Queue,微软消息队列,是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间中的任一位置。它的实现原理是:消息的发送者把自己想要发送的信息放入一个容器中(我们称之为Message),然后把它保存至一个系统公用空间的消息队列(Message Queue)中;本地或者是异地的消息接收程序再从该队列中取出发给它的消息进行处理。
zabbix号称一切皆可监控,相对于其他Windows环境基础性能来说,msmq的数据读取同样可以采用perf来获取。
添加Items,键值用perf_counter[\MSMQ Service\Total messages in all queues]即可//该值是当前队列总的消息数,要获取其他相关参数值可通过Windows性能计数器进行查询添加。
当我们需要读取专用队列中的每一队列及其消息数量,我们可以采用discover规则来发现,zabbix agent配置文件添加参数
UserParameter=orgmsmq.discovery,powershell -NoProfile -ExecutionPolicy Bypass -File "C:\zabbix_agents\scripts\get_queues.ps1"
UserParameter=orgmsmq.messagecount[*],powershell -NoProfile -ExecutionPolicy Bypass -File C:\zabbix_agents\scripts\get_queuemessagecount.ps1 "$1"
以上脚本只支持windows2012及以上版本!
链接: https://pan.baidu.com/s/1cECIm0A0OFsIvmrotHBDwg 提取码: hcnq
包含(脚本和模板)
zabbix监控MSMQ队列消息数!_第1张图片