我想知道是否可以监视 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 中显示所需的数据。然后只需创建一个触发器来检查数据是否一致。