Назад | Перейти на главную страницу

Как с помощью 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 или нет. Любые идеи будут высоко оценены. Спасибо.

Вы можете сделать это с помощью 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 вывести нужные данные. Затем просто создайте триггер, который будет проверять, согласованы ли данные.