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, читайте мои остальные статьи по нему.

Онлайн курс "DevOps практики и инструменты"

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Проверьте себя на вступительном тесте и смотрите программу детальнее по .

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

Автор Zerox

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

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

  1. Аватар

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

    • Zerox

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

  2. Аватар

    а где взять этот 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) уже не поддерживает.

  3. Аватар

    для информации, на центе последнем (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 не тюнил

  4. Аватар

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

    • Zerox

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

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

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

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