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秒。

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

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

时间: 2024-10-12 08:13:06

Zabbix监控Windows进程重启的相关文章

zabbix监控windows进程

配置相关信息  server: linux centos 6.8                           agent: windows server 2008 r2                       版本:zabbix 3.0.4 server   agnet 3.0.0 # 因客户端连接服务器服务老是中断,先判断是不是由进程产生的问题,         1.比如进程在一分钟内突然中断,监控就会显示内存为空,那么就能说明是这个进程挂了:         2.网络可以直接监控

Zabbix监控windows进程连接数

1.修改配置 vi zabbix-agent-win.conf 添加 UserParameter=tcpcount10020,netstat -ano | find "10020" |find /i "estab" /c 2.重启zabbix-agent 3.web上添加键值为tcpcoun10020的监控项 原文地址:https://www.cnblogs.com/mulinux/p/9040500.html

zabbix监控windows服务器上进程的内存使用情况

zabbix监控windows服务器上进程的内存使用情况 由于在windows服务器上不能像linux上一样使用top,或者类似于/pro目录下的数据信息,所以在在windows服务器上获得一个进程的内存或者CPU的使用情况不是很容易. 这里通过在windows服务器上使用python脚本获得进程的内存使用值,通过key传递给zabbix客户端,也就是本机上安装的zabbix客户端. windows上安装zabbix客户端网上的文章很多,这里不再记录. 1,首先安装python环境: 点击这里下

Zabbix安装(十):监控windows进程

1.监控windows进程的几个KEYS: proc.mem[<name>,<user>,<mode>,<cmdline>] Memory used by a process. <name> process name (default: "all processes"). <user> user name (default: "all users"). <mode> possible

zabbix 监控特定进程

由于一些服务器上跑着一些重要程序,需要对它们进行监控,公司用的是zabbix监控,之前都是在zabbix中添加自定义脚本对特定程序进行监控,最近看了zabbix的官方文档,发现原来强大的zabbix居然能监控程序是否运行,并能监控其使用的内存大小,以下是我的实践记录: 1. 在特定机器或模板上创建新的监控项,点击Key 后面的Select 按钮,选择如下两项,一项是用来监控特定进程的数量,另一项是用来监控进程使用内存的大小. 2.以下是对squid进程的监控配置,key中的参数说明,第一个参数是

Zabbix监控之使用Zabbix监控windows主机【7】

Zabbix监控 之使用Zabbix监控windows主机[7] 我们前面介绍了Zabbix3.0监控linux主机,今天我们使用Zabbix监控windows主机,其实操作都是一样的:具体见下:我们首先下载windows zabbix agent安装服务:我们第一个url是下载链接,第二个第三个是最新的3.0和2.2.9的下载链接:http://www.zabbix.com/download.phphttp://www.zabbix.com/downloads/3.0.0/zabbix_age

zabbix监控windows日志脚本

zabbix监控windows日志脚本     脚本用于监控windows服务器上日志,查看日志文件的末尾N行,如果N行中包含某字段,则输出0,否则输出1,然后再zabbix的配置文件空定义kye,进行监控. 文本文件的换行符是"\n" 编辑脚本log.py import sys import re def last_lines(filename, lines = 1):     lines = int(lines)     block_size = 1024     block = 

Windows zabbix监控远程进程实现机制

最近负责zabbix监控部署方面的工作,需要完成本地服务端监控远程虚拟机的运行状态(CPU.打开的进程等),与大家分享下我的实现方法. (1) 首先,需要实现记录zabbix客户端的进程的批处理:zabbix_task.bat; zabbix_task.bat内容如下: @echo off chcp 65001 tasklist /v |findstr "%username%" > c:/zabbix_temp.txt  #进程路径根据个人习惯设置 pause (2) 其次,实现

zabbix监控windows服务器

1.下载zabbix的windows客户端zabbix-agent http://www.zabbix.com/downloads/2.2.0/zabbix_agents_2.2.0.win.zip 2.解压下载的文件,拷贝bin目录下的*.exe到c:\zabbix目录下,conf下的配置文件agent.conf拷贝到c盘的根目录. 3.修改配置文件agent.conf: 修改服务端的ip地址server=10.1.1.51 修改本地的hostname=计算机的机器名 4.安装zabbix w