===== Вывод топ процессов сервера на Zabbix ===== Потребовалось тут как-то выяснить, что за процесс нагружает ночью сервер с Windows Server на борту. Причем нагружает так, что сервер вешается. Был задан вопрос, может ли zabbix отследить виновного. Под Linux решения встречал, под Windows что-то не нашел. Пришлось придумывать самому. Для начала создадим узел zabbix и элемент данных в нем. {{ :work:zabbix:zabbix-top-proc-win:zabbix_top1.jpg?nolink |}} Будем использовать активную проверку, т.к. совсем не хочется нагружать основной сервер. В клиенте в файле настройки zabbix агента пропишем путь до сервера и команду, которую требуется выполнить. **ServerActive** - адрес сервера Zabbix. **UserParameter** - имя пользовательского параметра и команда, которую требуется выполнить. В нашем случае **UserParameter имеет** вид: UserParameter=proc.list,powershell -Command "(Get-Counter '\Процесс(*)\% загруженности процессора').CounterSamples | Sort-Object -Property cookedvalue -Descending| Select-Object -First 10| Where-Object InstanceName -NotMatch '^(?:idle|_total|system)$' | ft InstanceName,@{L='CPU';E={($_.Cookedvalue/100/$env:NUMBER_OF_PROCESSORS).toString('P')}}" В итоге получаем такой вывод. {{ :work:zabbix:zabbix-top-proc-win:zabbix_top.jpg?nolink |}}