2025-07-15

Есть различные данные, которые хотелось бы снимать с Windows и накапливать в системе мониторинга, но штатные способы не подходят или не работают, например, температурные датчики, или источники бесперебойного питания подключенные по USB

В моем случае оказался подключен ИБП APC Smart 750, штатная утилита  APC PowerChute работала мягко говоря плохо, зачастую просто вылетая.

AIDA64 в свою очередь видела всю необходимую информацию с него, работает стабильно, хоть и потребляет немного больше ресурсов.

Для начала запускаем AIDA64, убеждаемся что данные нам видны, затем переходим в настройки, переходим во внешние приложения, затем ставим галку на “Разрешить запись показаний датчиков в WMI”

Также ниже галочками выбираем необходимые показания и применяем настройки

aida

Настройка AIDA64 закончена, теперь все данные будут отправляться в WMI , откуда их можно подхватывать, так как мы находимся в Windows с установленным Zabbix-агентом, то будет логично запускать агентом PowerShell команду для извлечения данных

Для этого откроем PowerShell и вставим команду, которая покажет доступные данные

Get-WmiObject -Namespace 'Root\WMI' -Class AIDA64_SensorValues | Select-Object id, label, value
aidaPS

Видим что данные по ИБП, а заодно я выставлял температурные данные, нам показываются

Нас интересует id, именно по нему будет доставать конкретную метрику командой

Get-WmiObject -Namespace 'Root\WMI' -Class AIDA64_SensorValues | Where-Object id -EQ VBATTINP | Select-Object -ExpandProperty value

Где VBATTINP это id входящего напряжения, заменяя id можно получить искомое значение

aidaPSznach

Далее редактируем конфигурационный файл zabbix_agent.conf, который по умолчанию хранится C:/Program Files/Zabbix Agent (открыть файл нужно от имени Администратора)

Вставляем пользовательские параметры, в моем случае я снимаю 7 метрик, поэтому в конце файла добавляю 

UserParameter = inputVoltage, powershell.exe -noprofile -executionpolicy bypass -Command "Get-WmiObject -Namespace 'Root\WMI' -Class AIDA64_SensorValues | Where-Object id -EQ VBATTINP | Select-Object -ExpandProperty value"

UserParameter = nagruzkaVprocentah, powershell.exe -noprofile -executionpolicy bypass -Command "Get-WmiObject -Namespace 'Root\WMI' -Class AIDA64_SensorValues | Where-Object id -EQ SBATTPWRLOADPERC | Select-Object -ExpandProperty value"

UserParameter = OutputVoltage, powershell.exe -noprofile -executionpolicy bypass -Command "Get-WmiObject -Namespace 'Root\WMI' -Class AIDA64_SensorValues | Where-Object id -EQ VBATTOUTP | Select-Object -ExpandProperty value"

UserParameter = PowerState, powershell.exe -noprofile -executionpolicy bypass -Command "Get-WmiObject -Namespace 'Root\WMI' -Class AIDA64_SensorValues | Where-Object id -EQ SPWRSTATE | Select-Object -ExpandProperty value"

UserParameter = VremiaRabotiOtBattery, powershell.exe -noprofile -executionpolicy bypass -Command "Get-WmiObject -Namespace 'Root\WMI' -Class AIDA64_SensorValues | Where-Object id -EQ SESTBATTTIME | Select-Object -ExpandProperty value"

UserParameter = ZaryadBattery, powershell.exe -noprofile -executionpolicy bypass -Command "Get-WmiObject -Namespace 'Root\WMI' -Class AIDA64_SensorValues | Where-Object id -EQ SBATTLVL | Select-Object -ExpandProperty value"

UserParameter = TempCPU, powershell.exe -noprofile -executionpolicy bypass -Command "Get-WmiObject -Namespace 'Root\WMI' -Class AIDA64_SensorValues | Where-Object id -EQ TCPUPKG | Select-Object -ExpandProperty value"

В каждой строке можно поменять ключ-слово после =, по нему будем добавлять элемент данных в Zabbix, оно может быть любым понятным вам, и id который искали выше 

aidaPSconf

Сохраняем файл, перезапускаем службу и переходим к Zabbix серверу, где добавляем новый элемент данных или в имеющемся узле, или создаем новый

В моем случае создаю новый Узел сети под названием APC без шаблона, внутри узла создаю новые элементы данных, где вставляю ключи, которые задавали в файле zabbix_agent.conf

aidaPSzabb
aidaPSzabb1

Далее на ваше усмотрение можно добавить триггеры для оповещения, изменить интервалы снятия метрик и т.д.

aidaPSzabb2

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *