
Задача простая и понятная. Необходимо настроить мониторинг SMART параметров дисков на сервере Windows. Работаю с Zabbix 7.4.
Сделать это можно с помощью встроенных плагинов в Zabbix Agent 2. Странно, но в Интернете полно статей как сделать это в Linux, а про Windows не особо пишут, хотя принцип тот же.
Установка Zabbix Agent 2
Устанавливаем второй агент на сервере Windows.
Windows — установка Zabbix Agent 2
Задача состоит в том, чтобы настроить мониторинг нашего Windows сервера.
https://www.zabbix.com/download_agents
Переходим на сайт Zabbix в раздел загрузки скомпилированных бинарников. Указываем операционную систему Windows, все версии, amd64. Выбираю версию ту же, что у меня на сервере: 7.4, шифрование OpenSSL, MSI пакет.
Ниже отображаются возможные варианты загрузки для Zabbix Agent и Zabbix Agent 2. Скачиваем инсталлятор (мне нужен Zabbix Agent 2) и на целевой машине запускаем его.
Zabbix Agent 2 установлен.
Установка smartmontools
В Zabbix Agent 2 имеется встроенный плагин, который может мониторить SMART параметры дисков с помощью утилиты smartmontools. Установим её. Потребуется версия 7.1 или выше.
Windows — установка smartmontools
Пакет smartmontools включает две утилиты (smartctl
и smartd
) для управления и мониторинга систем хранения данных с использованием технологии самодиагностики SMART, встроенной в большинство современных дисков ATA/SATA, SCSI/SAS и NVMe. Во многих случаях эти утилиты позволяют заранее обнаружить признаки деградации и скорого выхода дисков из строя. Исходный код smartmontools был основан на пакете smartsuite для Linux, и сейчас пакет поддерживает диски ATA/SATA, SCSI/SAS, NVMe, а также ленточные накопители SCSI/SAS.
https://www.smartmontools.org/
Устанавливаем утилиту и проверяем что она работает в командной строке и выводит нужные нам SMART данные дисков.
smartctl -a /dev/sda
Настройка плагина
Конфигурационные файлы плагинов находятся по умолчанию в директории C:\Program Files\Zabbix Agent 2\zabbix_agent2.d\plugins.d
.

Нас интересует файл smart.conf
, редактируем его.

Снимаем комментарий с параметра Plugins.Smart.Path и указываем путь к утилите smartctl.exe. У меня это C:\Program Files\smartmontools\bin\smartctl.exe
. Сохраняем конфигурацию.
Перезапускаем службу Zabbix Agent 2.
Подключение Zabbix шаблона
В Zabbix уже имеются встроенные шаблоны:
Они доступны для Zabbix 5 и выше.
Правило обнаружения дисков LLD находит все жёсткие диски, твердотельные накопители и диски NVMe с поддержкой S.M.A.R.T. Правило обнаружения атрибутов LLD содержит заранее заданные атрибуты производителя для каждого диска. Атрибут будет обнаружен, если он присутствует.

Цепляем шаблон на наш Windows хост.

Данные начинают собираться.
Дополнительные настройки
Вот вроде бы всё сделали по задумке разработчика, однако, разработчик шаблона SMART by Zabbix agent 2 потерял грабли. Шаблон имеет встроенный дашборд, который показывает ерунду. Постоянные прерывистые графики температуры и времени работы дисков.
Я уже встречался с таким поведением графиков при разработке шаблонов и сразу понял куда копать. В два прототипа элементов данных необходимо внести изменения:
- [{#NAME}]: Temperature
- [{#NAME}]: Power on hours
Редактируем их и в препроцессинге удаляем второй шаг "Discard unchanged with heartbeat". Он там не нужен.

Теперь графики станут графиками.

Для построение непрерывного графика необходимо регулярное наличие всех элементов данных на временной шкале, а опция "Discard unchanged with heartbeat" не записывает повторяющиеся значения, что приводит к разрывам в графиках.
Заключение
Мы настроили мониторинг SMART параметров дисков на сервере Windows в Zabbix 7.4.
