博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Zabbix监控Windows进程重启
阅读量:6157 次
发布时间:2019-06-21

本文共 1299 字,大约阅读时间需要 4 分钟。

    前段时间,一个朋友咨询我怎么监控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秒。

    到这我们对Windows进程重启的监控就完成了。

    原创文章,转载请注明出处,尊重博主劳动成果,感谢。

本文转自 张斌_青岛 51CTO博客,原文链接:http://blog.51cto.com/qicheng0211/1928947

你可能感兴趣的文章
<<Information Store and Management>> 读书笔记 之八
查看>>
Windows 8 开发之设置合约
查看>>
闲说HeartBeat心跳包和TCP协议的KeepAlive机制
查看>>
MoSQL
查看>>
Hibernate多对一外键单向关联(Annotation配置)
查看>>
《CLR via C#》读书笔记 之 方法
查看>>
设计模式:组合模式(Composite Pattern)
查看>>
ContentValues 和HashTable区别
查看>>
LogicalDOC 6.6.2 发布,文档管理系统
查看>>
给PowerShell脚本传递参数
查看>>
实战2——Hadoop的日志分析
查看>>
利用FIFO进行文件拷贝一例
查看>>
Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG
查看>>
resmgr:cpu quantum等待事件
查看>>
一个屌丝程序猿的人生(六十六)
查看>>
Java 编码 UTF-8
查看>>
SpringMVC实战(注解)
查看>>
关于静态属性和静态函数
查看>>
进程的基本属性:进程ID、父进程ID、进程组ID、会话和控制终端
查看>>
spring+jotm+ibatis+mysql实现JTA分布式事务
查看>>