Home » Zabbix » Мониторинг Intel raid с помощью raidcfg и Zabbix

Мониторинг Intel raid с помощью raidcfg и Zabbix

У меня есть группа серверов с настроенным intel raid и установленными поверх Windows Hyper-V Server. Возникло больше желание с помощью zabbix наблюдать за состоянием массивов и предупреждать в случае проблем. Готового решения нигде не нашел, поэтому пораскинул мозгами и придумал свое, чем и хочу поделиться с вами.

Теоретический курс по основам сетевых технологий. Позволит системным администраторам упорядочить и восполнить пробелы в знаниях. Цена очень доступная, есть бесплатный доступ. Все подробности по . Можно пройти тест на знание сетей, бесплатно и без регистрации.

Цели статьи

  1. Настроить передачу в zabbix состояния рейд массивов, настроенных с помощью встроенной в материнскую плату технологии intel raid.
  2. При настройке совершать минимум действий на целевых серверах, а максимум на zabbix сервере.
  3. Настроить триггеры и уведомления на случай, если состояние рейда отличается от рабочего Normal.

Введение

На серверах уже настроен мониторинг состояния SMART дисков. При использовании встроенного intel raid, состояние дисков с целевой системы нормально наблюдается. В принципе, мне этого хватало, но подумал, почему бы и состояние массивов не замониторить, ведь массив может развалиться и при нормальных показателях смарта дисков.

В первую очередь погуглил и не нашел практически ничего, что помогло бы настроить мониторинг интел рейдов в zabbix. На целевых системах установлена интеловская утилита raidcfg, с помощью которой можно посмотреть на состояние массивов и дисков. Например, с ключом /st получается вот такой вывод.

Статус raid массивов

Красиво и наглядно, но для автоматизации не очень подходит. Лучше подойдет ключ /stv.

raidcfg /stv

С такими данными уже можно работать. В целом, ничего сложного, нужно распарсить вывод любым удобным способом и передать на сервер мониторинга информацию о статуте рейд массива. Как можно с помощью батников парсить различные текстовые файлы я показывал на нескольких примерах в отдельной статье — Мониторинг значений из текстового файла в Zabbix.

В этот раз мне не захотелось такие костыли городить на каждом сервере. Я в итоге решил поступить по-другому. На zabbix сервере сделать скрипт для внешних проверок. Этот скрипт будет на целевом сервере с помощью zabbix_get забирать вывод команды raidcfg.exe /stv, запущенной через system.run. Дальше вывод команды в исходном виде поступает на zabbix сервер. Его можно парсить каким-то образом, но я решил этого не делать. Вывод и так короткий, много места не занимает. Проверка на наличие тревожных слов будет уже в триггере с помощью regexp.

Если у вас еще нет своего сервера для мониторинга, то рекомендую материалы на эту тему. Для тех, кто предпочитает систему CentOS:

  1. Установка CentOS 7.
  2. Настройка CentOS 7.
  3. Установка и настройка zabbix сервера.

То же самое на Debian 10, если предпочитаете его:

  1. Установка Debian 10.
  2. Базовая настройка Debian.
  3. Установка и настройка zabbix на debian.

Скрипт для внешних проверок raid массивов

В директорию на zabbix сервере /usr/lib/zabbix/externalscripts кладем скрипт intelraid.sh для внешних проверок.

#!/bin/bash

/usr/bin/zabbix_get -s $1 -k system.run["c:\windows\raidcfg.exe /stv"]

Скрипт, как вы видите, очень простой. Для того, чтобы он работал, вам обязательно нужно на каждом агенте разрешить выполнение внешних команд. По-умолчанию они отключены. Добавляем в агенте параметр:

EnableRemoteCommands=1

И перезапускаем агент. Это все, что надо делать на целевых серверах. Теперь можно проверить работу скрипта. Для этого выбираете любой сервер и передаем его ip адрес в качестве параметра скрипту.

# /usr/lib/zabbix/externalscripts/intelraid.sh 10.1.4.9
;Index,Level,StripSize,SizeinMB,Status,Bootable,Array,Name
0,1,64kB,1907726,"Normal","Yes",0,"System"
1,1,64kB,2861586,"Normal","Yes",1,"Storage"

Если получаете результат работы утилиты raidcfg, значит все в порядке. Можно переходить в web интерфейс сервера мониторинга.

Шаблон для мониторинга за intel raid

Шаблон очень простой — один элемент и один триггер, поэтому экспорт шаблона делать не буду, лучше создать вручную, чтобы точно работало на всех версиях Zabbix. Вот элемент данных.

Шаблон для мониторинга intel raid в zabbix

А вот триггер к нему.

Триггер о статусе массива

Выражение триггера:

{Intel raid with raidcfg:intelraid.sh[{HOST.CONN}].regexp(Failed|Disabled|Degraded|Rebuild|Updating|Critical)}=1

Если в строке будет найдено одно из слов Failed|Disabled|Degraded|Rebuild|Updating|Critical, то он сработает. Я на практике не проверял работу триггера, так как не хотелось рейд ломать. А потестил следующим образом. Добавил в проверочную строку название одного из массивов, к примеру, Storage, который встречается не на всех серверах. В итоге, триггер сработал только там, где было такое название. Так что в теории, проверка должна работать корректно.

Теперь можно добавлять шаблон к необходимым хостам и ждать поступление данных. В Latest Data должны увидеть следующее содержимое итема.

Мониторинг intel raid

Вот и все. Теперь все intel raid массивы подключены к мониторингу.

Заключение

Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

Так быстро и просто решается прикладная задача по мониторингу с помощью Zabbix. Сел, прикинул и сразу сделал. Вариантов решения обычно несколько, выбирай на свой вкус. Можно было на клиенте распарсить вывод и передавать в Zabbix сразу состояние массива в одно слово. А можно было просто True/False или 1/0.

Я последнее время стараюсь максимально выполнять на сервере и минимально на клиенте, благо в заббиксе появилась куча средств для этого — пост обработка данных, зависимые элементы и т.д. Буду рад замечаниям и предложениям по теме в комментариях. Если вам интересен Zabbix, читайте мои остальные статьи по нему.

Онлайн курсы по Mikrotik

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курсы по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Помимо официальной программы, в курсах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте . Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области. Особенности курсов:
  • Знания, ориентированные на практику;
  • Реальные ситуации и задачи;
  • Лучшее из международных программ.

Помогла статья? Есть возможность отблагодарить автора

Автор Zerox

Zerox
Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству.

13 комментариев

  1. Аватар

    Добрый день. Есть необходимость использовать MIB для мониторинга различного железа. Вычитал, что есть snmp builder для заббикса. Она актуален для последних версий? Если да, то не могли бы вы об этом написать статью? Ну или консультацию дать лично, там договоримся. Спасибо

    • Zerox

      Не слышал ничего об этом и не занимался. Вряд ли смогу чем-то помочь по этому поводу.

  2. Аватар

    Zerox, Здравствуйте, а где брать raidcfg? intel не выпускает уже эту утилиту? Получается этот метод подходит для компов 5-ти летней давности(когда в irst входил raidcfg)

    • Zerox

      Сейчас не знаю. Писал статью недавно, этим летом, нашел без проблем в гугле ее. Настраивал несколько серверов.

  3. Аватар

    а где взять этот raidcfg? windows server 2012 r2 что то у меня не работает

      • Аватар

        у меня почему то пишет не подходит для этой платформы хотя выбирвю свою ос

      • Аватар

        E Win32 exception occurred!!
        2019:07:11 12:08:25:216: Error code: 0x4E24 (20004)
        2019:07:11 12:08:25:217: Error text: »
        2019:07:11 12:08:25:217: Extended error text: ‘Error in device matching’
        2019:07:11 12:08:25:217: Debug info: ‘Setup.cpp (900)’
        2019:07:11 12:08:25:217: Node is not valid. Failed to resolved error string from config file error: 20004
        2019:07:11 12:08:25:217: propertyId: 8095, serror: Эта платформа не поддерживается. errorCode: 20004

        строчки лога с ошибкой

      • Аватар

        как пишут на форуме intel, последняя raidcfg32 содержится в версии 13.2, но найти так и не получилось. Удалось найти версию RST_11.0.0.1032. Установив эту версию на Asus PRIME H270-PLUS не удается загрузить windows 7 в обычном режиме, только с «отключением проверки цифровой подписи драйверов». Способ мониторинга в данной статье рабочий, вот только intel эту утилиту (raidcfg32) уже не поддерживает.

  4. Аватар

    для информации, на центе последнем (7,6) zabbix не заводится
    https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/359132-server-won-t-start
    https://bugzilla.redhat.com/show_bug.cgi?id=1658352
    все что описано в инете у меня не сработало, обещали починить в 7,7

    в дебе 9.х с пол тычка

    ни кто не сталкивался: в virtualbox 6.хх (тестово погонять) поставил debian 9.9, на первый zabbix lts + mysql, на второй zabbix lts + postgre, первый забивает i/o, пришлось шаманить и отключать jbd2 (по шаманским факам), второй в пределах нормы, ни mysql ни postgre не тюнил

  5. Аватар

    Вот бы под виндоус такой мониторинг настроить.
    У меня hp smartarray p212, попробовал https://share.zabbix.com/storage-devices/hp/hp-smart-array-controller , у меня не взлетело.

    • Zerox

      Так эта инструкция по windows и сделана. Но для hp smartarray p212 она не подходит. Это же другой рейд контроллер. Тут речь именно про intel raid.

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

Ваш e-mail не будет опубликован.

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.