Zabbix学习笔记(三十三)-Zabbix利用批处理对多个应用程序进行状态监控并实现自动发现的方法

学习使用zabbix多年,一直在实践研究具体的实践方法,满足生产环境中的监控需求,今天利用zabbix对某台服务器进行多个应用程序进行状态监控,也就是利用批处理脚本对多个进程进行状态监控。

1、准备两个脚本(全部来自于网络)

脚本一:findexe.bat

作用是在zabbix系统自动发现exe程序。内容:

@echo off

 

setlocal enabledelayedexpansion

 

set /a n=0

 

set /a n1=0

 

for %%i in (%*) do (set /a n+=1)

 

@echo {"data":[

 

for %%a in (%*) do (

 

set /a n1+=1

 

@echo{"{#SERVERNAME}":"%%a"

 

if !n1! neq !n! (

 

@echo },

 

) else (

 

@echo }

 

)

 

)

 

echo ]}

 

脚本二:check_exe_status.bat

获取exe进程的状态。

@echo off

 

tasklist|findstr ^%1 >/NUL 2>&1

 

if %errorlevel% == 0 (

 

echo "Running"

 

) else (

 

echo "NoRunning"

 

)

2、被监控服务器

把两个脚本文件复制到被监控的服务器上

Zabbix学习笔记(三十三)_监控

修改zabbix的配置文件,增加如下内容:

UserParameter=findexe[*],"C:\zabbix\findexe.bat"$1

UserParameter=check_status[*],"C:\zabbix\check_exe_status.bat"$1

重启zabbix agent服务。

Zabbix学习笔记(三十三)_监控_02

3zabbix服务端配置

创建监控模板Template check exe service

Zabbix学习笔记(三十三)_zabbix_03

在创建的模板中创建自动发现规则,发现exe进程。

Zabbix学习笔记(三十三)_linux_04

键值就是我们在被监控服务器的配置文件中配置的参数名称,中括号中的参数为需要监控的exe进程名称,多个用空格隔开。

创建监控项

Zabbix学习笔记(三十三)_zabbix_05

键值为在被监控服务器配置文件中的参数名称。

4、验证

把新建的模板添加到主机中

Zabbix学习笔记(三十三)_批处理_06

Zabbix学习笔记(三十三)_监控_07

关掉被监控服务器的浏览器,查看最新监控数据。

Zabbix学习笔记(三十三)_监控_08