Предыдущая версия справа и слева
Предыдущая версия
Следующая версия
|
Предыдущая версия
Следующая версия
Следующая версия справа и слева
|
zabbix_raid [2014/02/21 17:49] metallic [Пример создания тригера] |
zabbix_raid [2021/04/27 11:40] metallic [Adaptec] |
====== Введение ====== | ====== Введение ====== |
Есть у меня в парке серверов множество различных рейд-контроллеров, в том числе софтовых(mdadm). У каждого из них имеются различные средства мониторинга, но хотелось бы все это отслеживать централизовано, например через zabbix, а в случае изменения состояния любого из массивов - получать уведомления, например по почте. Данная статья не является пошаговым руководством, а представляет из себя набор заметок на память для различных контроллеров. В каждом подразделе описана техника получения информации о состоянии массивов zabbix-агентом. | Есть у меня в парке серверов множество различных рейд-контроллеров, в том числе софтовых(mdadm). У каждого из них имеются различные средства мониторинга, но хотелось бы все это отслеживать централизовано, например через zabbix, а в случае изменения состояния любого из массивов - получать уведомления, например по почте. Данная статья не является пошаговым руководством, а представляет из себя набор заметок на память для различных контроллеров. В каждом подразделе описана техника получения информации о состоянии массивов zabbix-агентом. |
| |
| ===== Sudoers ===== |
| |
| Большинство утилит управления рейд-контроллером требуют root-привелегий, создаем файл /etc/sudoers.d/zabbix: |
| |
| Defaults:zabbix !requiretty |
| Cmnd_Alias ZABBIX_CMD = /usr/sbin/tw_cli, /usr/sbin/MegaCli64, /usr/sbin/arcconf |
| zabbix ALL = (other_user) NOPASSWD: ALL |
| zabbix ALL = (root) NOPASSWD: ZABBIX_CMD |
| |
===== mdadm ===== | ===== mdadm ===== |
| |
Для мониторинга контроллеров 3ware (теперь уже LSI) понадобится утилита 3w_cli, скачать ее можно с оф. сайта производителя контроллера, либо поставить из стороннего репозитория(в случае с debian): [[http://hwraid.le-vert.net|hwraid]]. | Для мониторинга контроллеров 3ware (теперь уже LSI) понадобится утилита 3w_cli, скачать ее можно с оф. сайта производителя контроллера, либо поставить из стороннего репозитория(в случае с debian): [[http://hwraid.le-vert.net|hwraid]]. |
| |
Утилита 3w_cli работает только из под рута, поэтому нужно установить sudo и в конфиге разрешить забиксу без пароля запуск утилиты, добавляем в конец /etc/sudoers: | |
| |
zabbix ALL=(ALL) NOPASSWD:/opt/3ware/CLI/tw_cli | |
| |
Теперь добавляем в конфиг забикса пользовательский параметр: | Теперь добавляем в конфиг забикса пользовательский параметр: |
| |
UserParameter=custom.3ware.status,sudo /opt/3ware/CLI/tw_cli /c0 show allunitstatus | grep "Not Optimal" | awk '{print $6}' | UserParameter=custom.3ware.status,sudo tw_cli /c0 show allunitstatus | grep "Not Optimal" | awk '{print $6}' |
| |
Этот параметр аналогичным образом подсчитывает кол-во массивов(на первом контроллере), которое имеет статус "Not Optimal". Если в сервере установлено несколько контроллеров, то можно будет сделать скрипт с несколькими подобными командами и в конце сумировать результат. | Этот параметр аналогичным образом подсчитывает кол-во массивов(на первом контроллере), которое имеет статус "Not Optimal". Если в сервере установлено несколько контроллеров, то можно будет сделать скрипт с несколькими подобными командами и в конце сумировать результат. |
===== Adaptec ===== | ===== Adaptec ===== |
| |
Для мониторинга контроллеров Adaptec понадобится утилита arcconf, скачать ее можно с оф. сайта производителя контроллера, либо поставить из стороннего репозитория(в случае с debian): [[http://hwraid.le-vert.net|hwraid]]. | Для мониторинга контроллеров Adaptec понадобится утилита arcconf, скачать ее можно с оф. сайта производителя контроллера, либо поставить из стороннего репозитория(в случае с debian): [[http://hwraid.le-vert.net|hwraid]]. Делаем симлинк на arcconf в /usr/sbin/arcconf. |
| |
В конфиг zabbix-агента добавляем следующий пользовательский параметр: | В конфиг zabbix-агента добавляем следующий пользовательский параметр: |
| |
UserParameter=custom.adaptec.status,/opt/adaptec/arcconf GETCONFIG 1 | grep "Status of logical device" | grep -cv Optimal | UserParameter=custom.adaptec.status,sudo arcconf GETCONFIG 1 | grep -i "Status of logical device" | grep -cv Optimal |
| |
Этот параметр производит подсчет кол-ва массивов первого контроллера, статус которых отличается от "Optimal". Если в системе более одного контроллера, то нужно создать скрипт, который будет выполнять подобную команду для каждого контроллера и суммировать результат. | Этот параметр производит подсчет кол-ва массивов первого контроллера, статус которых отличается от "Optimal". Если в системе более одного контроллера, то нужно создать скрипт, который будет выполнять подобную команду для каждого контроллера и суммировать результат. |
# zabbix_agentd -t custom.adaptec.status | # zabbix_agentd -t custom.adaptec.status |
custom.adaptec.status[/opt/adaptec/arcconf GETCONFIG 1 | grep "Status of logical device" | grep -cv Optimal] [t|0] | custom.adaptec.status[/opt/adaptec/arcconf GETCONFIG 1 | grep "Status of logical device" | grep -cv Optimal] [t|0] |
| |
Все нормально, кол-во отказавших массивов ноль ([t|0]). | Все нормально, кол-во отказавших массивов ноль ([t|0]). |
| |
| Со стороны сервера: |
| # zabbix_get -s X.X.X.X -k "custom.adaptec.status" |
| 0 |
| |
| |
| ===== LSI ===== |
| |
===== LSI(IBM) ===== | Контроллеры LSI можно мониторить с помощью утилиты MegaCLI, в том числе контроллеры, которые установлены в серверах IBM серии X, например x3650 ставят контроллеры LSI. Скачать ее можно с сайта IBM(например ibm_utl_sraidmr_megacli-8.04.10_linux_32-64.zip), но проще [[https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/3DM2_CLI-linux_10-2-2-1_9-5-5-1.zip|с сайта производителя последнюю версию]], это универсальный установщик для любого дистрибутива. |
| |
В серверах IBM серии X, например x3650 ставят контроллеры LSI, которые управляются утилитой megacli, скачать ее можно с сайта IBM(например ibm_utl_sraidmr_megacli-8.04.10_linux_32-64.zip). Есть пакеты только для redhat и suse, но не составляет труда конвертировать их в deb с поомщью alien. Делается это командой: | На сайте IBM есть пакеты только для redhat и suse, но не составляет труда конвертировать их в deb с поомщью alien. Делается это командой: |
| |
# alien --scripts _pakage_name_.rpm | # alien --scripts _pakage_name_.rpm |
После конвертирования устанавливаем пакеты и добавляем пользовательский параметр в zabbix-агент: | После конвертирования устанавливаем пакеты и добавляем пользовательский параметр в zabbix-агент: |
| |
UserParameter=custom.lsi.status,megacli -LDInfo -Lall -aAll | grep State | grep -vc Optimal | UserParameter=custom.lsi.status,sudo MegaCli64 -LDInfo -Lall -aAll | grep State | grep -vc Optimal |
| |
Этот параметр выполняет подсчет всех массивов со статусом отличным от "Optimal". | Этот параметр выполняет подсчет всех массивов со статусом отличным от "Optimal". |
| |
# zabbix_agentd -t custom.lsi.status | # zabbix_agentd -t custom.lsi.status |
custom.lsi.status[megacli -LDInfo -Lall -aAll | grep State | grep -vc Optimal] [t|0] | custom.lsi.status[MegaCli64 -LDInfo -Lall -aAll | grep State | grep -vc Optimal] [t|0] |
| |
===== LSI(Intel) ===== | ===== Intel ===== |
| |
В некоторых сервера с мат. платами intel устанавливали интегрированные контроллеры axx4sasmod. Управлять и мониторить их можно с помощью RAID Web Console 2(не понятно, почему она называется Web, когда работает не через браузер, а требует установки на клиенте), либо с помощью snmp. Команднострочная утилита CmdTool2 почему-то контроллер не обнаружила. Корректно настроить работу через snmp на Debian мне не удалось, как это сделать на редхат-подобных описано в статье, ссылка на которую дана ниже. | В некоторых сервера с мат. платами intel устанавливали интегрированные контроллеры axx4sasmod. Управлять и мониторить их можно с помощью RAID Web Console 2(не понятно, почему она называется Web, когда работает не через браузер, а требует установки на клиенте), либо с помощью snmp. Команднострочная утилита CmdTool2 почему-то контроллер не обнаружила. Корректно настроить работу через snmp на Debian мне не удалось, как это сделать на редхат-подобных описано в статье, ссылка на которую дана ниже. |