扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章将为大家详细讲解有关Zabbix如何监控Windows进程重启,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
成都网站建设哪家好,找创新互联建站!专注于网页设计、成都网站建设、微信开发、微信小程序、集团成都定制网页设计等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都集装箱等众多领域,积累了大量丰富的经验,同时也获得了客户的一致赞许!
前段时间,一个朋友咨询我怎么监控Windows进程的重启。生产环境有监控进程的启动和关闭,但重启还没想过。经过一番思考和摸索后成功完成了监控,下面把监控思路和方法分享给大家。
我首先想到的是通过Zabbix自带的进程数监控(proc.num)来做,但有两个难点:一、进程数从1变为0再变为1,算是一次重启。触发器要判断三次连续的监控数据,不太好做;二、进程从关闭到下次启动,中间间隔多长时间算是一次重启呢?
然后想到了zabbix监控操作系统的重启,比如Windows系统重启的触发器:{Template OS Windows:system.uptime.change(0)}<0,zabbix是通过监控系统运行时长来判断的,即系统运行时长的变化小于0就可以断定服务器重启了。同样的,如果我们监控了进程的运行时长,那么重启就很好判断了。
下一步着手监控Windows进程的运行时长。想到了zabbix原生支持监控Windows performance counters(Windows性能监视器),可以从Windows性能监视器里面查找是否有对进程运行时长的监控。登录一台Windows Server 2008服务器,上去查看一下性能监视器,还真找到了,见下图:
从Process类别里找到了“Elapsed Time”,这就是进程总运行时间的意思。再从下面一栏选择一个进程(比如zabbix_agentd,不带.exe后缀)。
添加好后,右键选择“属性”:
可以看到我们刚才添加的计数器为:\Process(zabbix_agentd)\Elapsed Time
退出设置,然后查看计数器的数据,进程当前运行时长14349806秒:
重启进程zabbix_agentd,再观察一下,最新计数从0开始了:
方法找到了,我们创建监控项和触发器。博客地址:http://qicheng0211.blog.51cto.com/
先创建监控项:
监控项名称:zabbix_agentd进程运行时间
监控项类型:Zabbix agent
监控项Key:perf_counter["\Process(zabbix_agentd)\Elapsed Time"]
数据类型:float
单位:s
监控间隔:30
注:perf_counter的参数就是上面添加的性能计数器。
创建触发器:
触发器名字:zabbix_agentd进程重启!
触发器表达式:{windows.60.61:perf_counter["\Process(zabbix_agentd)\Elapsed Time"].change()}<0
表达式含义:监控项最新监控数据和上一个数据的差值小于0,则触发器触发。
下面我们测试一下,重启进程后观察是否产生告警:
等待一会,触发器成功被触发,触发状态持续30秒。
关于“Zabbix如何监控Windows进程重启”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流