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服务器,上去查看一下性能监视器,还真找到了,见下图:

wKioL1klGrTgRb43AAGrAlpJ8eM644.png-wh_50

    从Process类别里找到了“Elapsed Time”,这就是进程总运行时间的意思。再从下面一栏选择一个进程(比如zabbix_agentd,不带.exe后缀)。

    添加好后,右键选择“属性”:

wKiom1klGuzC5z1QAAAz7F6QKCg286.png-wh_50

    可以看到我们刚才添加的计数器为:\Process(zabbix_agentd)\Elapsed Time

wKiom1klGwWwNFkzAADGEDPW4go666.png-wh_50

    退出设置,然后查看计数器的数据,进程当前运行时长14349806秒:

wKioL1klGzHCz2yOAADtxh2g8W0200.png-wh_50

    重启进程zabbix_agentd,再观察一下,最新计数从0开始了:

wKiom1klG06Q3EsYAAAV5SBccAA566.png-wh_50

    方法找到了,我们创建监控项和触发器。博客地址:http://qicheng0211.blog.51cto.com/

    先创建监控项:

wKioL1klG5igLvl2AAFJviy7PL8131.png-wh_50

    监控项名称:zabbix_agentd进程运行时间

    监控项类型:Zabbix agent

    监控项Key:perf_counter["\Process(zabbix_agentd)\Elapsed Time"]

    数据类型:float

    单位:s

    监控间隔:30

    注:perf_counter的参数就是上面添加的性能计数器。

    创建触发器:

wKioL1klG7GQ8qzPAADENYlMhhM484.png-wh_50

    触发器名字:zabbix_agentd进程重启!

    触发器表达式:{windows.60.61:perf_counter["\Process(zabbix_agentd)\Elapsed Time"].change()}<0

    表达式含义:监控项最新监控数据和上一个数据的差值小于0,则触发器触发。

    下面我们测试一下,重启进程后观察是否产生告警:

wKiom1klG93gzBvgAAD8VFTIoTU288.png-wh_50

    等待一会,触发器成功被触发,触发状态持续30秒。

wKiom1klG_bAEUdjAACBpY5Y-dw813.png-wh_50

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

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


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


相关文章
|
3月前
|
Java 关系型数据库 MySQL
java控制Windows进程,服务管理器项目
本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
47 1
|
4月前
|
监控
MASM32写的免费软件“ProcView/系统进程监控” V1.4.4003 说明和下载
MASM32写的免费软件“ProcView/系统进程监控” V1.4.4003 说明和下载
|
4月前
|
监控 Ubuntu API
Python脚本监控Ubuntu系统进程内存的实现方式
通过这种方法,我们可以很容易地监控Ubuntu系统中进程的内存使用情况,对于性能分析和资源管理具有很大的帮助。这只是 `psutil`库功能的冰山一角,`psutil`还能够提供更多关于系统和进程的详细信息,强烈推荐进一步探索这个强大的库。
57 1
|
5月前
|
数据采集 监控 API
如何监控一个程序的运行情况,然后视情况将进程杀死并重启
这篇文章介绍了如何使用Python的psutil和subprocess库监控程序运行情况,并在程序异常时自动重启,包括多进程通信和使用日志文件进行断点重续的方法。
|
5月前
|
Java Windows
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
|
7月前
|
监控 Linux 应用服务中间件
探索Linux中的`ps`命令:进程监控与分析的利器
探索Linux中的`ps`命令:进程监控与分析的利器
144 13
|
6月前
|
运维 关系型数据库 MySQL
掌握taskset:优化你的Linux进程,提升系统性能
在多核处理器成为现代计算标准的今天,运维人员和性能调优人员面临着如何有效利用这些处理能力的挑战。优化进程运行的位置不仅可以提高性能,还能更好地管理和分配系统资源。 其中,taskset命令是一个强大的工具,它允许管理员将进程绑定到特定的CPU核心,减少上下文切换的开销,从而提升整体效率。
掌握taskset:优化你的Linux进程,提升系统性能
|
6月前
|
弹性计算 Linux 区块链
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
198 4
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
|
5月前
|
算法 Linux 调度
探索进程调度:Linux内核中的完全公平调度器
【8月更文挑战第2天】在操作系统的心脏——内核中,进程调度算法扮演着至关重要的角色。本文将深入探讨Linux内核中的完全公平调度器(Completely Fair Scheduler, CFS),一个旨在提供公平时间分配给所有进程的调度器。我们将通过代码示例,理解CFS如何管理运行队列、选择下一个运行进程以及如何对实时负载进行响应。文章将揭示CFS的设计哲学,并展示其如何在现代多任务计算环境中实现高效的资源分配。
|
6月前
|
存储 缓存 安全
【Linux】冯诺依曼体系结构与操作系统及其进程
【Linux】冯诺依曼体系结构与操作系统及其进程
184 1

推荐镜像

更多