Интересно, можно ли отслеживать, работает ли приложение Windows под определенным пользователем или нет. Допустим, на сервере есть 2 пользователя (учетные записи) Win: у пользователя 1 все время запущен application.exe, и мне не нужно отслеживать его, поскольку он используется другими; У пользователя 2 должен быть запущен тот же файл application.exe, но поскольку никто не будет его использовать, мне нужно, чтобы Zabbix отслеживал и предупреждал, если он не запущен. Обычно вы отслеживаете, запущено ли приложение, с помощью следующего триггера:
{HOST_NAME:proc_info[TestProcess.exe,wkset,sum].last(#1)}<1
Итак, мой вопрос: можно ли отслеживать, работает ли application.exe под конкретным пользователем Win или нет. Любые идеи будут высоко оценены. Спасибо.
Вы можете сделать это с помощью 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
Эффект:
Далее вы можете использовать пункт Preprocessing, и в Javascript вывести нужные данные. Затем просто создайте триггер, который будет проверять, согласованы ли данные.