如何使用 Zabbix 检查进程是否在特定 Windows 用户下运行

如何使用 Zabbix 检查进程是否在特定 Windows 用户下运行

我想知道是否可以监视 Windows 应用程序是否在特定用户下运行。假设服务器上有 2 个 Win 用户(帐户):用户 1 的 application.exe 一直在运行,我不需要监视它,因为它正在被其他用户使用;用户 2 应该运行相同的 application.exe,但由于没有人会使用它,因此我需要 Zabbix 来监视它,并在它未启动时发出警报。通常,您可以通过以下触发器监视应用程序是否正在运行:

{HOST_NAME:proc_info[TestProcess.exe,wkset,sum].last(#1)}<1

所以我的问题是,是否有可能监控 application.exe 是否在特定 Win 用户下运行。任何想法都将不胜感激。谢谢。

答案1

您可以system.run[]使用 Powershell 通过密钥执行此操作。

首先你需要输入你的代理配置文件EnableRemoteCommands=1。之后你需要重新启动“Zabbix Agent”服务。

下一步就是使用参数创建新项目:

类型:Zabbix agent

键(例如 cmd):system.run[powershell.exe -nolog -command "(Get-Process -Name cmd -IncludeUserName | Format-Table -Autosize)"]

信息类型:Text

影响: 在此处输入图片描述

接下来,您可以使用 item 预处理,并在 Javascript 中显示所需的数据。然后只需创建一个触发器来检查数据是否一致。

相关内容