Ad Widget
Collapse
Мониторинг параметров smart
Collapse
X
-
Zbx 2.0.4 on Debian and MYSQL5 on Ubuntu Server 64bit 8.04,
200+ Win Agents, 50+ Linux Agents, 150+ Network Devices-
Оператор $smart_scanresults += & $smartctl "--scan-open" "-dnvme" написан с ошибкой, нужно так:
$smart_scanresults += & $smartctl "--scan-open" "-d nvme"Last edited by Victor Sklyarov; 04-05-2020, 20:51.
-
-
Господа, пытаюсь настроить мониторинг SMART с помощью zbx-smartctl. Делаю по инструкции, но запнулся на этапе проверки работы скрипта smartctl-disks-discovery.ps1.
Он не выдает результатов.Просто пустой вывод.
powershell C:\zabbix\smartctl-disks-discovery.ps1
{
"data":[
]
}
При этом smartmontools диск видит и результат выдает (командой к примеру:C:\WINDOWS\system32>"C:\Program Files\smartmontools\bin\smartctl.exe" -a /dev/sda)
И соответственно zabbix агент ругается:
PS C:\zabbix> .\zabbix_agentd.exe -c .\zabbix_agentd.conf -t uHDD.discovery
uHDD.discovery [m|ZBX_NOTSUPPORTED] [Unsupported item key.]
Подскажите пожалуйста, куда копнуть?
Comment
-
Привет комрады!
Хочу рассказать свою историю мониторинга дисков… по крайней мере начну, а если будет интересно — продолжу). Пролистал эту ветку почти всю, и в общем то некоторые решения которые люди здесь описывают испытывал ранее.
Входные данные:
1) Начинал с ZBX 2.0, сейчас 4.0
2) ~200 доменных win (7ки и 10ки) машин.
3) агенты ставятся политикой powershell скриптом, с минимальным конфигом.
В моей ситуации добавлять в реальном времени (в течении дня) какие либо параметры в zabbix_agentd.conf — проблематично.
В общем для меня оказалось самым удобным (но не простым) создать шару и элементы данных system.run которые запускают .exe с шары. Запускать надо smartctl.exe, однако, отфильтровать нужный параметр (relocated sectors, s/n итд) стандартными командами… ну наверное можно что то с find, но то ли я не умею, то ли показалось некрасиво… в общем написал свою программку (c++ и boost) которая фильтрует то что мне нужно… Выглядит это так:
1) модель диска - system.run[\\{$ZABBIX_SHARE}\public\smart\smregex -d/dev/sda -s\\{$ZABBIX_SHARE}\public\smart\smartctl -o model]
2) переназначенные сектора - system.run[\\{$ZABBIX_SHARE}\public\smart\smregex -d/dev/sdb -i5 -s\\{$ZABBIX_SHARE}\public\smart\smartctl]
3) сирийник диска - system.run[\\{$ZABBIX_SHARE}\public\smart\smregex -d/dev/sdb -s\\{$ZABBIX_SHARE}\public\smart\smartctl -o sn]
3) ну и тд — почти любой параметр со smartctl можно получать
По итогу получил — все очень быстро, никаких таймаутов, zabbix_agentd.conf не правится, все управление с сервера.
Кстати по поводу powershell — отказался его применять в мониторинге вообще. Очень долгий запуск. Особенно на ПК с hdd. С ssd еще хоть как то, а вот с обычными дисками отваливается по таймауту в 15 секунд…
Сейчас тестирую обнаружение дисков, добавил только вот позавчера, работает также:
system.run[\\{$ZABBIX_SHARE}\public\smart\smregex -s\\{$ZABBIX_SHARE}\public\smart\smartctl -c]
Обнаружение пока показало себя отлично, еще недельку протестирую и наверное назначу на все наблюдаемые ПК.
Такое решение интересно вам? Стоит его выложить сюда и объяснить как пользоваться? Не исключаю что подобное уже есть, но вот с ходу не нашел.
P.S. Есть похожее решение для получения серийников ПК, модели ПК, проца, количество и модель оперативной памяти, мониторы с авто обнаружением (серийник + модель) и прочее что может быть интересно админу чтобы составить инвентарную картину Windows машин в своей конторе. Как думаете стоит это выложить и куда?
Comment
-
Просто хинт, может, не совсем в тему: в Windows, начиная чуть ли не с Win2000, штатно, "из коробки", присутствует более-менее сопоставимый с никсовским grep-ом эквивалент, гораздо более продвинутый, чем убогий find:Code:Поиск строк в файлах. FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:файл] [/C:строка] [/G:файл] [/D:список_папок] [/A:цвета] [/OFF[LINE]] строки [[диск:][путь]имя_файла[ ...]] /B Искать образец только в началах строк. /E Искать образец только в конце строк. /L Поиск строк дословно. /R Поиск строк как регулярных выражений. /S Поиск файлов в текущей папке и всех ее подпапках. /I Определяет, что поиск будет вестись без учета регистра. /X Печатает строки, которые совпадают точно. /V Печатает строки, не содержащие совпадений с искомыми. /N Печатает номер строки, в которой найдено совпадение. /M Печатает только имя файла, в котором найдено совпадение. /O Печатает найденные строки через пустую строку. /P Пропускает строки, содержащие непечатаемые символы. /OFF[LINE] Не пропускает файлы с установленным атрибутом "Автономный". /A:цвета Две шестнадцатеричные цифры - атрибуты цвета. См. "COLOR /?" /F:файл Читает список файлов из заданного файла (/ для консоли). /C:строка Использует заданную строку как искомую фразу поиска. /G:файл Получение строк из заданного файла (/ для консоли). /D:список_папок Поиск в списке папок (разделяются точкой с запятой). строка Искомый текст. [диск:][путь]имя_файла Задает имя файла или файлов. Использовать пробелы для разделения нескольких искомых строк, если аргумент не имеет префикса /C. Например, 'FINDSTR "Привет мир" a.b' ищет "Привет" или "мир" в файле a.b, а команда 'FINDSTR /C:"Привет мир" a.b' ищет строку "Привет мир" в файле a.b. Краткая сводка по синтаксису регулярных выражений: . Любой символ. * Повтор: ноль или более вхождений предыдущего символа или класса ^ Позиция в строке: начало строки $ Позиция в строке: конец строки [класс] Класс символов: любой единичный символ из множества [^класс] Обратный класс символов: любой единичный символ из дополнения [x-y] Диапазон: любые символы из указанного диапазона \x Служебный символ: символьное обозначение служебного символа x \<xyz Позиция в слове: в начале слова xyz\> Позиция в слове: в конце слова За полной информацией о регулярных выражениях FINDSTR обратитесь к доступной интерактивной документации.Comment
-
Привет, коллеги.
С Zabbix работаю совсем недавно. И целью использования было как раз таки мониторинг SMART
параметров жестких дисков. Пытался настроить по мануалу https://github.com/v-zhuravlev/zbx-smartctl
однако не прилетает ничего на сервер.
PS скрипт отрабатывает хорошо данные получаю.
остальные дефолтные данные с Zabbix монитора то же получаю.
Таймаут увеличивал до 15.
Есть подозрение, что это не работает в версии 4.4. шаблон в примере от 3.4
Или вовсе не работает в случае пассивного клиента.
Подскажите куда копать ?Comment
-
Вот - https://github.com/grenom/smregex
Моё решение по мониторингу дисков с автообнаружением по типу дисков. Обертка на smartctl. Оттестировано, работает норм. Можно создавать свои шаблоны по типу дисков. Если нужно могу выложить шаблоны.
Ссыль на share - https://share.zabbix.com/storage-dev...ntools/smregexComment
-
не забывайте, что есть еще windows ... и тащить в него sed..... лучше делать обработку на стороне припроцессинга в LLDComment
-
Причём в нынешних версиях Zabbix то, что делается в этой строке sed-ом, можно делать на стороне сервера Zabbix через препроцессинг. А можно и даже этого не делать, если аккуратно настроить LLD
Comment
-
еще вот думал как-бы получать сами данные параметров дисков через json и предобработку, но так и не надумал
что-то я хочу много данных по одному диску получать (10 параметров), конечно период опроса разный и некоторые параметры опрашиваются раз в 10 мин и даже раз в час
но заббикс не умеет равномерно распределять запросы, а каждый запуск smartctl это скачок iowait time
в итоге на серверах где несколько дисков получаем "шум" на графике iowait time с пиками до 6-8 %, который забивает рабочую нагрузку
плюс использование smartctl -a -j вызывает заметный такой подвисон
исторически обхожу проблему скриптом с кэшированием
но время идет, вот скрипт LLD заменился одной строкой, хотелось бы и параметры получать так-же
и еще вот мысль (не оформившаяся окончательно), по поводу получения информации по привязке точек монтирования к устройствам (а то при авариях и невозможности зайти в консоль начинаешь вспоминать какой диск каком тому соответствовал)
есть например команда:
вот наверное неплохо было бы эту информацию как-то присоседить к параметрам smartctlCode:lsblk -Jpo NAME,FSTYPE,MOUNTPOINT
а вообще lsblk столько инфы может выдать, что и smartctl частично заменяетComment
-
имхо smart немного более про ошибки диска чем про «инвентаризацию»
и основная «засада» - жуткий зоопарк форматов вывода параметров.
всяк производитель норовит что-то свое выдумать.... как новый диск - так правь regex.Comment
Comment