Параметр PhysicalDisk.SmartAttr

Started by Stanislav, March 24, 2026, 11:19:09 AM

Previous topic - Next topic

Stanislav

Использую метрику PhysicalDisk.SmartAttr(/dev/pd1, Current_Pending_Sector) и в ответ получаю одни и те же данные (200). Такое ощущение что значение метрики берутся не из того value (возвращает всегда 200 а должен 34).
Что я делаю не так?

Stanislav

Приложу скриншоты с Victoria, Crystaldiskinfo, GsmartControl в подтверждение что smart параметр должен возвращать значение 34 а не 200

Filipp Sudanov

Да, сейчас мы читаем только нормализованное значение, а нужны raw. Сделал тикет: https://github.com/netxms/netxms/issues/3199

Stanislav


Alex Kirhenshtein

Реализовано в 6.1.2. Нужная метрика:

PhysicalDisk.SmartAttrRaw(/dev/pd1, Current_Pending_Sector)
По тикету https://github.com/netxms/netxms/issues/3199 добавлены четыре метрики с тем же набором аргументов, что у SmartAttr: SmartAttrRaw (raw/value), SmartAttrRawString (raw/string, для составных raw вида "8 177 10"), SmartAttrWorst (worst), SmartAttrThreshold (thresh).

SmartAttr не изменялся и возвращает нормализованное value — это и есть 200. Нормализованное значение вычисляется по формуле производителя, у Current_Pending_Sector база 200, и оно остаётся неизменным, пока атрибут не приблизится к threshold. Для трендов и thresholds следует использовать SmartAttrRaw.

Note: worst, thresh и raw присутствуют только в секции ata_smart_attributes, то есть для ATA/SATA. В выводе smartctl для NVMe этих полей нет — доступен только SmartAttr с именами полей из nvme_smart_health_information_log.

Указание атрибута по числовому SMART ID (197 вместо Current_Pending_Sector) доступно начиная с 6.2.0, в 6.1.x работает только имя.

Stanislav