服务器 
首页 > 服务器 > 浏览文章

Zabbix 结合 bat 脚本实现多个应用程序状态监控的方法

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

场景模拟:

国内有部分企业需要运行某些窗口程序(即.exe)来支撑重要的业务运作,一旦这些重要的窗口程序中断了,那么就会造成巨大的经济损失或者影响工作效率,后果如此严重。所以想通过zabbix进行多程序状态的监控,一旦这些重要的窗口程序中断,里面产生告警,通知运维人员去修复。

提前准备好,两个bat脚本,findexe.bat(把要监控的exe程序做成自动发现),check_exe_status.bat(获取监控exe程序的状态)
第一步–准备bat脚本:

findexe.bat脚本的内容如下

@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脚本内容如下

@echo off

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

if %errorlevel% == 0 (

echo "running"

) else (

echo "norunning"

)

注意tasklist|findstr ^%1 >/NUL 2>&1这条命令是查询监控程序exe有没有运行的

第二步–制作监控模板

Zabbix 结合 bat 脚本实现多个应用程序状态监控的方法

点击添加,创建模板

然后在刚才的check_exe_status模板中,创建自动发现规则

Zabbix 结合 bat 脚本实现多个应用程序状态监控的方法

图中键值名为findexe,键值里面的参数就是客户要监控的多个进程,用双引号括起来,中间用空格分割。

findexe[“firefox.exe chrome.exe xxxlll.exe”]

如果还有其他exe程序要监控,只需要用空格分割,往后面填入即可。

接着在这个自动发现规则下,新建一个监控项原型。

Zabbix 结合 bat 脚本实现多个应用程序状态监控的方法

原型的{#SERVERNAME}的值是固定的有第一步的findexe.bat中定义。

第三步–配置zabbix_agent.conf的自定义键值

Zabbix 结合 bat 脚本实现多个应用程序状态监控的方法

脚本路径自定义,自定义键值要和模板的命名一致

重启zabbix_agent

第四步–验证多个exe程序状态

Zabbix 结合 bat 脚本实现多个应用程序状态监控的方法

自动发现填入了三个exe程序名,其中xxxll.exe为不存在的exe,为了验证效果,现在把firefox.exe程序关掉,看一下他的最新数据是否会显示成norunning。

Zabbix 结合 bat 脚本实现多个应用程序状态监控的方法

验证成功。

上一篇:通过Dockerfile构建Docker镜像的方法步骤
下一篇:Docker初级网络端口映射的配置
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 站点导航 SiteMap