Zabbix ipmi не работает

Zabbix — проблема с получением значений некоторых IPMI сенсоров

Заметил, что хосты очень плохо мониторятся через IPMI, никак не мог понять в чём дело. И вот сегодня звёзды сложились так, что удалось подметить некоторую закономерность в поведении хостов.

С помощью ipmitool получаем значения сенсоров одного из хостов. Получение информации о сенсорах IPMI с помощью ipmitool. В примере ниже это my_server_dns_name, не суть важно:

В качестве примера я оставил только сенсоры вентиляторов.

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

Третий пункт: в заббиксе относительно нормально отображаются значения первых трёх вентиляторов, хотя график всё равно рваный. А пятый и шестой почти не отображаются или не отображаются вовсе. Думал, что IPMI сервис плохо работает на серверах, но нет.

Случайно заметил в логах zabbix-сервера такую картину:

Это четвёртый пункт. Странность заключается в том, что сенсор один и тот же, а сервера разные.

Если обобщить все странности, то получается следующее:

  1. Zabbix-сервер имеет таблицу IPMI сенсоров и бежит циклом по этим сенсорам в алфавитном порядке.
  2. Берет FAN1, получает значение этого сенсора для каждого хоста, которому это значение нужно получить.
  3. Пишет полученные значения, потом берет следующий сенсор FAN2, потом FAN3, пока всё в порядке.
  4. Доходит до сенсора в состоянии «na» — у нас это FAN 4 — не находит его на server1 и пишет «first network error, wait for 15 seconds».
  5. И получение IPMI сенсоров для server1 останавливается на 15 секунд, для всех IPMI сенсоров!
  6. Дальше zabbix-сервер пытается найти FAN4 у server2, если его не находит, то » wait for 15 seconds».
  7. Пробегает по всем остальным хостам, уже не важно находит он у них FAN4 или нет, хосты заканчиваются.
  8. Zabbix-сервер берет FAN5, бежит по серверам, доходит до server1. А хост-то всё ещё » wait for 15 seconds», 15 секунд не прошли, заббикс пропускает этот сервер.
  9. В итоге для server1 значение FAN5 не записывается, хотя сенсор прекрасно работает.
  10. С FAN6 та же история, если 15 секунд не прошли, то значение не записывается.
  11. Потом 15 секунд простоя истекают, хост дальше нормально мониторится.

В результате имеем дырки не меньше 15 секунд в значениях у работающих IPMI сенсоров, рваные графики и даже вовсе пустые значения.

Что делать? Избавляться от «na» сенсоров. Проанализируем наши шаблоны. Если все сервера внутри шаблона имеют одинаковую конфигурацию, то ставим все сенсоры «na» в disabled. Если сервера имеют разную конфигурацию (у кого-то сенсор работает, у кого-то нет), то ставим все сенсоры «na» в disabled уже на каждом конкретном хосте.

Сделал так в рамках одного из шаблонов, — провалы прекратились, полёт нормальный.

Источник

Мониторинг серверов с Intel RMM средствами Zabbix

Overview

Настраиваем IPMI

ipmitool> lan set 1 ipsrc static
ipmitool> lan set 1 ipaddr 192.168.1.17
ipmitool> lan set 1 netmask 255.255.255.0
ipmitool> lan set 1 defgw ipaddr 192.168.1.10

ipmitool> lan set 1 access on
ipmitool> lan set 1 auth USER MD5

ipmitool> user set name 2 zabbix
ipmitool> user set password 2 zabbix
ipmitool> user priv 2 2 1

ipmitool> channel setaccess 1 2 callin=on ipmi=on link=on privilege=2
ipmitool> channel authcap 1 2
ipmitool> user test 2 16 zabbix
Success

Настраиваем Zabbix

Starting zabbix_server. Zabbix 1.8.1 (revision 9702).
**** Enabled features ****
IPMI monitoring: YES
…
server # started [IPMI Poller]

ipmitool> sdr
BB +1.1V IOH | 1.09 Volts | ok
BB +1.1V P1 Vccp | 0.96 Volts | ok
BB +1.1V P2 Vccp | 0.94 Volts | ok
…

Здесь первое поле — имя сенсора, второе — значение.
Заносим это в конфигурацию элемента:

  • Поле «Type» — выбираем IPMI Sensor
  • Поле «IPMI sensor» — записываем имя сенсора, как оно быо указано в sdr.
  • Поле «Key» — любой уникальный ключ для записи в БД.

Заполняем подобным образом все интересующие сенсоры и получаем примерно такую картинку:

А при переходе в «Monitoring -> Latest data» — значения сенсоров.
Дальше с этими данными можно делать практически всё, что угодно: рисовать графики, создавать триггеры на оповещение, строить отчёты по SLA и многое другое из того, что умеет Zabbix.
Например, у меня получились такие шаблоны:
Для RMM2
Для RMM3

Приятного мониторинга!

Данная статья ни в коей мере не является Definitive Guide, скорее личным представлением предмета. Соответственно, возможны ошибки. Буду рад, если хабрасообщество укажет на них.

Источник

Читайте также:  Не работает реле холодильника индезит

Zabbix Documentation 5.4

Table of Contents

4 Проверки IPMI

Обзор

Вы можете наблюдать за состоянием и доступностью устройств Intelligent Platform Management Interface (IPMI) в Zabbix. Для выполнения проверок по IPMI Zabbix сервер должен быть изначально сконфигурирован с поддержкой IPMI.

IPMI стандартизованный интерфейс для удаленного управления “lights-out” или “out-of-band” компьютерными системами. Он позволяет наблюдать за состоянием аппаратного обеспечения напрямую с так называемых карт управления “out-of-band”, независимо от операционной системы или же от наличия питания на машине.

Zabbix IPMI мониторинг работает только с устройствами имеющими поддержку IPMI (HP iLO, DELL DRAC, IBM RSA, Sun SSP и т.п.).

Начиная с Zabbix 3.4, добавлен новый процесс IPMI менеджер, который выполняет распределение проверок IPMI между IPMI поллерами. Теперь, узел сети всегда опрашивается одним и тем же IPMI поллером, таким образом снижается количество открытых подключений к BMC контроллерам. Благодаря этим изменениям можно безопасно увеличивать количество IPMI поллеров, не беспокоясь о перегрузке BMC контроллеров. Процесс IPMI менеджер автоматически запускается, если запускается хотя бы один IPMI поллер.

Смотрите также известные проблемы по IPMI проверкам.

Настройка

Настройка узла сети

Узел сети необходимо настроить для обработки проверок IPMI. Необходимо добавить интерфейс IPMI, с соответствующими IP адресом и номером порта, и задать параметры аутентификации IPMI.

Смотрите настройку узлов сети для получения более подробных сведений.

Настройка сервера

По умолчанию, Zabbix сервер не запускает IPMI поллеры, таким образом любые добавленные элементы данных IPMI не будут работать. Чтобы изменить это, откройте файл конфигурации (zabbix_server.conf) Zabbix сервера из под root и найдите следующую строку:

Раскомментируйте эту строку и задайте количество поллеров, скажем, равное 3 так, чтобы строка была следующей:

Сохраните файл и затем перезапустите zabbix_server.

Настройка элемента данных

Время ожидания и завершение сессии

Время ожидания IPMI сообщений и количества попыток определены в библиотеке OpenIPMI. В связи с текущим дизайном OpenIPMI, невозможно сделать эти значения настраиваемыми из Zabbix, ни на уровне интерфейса, ни на уровне элемента данных.

Примечания о дискретных датчиках IPMI

Для поиска датчиков на узле сети запустите Zabbix сервер с включенным DebugLevel=4. Подождите пару минут и найдите записи об обнаруженных датчиках в журнале Zabbix сервера:

Начнем с параметра “тип_чтения”(“reading_type”). Для расшифровки кода “reading_type” используйте раздел “Table 42-1, Event/Reading Type Code Ranges” из спецификации. Большинство датчиков из нашего примера имеют “reading_type:0x1” означающих “порог” датчика. “Table 42-3, Sensor Type Codes” показывает, что “type:0x1” — температурный датчик, “type:0x2” — датчик напряжения, “type:0x4” — датчик частоты вращения вентилятора системы охлаждения и так далее. Пороговые датчики иногда называют “аналоговыми” датчиками, так как они измеряют непрерывные параметры, такие как температуру, напряжение, частоту вращения в минуту.

Другой пример — датчик с “reading_type:0x3”. “Table 42-1, Event/Reading Type Code Ranges” говорит, что считываемые типы кодов 02h-0Ch это “Общий Дискретный” датчик. Дискретные датчики имеют до 15 возможных состояний (другими словами — до 15 значимых бит). К примеру, для датчика ‘CATERR’ с “type:0x7” “Table 42-3, Sensor Type Codes” показывает, что этот тип обозначает “Процессор” и значение отдельных бит: 00h (наименьший значимый бит) — IERR(внутренняя ошибка процессора), 01h — Перегрев процессора и т.д.

Есть в нашем примере несколько датчиков с “reading_type:0x6f”. Для этих датчиков “Table 42-1, Event/Reading Type Code Ranges” советует использовать “Table 42-3, Sensor Type Codes” для расшифровки значений бит. Например, датчик ‘Power Unit Stat’ имеет тип “type:0x9”, который означает “Блок питания”. Смещение 00h означает “Выключено/Обесточено”. Другими словами, если младший значимый бит равен 1, то сервер выключен. Для проверки этого бита можно воспользоваться функция band с маской 1. Выражение триггера может выглядеть следующим образом

для предупреждения о выключенном сервере.

Заметки о именах дискретных датчиков в OpenIPMI-2.0.16, 2.0.17, 2.0.18 и 2.0.19

Имена дискретных датчиков в OpenIPMI-2.0.16, 2.0.17 и 2.0.18 зачастую имеют дополнительный символ “ 0 ” (или какую-то другую цифру или символ), присоединенный к концу имени. Например, тогда как ipmitool и OpenIPMI-2.0.19 отображают имена датчиков как “ PhysicalSecurity ” или “ CATERR ”, в OpenIPMI-2.0.16, 2.0.17 и 2.0.18 следующее именование “ PhysicalSecurity0 ” или “ CATERR0 ”, соответственно.

При настройке элемента данных IPMI для Zabbix сервера использующего OpenIPMI-2.0.16, 2.0.17 и 2.0.18, добавьте к их именам “0” в поле IPMI датчик для элементов данных IPMI агента. Когда ваш Zabbix сервер будет обновлен в новом Linux дистрибутиве, который использует OpenIPMI-2.0.19 (или более позднюю), элементы данных с такими IPMI дискретными датчиками перейдут в “NOT SUPPORTED”. Вам потребуется изменить их имена IPMI датчик (удалить с конца ‘0’) и подождать некоторое время пока они станут “Активированными” снова.

Заметки о одновременной доступности пороговых и дискретных датчиках

Некоторые IPMI агенты предоставляют одновременно пороговые и дискретные датчики под одним именем. В версиях Zabbix до 2.2.8, выбирался первый полученный датчик. Начиная с версии 2.2.8, предпочтение всегда отдается пороговому датчику.

Примечания о завершении соединений

Если IPMI проверки не выполняются (по любой из причин: все элементы данных IPMI деактивированы/не поддерживаются на узле сети, сам узел сети деактивирован/удален, узел сети в обслуживании и так далее), то в этом случае Zabbix сервер/прокси продолжит сбор данных по IPMI с этого узла сети до перезагрузки сервера/прокси.

Читайте также:  Не работают дворники шкода рапид 2015

Источник

FreeBSD: Мониторинг состояния оборудования с поддержкой IPMI в Zabbix

Одной из полезнейших возможностей системы мониторинга Zabbix является наблюдение за состоянием оборудования с поддержкой IPMI (Intelligent Platform Management Interface) — интеллектуального интерфейса управления платформой, который предназначен для автономного мониторинга состояния компонентов серверных платформ, а также для управления встроенными в них аппаратными и микропрограммными функциями даже в тех случаях, когда система находится в выключенном состоянии.

Постановка задачи

Необходимо «научить» Zabbix следить за такими параметрами сервера с поддержкой IPMI, как: окружающая температура, температура центральных процессоров, скорость вращения вентиляторов систем охлаждения, напряжение на выходах блока питания, состояние батареи CMOS и т.д. (полный список параметров зависит от возможностей используемого BMC). Данная статья содержит рекомендации по получению списка сенсоров (датчиков), поддерживаемых Вашей платформой, включению IPMI мониторинга узлов сети, а также созданию элементов данных и триггеров, предназначенных для контроля текущего состояния оборудования и оповещения системных администраторов о предстоящем возникновении проблем.

Исходные данные

Имеется сервер HP ProLiant DL140 G3 с модулем удаленного управления HP Lights-Out 100i (LO100i) Remote Management standard, работающий под управлением операционной системы FreeBSD и, кроме всего прочего, являющийся сервером Zabbix. Для получения информации о поддерживаемых сенсорах и критических значениях измеряемых ими параметров будет использоваться утилита ipmitool, а для обеспечения поддержки IPMI сервером Zabbix — компоненты пакета OpenIPMI. Все программное обеспечение будет устанавливаться из портов, поэтому я рекомендую Вам обновить их (я использовал FreeBSD 8.1-STABLE и последние на начало августа 2010 года версии портов для нее).

Получение информации о доступных сенсорах IPMI

Перед выполнением действий, которые описаны в данной статье, следует убедиться, что используемая Вами платформа поддерживает функции IPMI. Для этого достаточно загрузить модуль ядра (драйвер) IPMI командой kldload ipmi , а затем посмотреть содержимое журнала системных сообщений командой dmesg | grep ipmi . Если используемая платформа поддерживает функции IPMI, будут отображены примерно такие сообщения:

Утилиту ipmitool, являющуюся одним из удобнейших инструментов для работы с IPMI из консоли, необходимо установить из портов:

Для получения информации о доступных сенсорах можно выполнить команду ipmitool sensor , которая отобразит примерно такую таблицу:

Первый столбец этой таблицы содержит название сенсора ( Sensor ID ), второй — текущее значение параметра ( Sensor Reading ), третий — единицу измерения ( Sensor Type ), четвертый — статус ( Status ), пятый — низшее значение, при котором соответствующий узел может выйти из сторя ( Lower Non-Recoverable ), шестой — низшее критическое значение ( Lower Critical ), седьмой — низшее некритическое значение ( Lower Non-Critical ), восьмой — высшее некритическое значение ( Upper Non-Critical ), девятый — высшее критическое значение ( Upper Critical ), десятый — высшее значение, при котором соответствующий узел может выйти из сторя ( Upper Non-Recoverable ).
Если Вас не устраивает табличное отображение информации, выполните команду ipmitool -v sensor , а затем «отфильтруйте» предоставленные ей данные. Например, команда ipmitool -v sensor | grep -A 13 «AMB Temp» отобразить список параметров сенсора AMB Temp в таком виде:

Настройка удаленного доступа к функциям IPMI

В отличие от утилиты ipmitool сервер Zabbix не поддерживает работу через драйвер IPMI и может подключаться к наблюдаемому оборудованию только по сети с использованием IP-адреса или доменного имени, имени пользователя и пароля. Способы установки значений этих параметров зависят как от аппаратной реализации, так и от программной конфигурации используемой платформы. Дорогие модули удаленного управления имеют в своем составе отдельные сетевые интерфейсы и развитые средства конфигурирования, а для настройки более бюджетных моделей без собственных сетевых интерфейсов и средств конфигурирования придется воспользоваться сторонними инструментами.
Если Вы (как и я) являетесь обладателем достаточно серьезного модуля удаленного управления, изучите поставляемую с ним документацию, а затем задайте соответствующие параметры любым удобным способом. Например, при использовании серверов HP ProLiant можно установить IP-адрес в настройках BIOS, а затем подключиться к слушающему этот адрес BMC HTTP Server’у и создать аккаунт пользователя прямо из браузера.
Для настройки бюджетных модулей удаленного управления подойдет утилита ipmitool. С ее помощью придется выбрать сетевой интерфейс, к которому будет привязан виртуальный интерфейс модуля удаленного управления, задать IP-адрес и маску подсети (при необходимости доступа из-за пределов локальной сети еще и шлюз по умолчанию), а также создать аккаунт пользователя с нужными именем, паролем и привилегиями.
Для того, чтобы выбрать первый сетевой интерфейс материнской платы и задать для него IP-адрес 192.168.0.253 , маску подсети 255.255.255.0 и шлюз по умолчанию 192.168.0.1 , необходимо выполнить команды:

Для просмотра сделанных изменений можно выполнить команду ipmitool lan print 1 , которая отобразит примерно такое сообщение:

При работе с утилитой ipmitool для указания пользователей применяются числовые идентификаторы ( ID ). Уровни привилегий ( Priv ) также задаются цифрами, при этом 1 соответствует CALLBACK , 2 — USER , 3 — OPERATOR , 4 — ADMINISTRATOR , 5 — OEM , 15 — NO ACCESS . С учетом этих особенностей для создания пользователя с идентификатором 2 , именем zabbix , паролем password4zabbix и уровнем привилегий USER , а также для разрешения этому пользователю доступа к функциям IPMI канала 1 с привилегиями USER следует выполнить команды:

Для просмотра прав доступа к каналу 1 , предоставленных пользователю с идентификатором 2 , подойдет команда ipmitool channel getaccess 1 2 , которая отобразит примерно такое сообщение:

На этом настройка заканчивается. Для тестирования работоспособности свежесозданной конфигурации можно выполнить любую из рассмотренных в предыдущем разделе команд (командам из текущего раздела требуется более высокий уровень привилегий), указав IP-адрес или доменное имя, имя пользователя, пароль и уровень привилегий с помощью ключей -H , -U , -P и -L . Например, команда получения списка доступных сенсоров с учетом заданных параметров доступа по сети будет иметь вид ipmitool -H 192.168.0.253 -U zabbix -P password4zabbix -L USER sensor и т.д.
В связи с разнообразием модулей удаленного управления я настоятельно рекомендую Вам начинать настройку только после изучения документации по используемой платформе, а также руководства по работе с утилитой ipmitool.

Читайте также:  Как сказать что больше не хочешь работать

Подготовка сервера Zabbix для IPMI мониторинга

Для того, чтобы сервер Zabbix мог осуществлять IPMI мониторинг, необходимо пересобрать его из портов с опцией WITH_IPMI :

После завершения пересборки, в процессе которой установятся все необходимые зависимости, включая пакет OpenIPMI, следует добавить в файл конфигурации сервера Zabbix /usr/local/etc/zabbix/zabbix_server.conf строку, задающую количество поллеров IPMI (для нескольких десятков элементов данных, связанных с параметрами нескольких серверов, хватит одного поллера):

Теперь можно перезапустить сервер Zabbix командой /usr/local/etc/rc.d/zabbix_server restart и посмотреть содержимое его лога командой grep IPMI /tmp/zabbix_server.log . Если Вы не допустили ни каких ошибок, будут отображены примерно такие сообщения:

Включение IPMI мониторинга узлов сети

Для включения IPMI мониторинга любого из узлов сети нужно зайти в раздел Настройка » Узлы сети и перейти по соответствующей ссылке в столбце Имя. На открывшейся странице КОНФИГУРАЦИЯ УЗЛОВ СЕТИ следует установить «галочку» Использовать IPMI, а затем указать заданные ранее IPMI IP адрес, Имя пользователя IPMI и Пароль IPMI. После внесения изменений страница КОНФИГУРАЦИЯ УЗЛОВ СЕТИ будет выглядеть примерно так:

Создание элементов данных для IPMI мониторинга

При создании элементов данных, связанных с сенсорами IPMI, следует помнить три момента: во-первых, их Тип должен иметь значение IPMI агент, во-вторых, их параметр IPMI Sensor должен содержать Sensor ID , возвращаемый утилитой ipmitool, в третьих, их параметр Ключ может содержать любой текст без пробелов (во избежание путаницы такой же текст, как IPMI Sensor, только без пробелов). Например, для создания элемента данных Ambient temperature, связанного с сенсором AMB Temp , нужно зайти в раздел Настройка » Узлы сети и перейти по ссылке Элементы данных в столбце Элементы данных. На открывшейся странице ЭЛЕМЕНТЫ ДАННЫХ необходимо нажать кнопку Создать элемент данных, а затем на открывшейся странице НАСТРОЙКА ЭЛЕМЕНТОВ ДАННЫХ следует ввести Описание (произвольное название элемента данных), выбрать в списке Тип значение IPMI агент, ввести в поле IPMI Sensor значение Sensor ID , ввести аналогичный текст (естественно, удалив пробел) в поле Ключ, задать Единицу измерения и Интервал обновления (на мой взгляд, не следует «мерить» значения инертных параметров IPMI чаще, чем раз в 3 минуты):

Значения элементов данных, созданных для IPMI мониторинга, можно посмотреть в разделе Мониторинг » Последние данные.

Создание триггеров для IPMI мониторинга

Создание триггеров, предназначенных для фиксации ненормального состояния оборудования не имеет каких-либо особенностей, при этом в качестве порогов срабатывания можно использовать значения Lower Non-Critical и/или Upper Non-Critical , возвращаемые утилитой ipmitool. Например, для создания триггера High ambient temperature on , срабатывающего в случае превышения верхней границы диапазона нормальной окружающей температуры, необходимо зайти в раздел Настройка » Узлы сети и перейти по ссылке Триггеры в столбце Триггеры. На открывшейся странице ТРИГГЕРЫ следует нажать кнопку Создать триггер, на открывшейся странице НАСТРОЙКА ТРИГГЕРОВ нужно ввести выбранное Имя, задать Выражение >30 , а также выбрать в списке Важность значение Предупреждение:

Выражения триггеров, фиксирующих слишком маленькую скорость вращения вентиляторов систем охлаждения, отличаются от рассмотренного только знаком. Например, для триггера Slow CPU Fan 1 speed on подойдет выражение .
Выражения триггеров, предназначенных для выявления слишком низкого и слишком высокого напряжения источников питания, имеют более сложную структуру и представляют из себя логические суммы пар простых выражений. Например, для триггера Wrong CPU0 VCore voltage on подойдет выражение 1.597 .

Шаблон для IPMI мониторинга серверов HP ProLiant DL140 G3

В связи с тем, что в моем «хозяйстве» есть несколько серверов HP ProLiant DL140 G3, я решил вынести связанные с ними элементы данных и триггеры для IPMI мониторинга в отдельный шаблон Template_IPMI_HP_DL140G3 , который содержит 3 группы элементов данных, 19 элементов данных и 19 триггеров. Для того, чтобы импортировать этот шаблон в систему мониторинга Zabbix, следует зайти в раздел Настройка » Экспорт/Импорт, выбрать в выпадающем списке в правом верхнем углу окна значение Импорт, нажать кнопку Обзор, выбрать файл template-ipmi-hp-dl140g3.xml и нажать кнопку Импорт. Теперь вместо ручного создания элементов данных и триггеров для IPMI мониторинга серверов HP ProLiant DL140 G3 достаточно добавить к нужным узлам сети свежеустановленный шаблон Template_IPMI_HP_DL140G3 .

Заключение

Я надеюсь, что данная статья, поможет Вам достаточно быстро и без лишних затруднений настроить систему мониторинга Zabbix для наблюдения за состоянием оборудования с поддержкой IPMI. Позже я обязательно продолжу знакомить Вас с другими не менее полезными возможностями системы мониторинга Zabbix, поэтому не забудьте подписаться на новости. Вы можете принять участие в обсуждении этой статьи на форуме OpenNET. Мне интересны любые замечания, комментарии и рекомендации.

Понравилась статья?

Поделитесь ссылкой в социальной сети или блоге:

Источник

Оцените статью