Очень мне хотелось видеть в zabbix данные с видеокарт — температуру, скорость вращения вентилятора ну и загрузку. Несколько статей нашел как собирать такие данные с процессора и системной платы, но они не срабатывали на видеокартах. Однако на основании этих статей и комментариев к ним и получилось мое решение. Ссылки на статьи будут внизу.

Использовать будем free open source software - Open Hardware Monitor, и ее консольную версию

Распаковываем консольную версию на компе, который хотим мониторить, открываем cmd и выполняем команду

1
D:\путь\до\папки\OpenHardwareMonitorReport.exe > d:\info.txt

Так мы соберем в текстовый файл все параметры системы, которые сможем отслеживать в заббиксе. Примерно это будет выглядеть вот так:

Меня в данном случае интересуют параметры видеокарт 

/atigpu/0/temperature/0 — температура первой карты, /atigpu/0/fan/0 — обороты вентилятора, /atigpu/0/load/0 — загрузка процессора. Для второй и последующих карт меняется только одна цифра.

Теперь создаем скрипт PowerShell

1
2
param($hw, $hwid, $sensor, $sensorid)
(Get-WmiObject -Namespace Root\OpenHardwareMonitor -Class sensor | ?{$_.identifier -eq «/$hw/$hwid/$sensor/$sensorid»}).value

Сохраняем его к примеру на диск D, в папку monitoring, с именем monitoring.ps1.

Кстати, сразу стоит разрешить выполнение скриптов PowerShell, которые не подписаны... Открываем консоль PowerShell от админа и выполняем команду

1
Set-ExecutionPolicy RemoteSigned

На вопрос уверены ли мы — отвечаем Y-yes

Теперь в файле конфигурации агента на этой же машине добавляем пользовательский параметр:

UserParameter=system.sensor[*],powershell.exe D:\monitoring\monitoring.ps1 $1 $2 $3 $4

Запускаем агент на этой машине.

Теперь настраиваем Zabbix сервер. Я создал отдельный шаблон, в нем группы данных, данные и в процессе пока еще триггеры. Чуть позже приложу сюда готовый шаблон. Опишу лишь процесс создания элементов данных

Имя элемента — к примеру GPU1 Temperature

Ключ элемента - system.sensor[atigpu,0,temperature,0] (данные из текстового файла). Остальные параметры на свой вкус.

Примерный набор параметров у меня для 4 видеокарт получился таким:

system.sensor[atigpu,0,temperature,0]
system.sensor[atigpu,6,temperature,0]
system.sensor[atigpu,12,temperature,0]
system.sensor[atigpu,18,temperature,0]

system.sensor[atigpu,0,fan,0]
system.sensor[atigpu,6,fan,0]
system.sensor[atigpu,12,fan,0]
system.sensor[atigpu,18,fan,0]

system.sensor[atigpu,0,load,0]
system.sensor[atigpu,6,load,0]
system.sensor[atigpu,12,load,0]
system.sensor[atigpu,18,load,0]

Все. Цепляем к нужному хосту этот шаблон и смотрим на данные.

Ну а дальше уже триггеры и все что хочется по желанию.

Ссылки на источники:

Zabbix настройка мониторинга температурыPowerShell. Выполнение скриптов запрещено для данной системы

Оценка сообщения:
1 Star2 Stars3 Stars4 Stars5 Stars
(Еще не оценили)
Загрузка...

Метки: ,