Мы уже собирали с поддержкой Установка Заббикс 4.2 на Debian 9 Stretch x64
Zabbix IPMI мониторинг работает только с устройствами, имеющими поддержку IPMI (HP iLO, DELL DRAC, IBM RSA, Sun SSP и т.п.).
Узел сети всегда опрашивается только одним IPMI поллером одновременно, уменьшая количество открытых подключений к BMC контроллерам.
Можно безопасно увеличивать количество IPMI поллеров, не беспокоясь о перегрузке BMC контроллеров.
Процесс IPMI менеджер автоматически запускается, если запускается хотя бы один IPMI поллер.
Устанавливаем если не установлено ipmitool
Код: Выделить всё
apt-get install ipmitool
Код: Выделить всё
nano /usr/local/etc/zabbix_server.conf
Сохраните файл, после чего перезапустите zabbix_server.
Код: Выделить всё
service zabbix-server restart
Скачиваем 2 пакета
Код: Выделить всё
wget http://ftp.br.debian.org/debian/pool/main/o/openipmi/openipmi_2.0.16-1.4_i386.deb
Код: Выделить всё
wget http://ftp.br.debian.org/debian/pool/main/o/openipmi/libopenipmi-dev_2.0.16-1.4_i386.deb
Код: Выделить всё
apt-get source openipmi
Код: Выделить всё
cd openipmi-2*
Код: Выделить всё
nano debian/rules
CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) \
Добавить --with-openssl в ./configure:
CFLAGS="$(CFLAGS)" ./configure --with-openssl --host=$(DEB_HOST_GNU_TYPE) \
Также удалите --without-openssl, если он существует
Необязательно: если вы хотите отладить библиотеку openipmi, закомментируйте строки dh_strip, dh_compress.
Сохраните файл
Собираем пакет
Код: Выделить всё
dpkg-buildpackage
Код: Выделить всё
cd ..
Код: Выделить всё
dpkg -i openipmi*.deb libopenipmi*.deb
Код: Выделить всё
service zabbix-server restart
Обнаружения IPMI датчиков. Поддерживается с Zabbix 5.0.0.
Оф мануал Обнаружение IPMI сенсоров
На наблюдаемом Узле включаем IPMI производим настройки.
ipmi_authtype Алгоритм аутентификации IPMI.
целое число
-1 - по умолчанию
0 - none
1 - MD2
2 - MD5
4 - straight
5 - OEM
6 - RMCP+
ipmi_privilege Уровень привилегий IPMI
целое число
1 - callback обратный вызов
2 - пользователь (по умолчанию)
3 - оператор
4 - админ
5 - OEM
ipmi_username Имя пользователя для IPMI проверок.
ipmi_password Пароль для IPMI проверок.
Переходим в zabbix
В Узле сети указываем
Интерфейсы IPMI: IP/DNS Порт: 623 Далее во вкладке IPMI указываем параметры аутентификации Подключаем необходимый шаблон к узлу Элементы данных Часть элементов данных не поддерживается sensor data is not available , так как этих элементов на сервере просто нет, а шаблон делается для всех компонентов в узле деактивируем не рабочие элементы данных.
Начиная с 5 версии zabbix поддерживается Обнаружение элементов данных и на мониторинг встают только рабочие существующие элементы данных.
Можно обнаружение сделать и на более старых версиях с обработкой через скрипт.
Как проверить какие данные доступны через IPMI и создать шаблон если его нет.
Просмотреть можно в ssh например при помощи следующих команд:
Код: Выделить всё
ipmitool -I lanplus -L USER -H хост -p Порт -U логин -P пароль chassis power status
Код: Выделить всё
ipmitool -I lanplus -L USER -H хост -p Порт -U логин -P пароль sensor
Код: Выделить всё
ipmitool -I lanplus -L USER -H хост -p Порт -U логин -P пароль sensor list
Код: Выделить всё
ipmitool -I lanplus -L USER -H хост -p Порт -U логин -P пароль sensor get 'ИМЯ_СЕНСОРА'
Код: Выделить всё
ipmitool -I lanplus -L USER -H хост -p Порт -U логин -P пароль sensor get fan1
Код: Выделить всё
ipmitool -I lanplus -L USER -H хост -p Порт -U логин -P пароль sdr
Код: Выделить всё
ipmitool -I lanplus -L USER -H хост -p Порт -U логин -P пароль sdr elist full
Код: Выделить всё
ipmitool -I lanplus -L USER -H хост -p Порт -U логин -P пароль user list
Код: Выделить всё
ipmitool -I lanplus -L USER -H хост -p Порт -U логин -P пароль chassis status
Код: Выделить всё
ipmitool -I lanplus -L USER -H хост -p Порт -U логин -P пароль chassis power status
Код: Выделить всё
ipmitool -I lanplus -L USER -H хост -p Порт -U логин -P пароль sel list
Как работает IPMI в ZABBIX и какие есть нюансы
Пример Настроек шаблона
Шаблон для мониторинга серверов с BMC через IPMI, которые работают без каких-либо внешних скриптов.
Все показатели собираются одновременно, благодаря массовому сбору данных Zabbix.
Он собирает показатели путем удаленного опроса BMC с помощью агента IPMI.
Учетные данные для доступа к BMC (по умолчанию: none)
Системные макросы
{$IPMI.USER}
{$IPMI.PASSWORD}
Пример:
Ключ: ipmi.fan.rpm
IPMI датчик: с которого забирать метрику например 'FAN MOD 1A RPM' на Dell Poweredge
По умолчанию, необходимо указать ID датчика. id: - чтобы указать ID датчика;
Также имеется возможность использования префиксов до самого значения: name: - чтобы указать полное имя датчика.
Эта опция может быть полезна в ситуациях, когда датчики можно отличить, только указав полное имя.
Обычные элементы данных:
Имя: P1_DIMM_A1 Температура
Ключ: ipmi.system.temp_p1dimma1
IPMI датчик: P1_DIMM_A1 Temp
Имя: Напряжение +1.5V
Ключ: impi.system.15v
IPMI датчик: 1.5V
Имя: Питание
Ключ: power
IPMI датчик: power
Имя: ВЕНТИЛЯТОР MOD 1A RPM
Ключ: ipmi.sensor.FAN_MOD_1A_RPM
IPMI датчик: FAN MOD 1A RPM
Имя: Напряжение
Ключ: Voltage
IPMI датчик: Voltage
Время ожидания неактивности IPMI сессии для LAN равняется 60 +/-3 секунд.
Если вы хотите избежать лишнего сканирования BMC, рекомендуется установить интервал опроса IPMI элементов данных
ниже времени ожидания неактивности IPMI сессии, настроенного в BMC.
Поиск дискретных датчиков IPMI, в конфигурации Zabbix сервер установить DebugLevel=4 , перезапустить службу заббикс сервер (перечитать) ждём некоторое время
и в логе файла заббикс сервера ищем строки с Added sensor
Код: Выделить всё
grep 'Added sensor' zabbix_server.log
8358:20130318:111122.171 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:16 id:'P1 Therm Ctrl %' reading_type:0x1 ('threshold') type:0x1 ('temperature') full_name:'(3.1).P1 Therm Ctrl %'
8358:20130318:111122.170 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:15 id:'CPU Therm Trip' reading_type:0x3 ('discrete_state') type:0x1 ('temperature') full_name:'(7.1).CPU Therm Trip'
8358:20130318:111122.174 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:14 id:'BB +1.05V PCH' reading_type:0x1 ('threshold') type:0x2 ('voltage') full_name:'(7.1).BB +1.05V PCH'
8358:20130318:111122.172 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:13 id:'System Fan 2' reading_type:0x1 ('threshold') type:0x4 ('fan') full_name:'(29.1).System Fan 2'
8358:20130318:111122.170 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:7 id:'CATERR' reading_type:0x3 ('discrete_state') type:0x7 ('processor') full_name:'(r0.32.3.0).CATERR'
8358:20130318:111122.171 Added sensor: host:'192.168.1.12:623' id_type:0 id_sz:16 id:'Power Unit Stat' reading_type:0x6f ('sensor specific') type:0x9 ('power_unit') full_name:'(21.1).Power Unit Stat'
"тип_чтения"("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'. Выражение триггера может выглядеть следующим образом:
bitand(last(/www.example.com/Power Unit Stat,#1),1)=1
Совместное сообщение от промоутеров IPMI (Dell, Hewlett Packard Enterprise, NEC, Intel Corporation):
Никаких дальнейших обновлений спецификации IPMI не планируется и не следует ожидать. Разработчики IPMI рекомендуют поставщикам оборудования и ИТ-менеджерам рассмотреть более современный интерфейс управления системами, который может обеспечить лучшую безопасность, масштабируемость и функциональные возможности для существующих центров обработки данных и поддерживаться на необходимых платформах и устройствах. Стандарт DMTF Redfish (от redfish.dmtf.org) является примером одного из таких интерфейсов.
Примечания:
Приведенное выше утверждение относится только к спецификации IPMI и не должно оказывать влияния на существующие реализации IPMI.
Стандарт Redfish использует значение идентификатора группы IPMI 0x52 (ASCII ‘R’).
Для расшифровки типов датчиков IPMI и их состояний, скачайте копию спецификаций IPMI 2.0
intel ipmi-specifications
ipmi-second-gen-interface-spec-v2-rev1-1
second-gen-interface-spec-v2.pdf
Скачать
Заметки о именах дискретных датчиков в 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", соответственно.
Zabbix сервера, использующего OpenIPMI-2.0.16, 2.0.17 и 2.0.18, добавьте к их именам "0" в поле IPMI датчик для элементов данных IPMI агента.
При обновлении OpenIPMI-2.0.19 и выше, элементы данных с такими IPMI дискретными датчиками перейдут в состояние "НЕ ПОДДЕРЖИВАЕТСЯ"
IPMI датчик (удалить '0' в конце)
Некоторые IPMI агенты предоставляют одновременно пороговые и дискретные датчики под одним именем.
предпочтение всегда отдаётся пороговому датчику.
ipmi_available число доступность IPMI агента
0, HOST_AVAILABLE_UNKNOWN - неизвестно
1, HOST_AVAILABLE_TRUE - доступен
2, HOST_AVAILABLE_FALSE - недоступен
ipmi_error - строка сообщение об ошибке IPMI агента или пустая строка
Удаленные команды через IPMI
В случае использования удаленных команд через IPMI нужно использовать следующий синтаксис:
<команда> [<значение>]
где
<команда> - одна из IPMI команд без пробелов
<значение> - 'on', 'off', 'power off', 'reset' или любое положительное целое число. <значение> - опциональный параметр.
Использовать команду IPMI 'reboot' для перезагрузки некоторого удаленного сервера, если он не отвечает на запросы
Требования
Версия Zabbix: 7.0 и выше.
Протестированные версии
Этот шаблон был протестирован на: HP iLO, DELL DRAC, IBM RSA
Конфигурация
Вы можете установить макросы {$IPMI.USER} и {$IPMI.PASSWORD} в шаблоне для использования на уровне хоста.
{$IPMI.USER} Этот макрос используется для доступа к BMC. Он может быть переопределен на уровне хоста или связанного шаблона.
{$IPMI.PASSWORD} Этот макрос используется для доступа к BMC. Он может быть переопределен на уровне хоста или связанного шаблона.
{$IPMI.SENSOR_TYPE.MATCHES} Этот макрос используется при обнаружении датчиков. Он может быть переопределен на уровне хоста или связанного шаблона. По умолчанию: .*
{$IPMI.SENSOR_TYPE.NOT_MATCHES} Этот макрос используется при обнаружении датчиков. Он может быть переопределен на уровне хоста или связанного шаблона. По умолчанию: invalid/недействительный
ipmi_authtype Алгоритм аутентификации IPMI.
целое число
-1 - по умолчанию
0 - none
1 - MD2
2 - MD5
4 - straight
5 - OEM
6 - RMCP+
ipmi_privilege Уровень привилегий IPMI
целое число
1 - callback обратный вызов
2 - пользователь (по умолчанию)
3 - оператор
4 - админ
5 - OEM
ipmi_username Имя пользователя для IPMI проверок.
ipmi_password Пароль для IPMI проверок.
Главный обычный элемент, который получает все датчики со значениями для LLD и зависимых элементов из BMC.
Имя: IPMI get item
Тип: IPMI agent
Ключ: ipmi.get
Хост: 127.0.0.1:623
Зависимое LLD правило обнаружения от главного элемента
Имя: Обнаружение правило для ipmi.get
Тип: Зависимый элемент
Ключ: ipmi.sensor.discovery
От элемента: IPMI get item
LLD Макрос {#SENSOR_ID} JSONPatch $.id
Прототип элемента данных
Имя: IPMI значение для датчика {#SENSOR_ID}
Тип: Зависимый элемент
От элемента: IPMI get item
Ключ: ipmi_sensor[{#SENSOR_ID}]
Тип: Числовой
Предобработка JSONPath
$.[?(@.id=='{#SENSOR_ID}')].value.first()
Когда начнется обнаружение, будет создано по одному элементу для каждого датчика IPMI.
Этот элемент вернет целочисленное значение данного датчика.
Обнаружение дискретных датчиков Открытие дискретных датчиков IPMI.
Тип: Зависимый элемент
Ключ: ipmi.discrete.discovery
Прототип Элемента данных
Имя: IPMI: {#SENSOR_ID} Описание: Это состояние дискретного датчика IPMI. Тип: Зависимый элемент Ключ: ipmi.state_text[{#SENSOR_ID}]
Предварительная обработка:
JSON Path: $.[?(@.id=='{#SENSOR_ID}')].state.text.first()
Discard unchanged with heartbeat: 1d
Прототипы триггеров для обнаружения дискретных датчиков
Имя:IPMI: значение {#SENSOR_ID} изменилось
Описание: Триггер информирует об изменениях в состоянии дискретного датчика IPMI. Проблема, вызванная этим триггером, может быть устранена вручную.
Выражение:
last(/Chassis by IPMI/ipmi.state_text[{#SENSOR_ID}],#1)<>last(/Chassis by IPMI/ipmi.state_text[{#SENSOR_ID}],#2)
Обнаружение пороговых датчиков правил LLD
Имя: Обнаружение пороговых датчиков
Описание: Обнаружение пороговых датчиков IPMI.
Тип: Зависимый элемент
Ключ: ipmi.sensors.discovery
Прототипы элементов для обнаружения пороговых датчиков
Имя IPMI: {#SENSOR_ID}, {#SENSOR_UNIT}
Описание: Это состояние порогового датчика IPMI.
Тип: Зависимый элемент
Ключ: ipmi.value[{#SENSOR_ID}]
Предобработка:
JSON Path: $.[?(@.id=='{#SENSOR_ID}')].value.first()
Discard unchanged with heartbeat: 1h
Прототипы Триггеров для обнаружения пороговых датчиков
Имя:IPMI: значение {#SENSOR_ID} ниже некритического минимума
Описание: Триггер информирует о том, что достигнуто значение, меньшее нижнего некритического порога.
Выражение: min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)<{#SENSOR_LO_WARN}
Зависит от:
IPMI: значение {#SENSOR_ID} ниже критического минимума
IPMI: значение {#SENSOR_ID} ниже невосстанавливаемого минимума
Имя: IPMI: значение {#SENSOR_ID} ниже критического минимума
Описание: Триггер информирует о том, что достигнуто значение, меньшее нижнего критического порога.
Выражение: min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)<{#SENSOR_LO_CRIT}
Зависит от:
IPMI: значение {#SENSOR_ID} ниже невосстанавливаемого минимума
Имя: IPMI: значение {#SENSOR_ID} ниже невосстанавливаемого минимума
Описание: Триггер информирует о том, что достигнуто значение, меньшее нижнего порога, который невозможно восстановить.
Выражение: min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)<{#SENSOR_LO_DISAST}
Имя: IPMI: значение {#SENSOR_ID} превышает некритический максимум
Описание: Триггер информирует о том, что достигнуто значение, превышающее верхний некритический порог.
Выражения: min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)>{#SENSOR_HI_WARN}
Зависит от:
IPMI: значение {#SENSOR_ID} превышает критический максимум
IPMI: значение {#SENSOR_ID} превышает невосстанавливаемый максимум
Имя: IPMI: значение {#SENSOR_ID} превышает критический максимум
Описание: Триггер информирует о том, что достигнуто значение, превышающее верхний критический порог.
Выражение: min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)>{#SENSOR_HI_CRIT}
Зависит от:
IPMI: значение {#SENSOR_ID} превышает невосстанавливаемый максимум
Имя: IPMI: значение {#SENSOR_ID} превышает невосстанавливаемый максимум
Описание: Триггер информирует о том, что достигнуто значение, превышающее верхний порог, который невозможно восстановить.
Выражение: min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)>{#SENSOR_HI_DISAST}
Получим таблицу:
Sensor Name | Reading | Unit | Status | Lower Non-Recoverable | Lower Critical | Lower Non-Critical | Upper Non-Critical | Upper Critical | Upper Non-Recoverable
1.Имя сенсора | 2.Значение | 3.Единицы измерения (Тип) | 4.Статус | 5.Нижний критический порог выхода из строя | 6.Нижний критический порог | 7.Нижний (некритическое) порог возврата в нормальное состояние | 8.Верхний (некритический) порог возврата в нормальное состояние| 9.Верхний критический порог | 10.Верхний критический выхода из строя
root@ZABBIXSERVER:~# ipmitool -I lanplus -L USER -H 192.168.175.263 -U Логин -P Пароль sensor
VBAT | 0.376 | Volts | nr | 1.701 | 1.913 | 2.125 | 3.503 | 3.715 | 3.821
P12V_BP | 12.028 | Volts | ok | 9.844 | 10.624 | 11.404 | 12.652 | 13.276 | 14.056
P3V3_SYS | 3.257 | Volts | ok | 2.658 | 2.872 | 3.129 | 3.471 | 3.642 | 3.856
PVNN_PCH | 0.987 | Volts | ok | 0.759 | 0.847 | 0.952 | 1.058 | 1.128 | 1.216
P1V05_PCH | 1.040 | Volts | ok | 0.811 | 0.899 | 1.005 | 1.111 | 1.181 | 1.269
P5V_SYS | 5.023 | Volts | ok | 4.033 | 4.363 | 4.759 | 5.287 | 5.551 | 5.881
P12V_AUX | 12.028 | Volts | ok | 9.844 | 10.624 | 11.404 | 12.652 | 13.276 | 14.056
P1V8_PCH | 1.804 | Volts | ok | 1.477 | 1.594 | 1.711 | 1.898 | 1.968 | 2.108
PVCCIN_CPU0 | 1.804 | Volts | ok | 1.336 | 1.453 | 1.570 | 1.991 | 2.108 | 2.225
PVCCIN_CPU1 | 1.804 | Volts | ok | 1.336 | 1.453 | 1.547 | 1.991 | 2.108 | 2.225
PVCCIO_CPU0 | 1.023 | Volts | ok | 0.723 | 0.811 | 0.899 | 1.093 | 1.181 | 1.269
PVCCIO_CPU1 | 1.023 | Volts | ok | 0.723 | 0.811 | 0.899 | 1.093 | 1.181 | 1.269
PVDDQ_ABCD_CPU0 | 1.234 | Volts * unspeci | ok | 0.952 | 1.040 | 1.146 | 1.269 | 1.322 | 1.410
PVDDQ_EFGH_CPU0 | 1.234 | Volts * unspeci | ok | 0.952 | 1.040 | 1.146 | 1.269 | 1.322 | 1.410
PVDDQ_ABCD_CPU1 | 1.234 | Volts * unspeci | ok | 0.952 | 1.040 | 1.146 | 1.269 | 1.322 | 1.410
PVDDQ_EFGH_CPU1 | 1.234 | Volts * unspeci | ok | 0.952 | 1.040 | 1.146 | 1.269 | 1.322 | 1.410
PSU0_Status | 0x0 | discrete | 0x0180| na | na | na | na | na | na
PSU0_VIN | 224.000 | Volts | ok | 0.000 | 64.000 | 84.000 | 480.000 | 492.000 | 510.000
PSU0_IIN | 0.700 | Amps | ok | 0.000 | 0.000 | 0.000 | 17.000 | 17.500 | 25.500
PSU0_PIN | 168.000 | Watts | ok | 0.000 | 0.000 | 0.000 | 1596.000 | 1603.000 | 1617.000
PSU0_Fan1 | 6480.000 | RPM | ok | 0.000 | 0.000 | 0.000 | 20400.000 | 20400.000 | 20400.000
PSU0_Temp1 | 39.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 55.000 | 60.000 | 65.000
PSU1_Status | 0x0 | discrete | 0x0180| na | na | na | na | na | na
PSU1_VIN | 224.000 | Volts | ok | 0.000 | 64.000 | 84.000 | 480.000 | 492.000 | 510.000
PSU1_IIN | 0.700 | Amps | ok | 0.000 | 0.000 | 0.000 | 17.000 | 17.500 | 25.500
PSU1_PIN | 168.000 | Watts | ok | 0.000 | 0.000 | 0.000 | 1596.000 | 1603.000 | 1617.000
PSU1_Fan1 | 6560.000 | RPM | ok | 0.000 | 0.000 | 0.000 | 20400.000 | 20400.000 | 20400.000
PSU1_Temp1 | 25.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 55.000 | 60.000 | 65.000
PCH_TEMP | 45.000 | degrees C | ok | na | na | na | 85.000 | 95.000 | 105.000
CPU0_TJMAX | 103.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 110.000 | 111.000 | 112.000
CPU1_TJMAX | 103.000 | % degrees C | ok | 0.000 | 0.000 | 0.000 | 110.000 | 111.000 | 112.000
CPU0_Temp | 44.000 | degrees C | ok | na | na | na | 90.000 | 95.000 | 100.000
CPU1_Temp | 43.000 | degrees C | ok | na | na | na | 90.000 | 95.000 | 100.000
MB_Temp1 | 33.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 55.000 | 60.000 | 65.000
MB_Temp2 | 32.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 55.000 | 60.000 | 65.000
MB_Temp3 | 32.000 | degrees C | ok | 0.000 | 0.000 | 0.000 | 55.000 | 60.000 | 65.000
FAN1A | 5782.000 | RPM | ok | 0.000 | 490.000 | 980.000 | 16660.000 | 16954.000 | 17248.000
FAN1B | na | RPM | na | 0.000 | 490.000 | 980.000 | 16660.000 | 16954.000 | 17248.000
FAN2A | 5488.000 | RPM | ok | 0.000 | 490.000 | 980.000 | 16660.000 | 16954.000 | 17248.000
FAN2B | na | RPM | na | 0.000 | 490.000 | 980.000 | 16660.000 | 16954.000 | 17248.000
FAN3A | 5782.000 | RPM | ok | 0.000 | 490.000 | 980.000 | 16660.000 | 16954.000 | 17248.000
FAN3B | na | RPM | na | 0.000 | 490.000 | 980.000 | 16660.000 | 16954.000 | 17248.000
FAN4A | 4802.000 | RPM | ok | 0.000 | 490.000 | 980.000 | 16660.000 | 16954.000 | 17248.000
FAN4B | na | RPM | na | 0.000 | 490.000 | 980.000 | 16660.000 | 16954.000 | 17248.000
PowerUnit | 0x0 | discrete | 0x0280| na | na | na | na | na | na
FAN1_Prsnt | 0x0 | discrete | 0x0080| na | na | na | na | na | na
FAN2_Prsnt | 0x0 | discrete | 0x0080| na | na | na | na | na | na
FAN3_Prsnt | 0x0 | discrete | 0x0080| na | na | na | na | na | na
FAN4_Prsnt | 0x0 | discrete | 0x0080| na | na | na | na | na | na
CPU0_Prsnt | 0x0 | discrete | 0x8080| na | na | na | na | na | na
CPU1_Prsnt | 0x0 | discrete | 0x8080| na | na | na | na | na | na
ChassisIntrusion | 0x0 | discrete | 0x8080| na | na | na | na | na | na
CPU0_PROCHOT | 0x0 | discrete | 0x0080| na | na | na | na | na | na
CPU1_PROCHOT | 0x0 | discrete | 0x0080| na | na | na | na | na | na
CPU0_THERMALTRIP | 0x0 | discrete | 0x0080| na | na | na | na | na | na
CPU1_THERMALTRIP | 0x0 | discrete | 0x0080| na | na | na | na | na | na
PCH_HOT | 0x0 | discrete | 0x0080| na | na | na | na | na | na
CPU0_PVCCIN_VRHO | 0x0 | discrete | 0x0080| na | na | na | na | na | na
CPU1_PVCCIN_VRHO | 0x0 | discrete | 0x0080| na | na | na | na | na | na
CPU0_PWR_ALERT | 0x0 | discrete | 0x0080| na | na | na | na | na | na
CPU1_PWR_ALERT | 0x0 | discrete | 0x0080| na | na | na | na | na | na
P0_PVDDQ_ABCD_VR | 0x0 | discrete | 0x0080| na | na | na | na | na | na
P0_PVDDQ_EFGH_VR | 0x0 | discrete | 0x0080| na | na | na | na | na | na
P1_PVDDQ_ABCD_VR | 0x0 | discrete | 0x0080| na | na | na | na | na | na
P1_PVDDQ_EFGH_VR | 0x0 | discrete | 0x0080| na | na | na | na | na | na
CPU0_MEMHOT | 0x0 | discrete | 0x0080| na | na | na | na | na | na
CPU1_MEMHOT | 0x0 | discrete | 0x0080| na | na | na | na | na | na
AC_LOSS | 0x0 | discrete | 0x0080| na | na | na | na | na | na
SMB_M2_SSD1_ALER | 0x0 | discrete | 0x0080| na | na | na | na | na | na
SMB_M2_SSD2_ALER | 0x0 | discrete | 0x0080| na | na | na | na | na | na
SMB_I350_ALERT | 0x0 | discrete | 0x0080| na | na | na | na | na | na
SML1_PMBUS_ALERT | 0x0 | discrete | 0x0080| na | na | na | na | na | na
PSU0_ALERT | 0x0 | discrete | 0x0080| na | na | na | na | na | na
PSU1_ALERT | 0x0 | discrete | 0x0080| na | na | na | na | na | na
CPU_ERR | 0x0 | discrete | 0x0080| na | na | na | na | na | na
CPU_CATERR | 0x0 | discrete | 0x0080| na | na | na | na | na | na
nr(Not Reading/нет данных)
0x0 – Текущее значение считываемое с сенсора. Для дискретных сенсоров это значение обычно представлено в шестнадцатеричном формате.
discrete – Тип сенсора. В данном случае это дискретный сенсор, что означает, что он измеряет не аналоговое значение, а дискретное состояние (например, включено/выключено, нормально/ошибка).
0x0180 – Состояние сенсора в шестнадцатеричном формате, которое может требовать дальнейшей расшифровки в зависимости от документации производителя оборудования. Это может означать различные статусы, такие как предупреждение, ошибка или нормальная работа.
na – В данном случае пороговые значения не применимы для дискретных сенсоров, поэтому они обозначены как na (not applicable).
Макросы
{$PRIVILEGESIPMI} ADMINISTRATOR
{HOST.CONN} 192.168.175.55
{$PORTIPMI} 623
{$LOGINIPMI} admin
{$PASSIPMI} admin
ipmitool -I lanplus -L {$PRIVILEGESIPMI} -H {HOST.CONN} -p {$PORTIPMI} -U {$LOGINIPMI} -P {$PASSIPMI} sensor
При желании можно LLD собрать обнаружение
1.Имя сенсора - в имя элемент данных и имя триггера
2.Значение - Текущее значение получаем в элемент данных для мониторинга
3.Единицы измерения - В элемент данных (тип данных элемента если через api создание, фильтр при обнаружении, группа)
4.Статус, состояние сенсора (если недоступен na - элемент не создаем или деактивированный, фильтр для обнаружения ,для дискретных возможно мониторить)
Триггер
5.Нижний критический порог выхода из строя - Высокая
10.Верхний критический выхода из строя - Высокая
6.Нижний критический порог - Средняя
9.Верхний критический порог - Средняя
7.Нижний (некритическое) порог возврата в нормальное состояние - Восстановление
8.Верхний (некритический) порог возврата в нормальное состояние - Восстановление
{#IPMISENSORNAME} в имя
{#IPMIUNIT} в единицы измерения
{#IPMISTATUS} в описание
Триггер Высокая
<={#LOWERNONRECOVERABLE}
>={#UPPERNONRECOVERABLE}
Возврат
>={#LOWERNONCRITICAL}
<={#UPPERNONCRITICAL}
Триггер Средняя
<={#LOWERCRITICAL}
>={#UPPERCRITICAL}
Возврат
>={#LOWERNONCRITICAL}
<={#UPPERNONCRITICAL}
Пример
P3V_BAT_SENSE | 3.132 | Volts | ok | 1.701 | 1.913 | 2.125 | 3.503 | 3.715 | 3.821
JSON:
[
{"{#IPMISENSORNAME}":"P3V_BAT_SENSE","{#IPMIUNIT}":"Volts","{#IPMISTATUS}":"ok","{#LOWERNONRECOVERABLE}":"1.701","{#LOWERCRITICAL}":"1.913","{#LOWERNONCRITICAL}":"2.125","{#UPPERNONCRITICAL}":"3.503","{#UPPERCRITICAL}":"3.715","{#UPPERNONRECOVERABLE}":"3.821"}
]
Только кулера RPM
root@ZABBIXSERVER:~# ipmitool -I lanplus -L USER -H 192.168.175.263 -U Логин -P Пароль sensor|grep RPM
root@ZABBIXSERVER:~# ipmitool -I lanplus -L USER -H 192.168.175.263 -U Логин -P Пароль sdr
P12V_BP | 12.03 Volts | ok
P3V3_SYS | 3.26 Volts | ok
PVNN_PCH | 0.99 Volts | ok
P1V05_PCH | 1.04 Volts | ok
P5V_SYS | 5.02 Volts | ok
P12V_AUX | 12.03 Volts | ok
P1V8_PCH | 1.80 Volts | ok
PVCCIN_CPU0 | 1.80 Volts | ok
PVCCIN_CPU1 | 1.80 Volts | ok
PVCCIO_CPU0 | 1.02 Volts | ok
PVCCIO_CPU1 | 1.02 Volts | ok
PVDDQ_ABCD_CPU0 | 1.23 Volts * un | ok
PVDDQ_EFGH_CPU0 | 1.23 Volts * un | ok
PVDDQ_ABCD_CPU1 | 1.23 Volts * un | ok
PVDDQ_EFGH_CPU1 | 1.23 Volts * un | ok
PSU0_Status | 0x00 | ok
PSU0_VIN | 226 Volts | ok
PSU0_IIN | 0.70 Amps | ok
PSU0_PIN | 168 Watts | ok
PSU0_Fan1 | 6400 RPM | ok
PSU0_Temp1 | 38 degrees C | ok
PSU1_Status | 0x00 | ok
PSU1_VIN | 226 Volts | ok
PSU1_IIN | 0.70 Amps | ok
PSU1_PIN | 168 Watts | ok
PSU1_Fan1 | 6320 RPM | ok
PSU1_Temp1 | 25 degrees C | ok
PCH_TEMP | 44 degrees C | ok
CPU0_TJMAX | 103 degrees C | ok
CPU1_TJMAX | 103 % degrees C | ok
CPU0_Temp | 44 degrees C | ok
CPU1_Temp | 40 degrees C | ok
MB_Temp1 | 33 degrees C | ok
MB_Temp2 | 32 degrees C | ok
MB_Temp3 | 30 degrees C | ok
FAN1A | 4900 RPM | ok
FAN1B | no reading | ns
FAN2A | 4900 RPM | ok
FAN2B | no reading | ns
FAN3A | 4900 RPM | ok
FAN3B | no reading | ns
FAN4A | 4900 RPM | ok
FAN4B | no reading | ns
PowerUnit | 0x00 | ok
FAN1_Prsnt | 0x00 | ok
FAN2_Prsnt | 0x00 | ok
FAN3_Prsnt | 0x00 | ok
FAN4_Prsnt | 0x00 | ok
CPU0_Prsnt | 0x00 | ok
CPU1_Prsnt | 0x00 | ok
ChassisIntrusion | 0x00 | ok
CPU0_PROCHOT | 0x00 | ok
CPU1_PROCHOT | 0x00 | ok
CPU0_THERMALTRIP | 0x00 | ok
CPU1_THERMALTRIP | 0x00 | ok
PCH_HOT | 0x00 | ok
CPU0_PVCCIN_VRHO | 0x00 | ok
CPU1_PVCCIN_VRHO | 0x00 | ok
CPU0_PWR_ALERT | 0x00 | ok
CPU1_PWR_ALERT | 0x00 | ok
P0_PVDDQ_ABCD_VR | 0x00 | ok
P0_PVDDQ_EFGH_VR | 0x00 | ok
P1_PVDDQ_ABCD_VR | 0x00 | ok
P1_PVDDQ_EFGH_VR | 0x00 | ok
CPU0_MEMHOT | 0x00 | ok
CPU1_MEMHOT | 0x00 | ok
AC_LOSS | 0x00 | ok
SMB_M2_SSD1_ALER | 0x00 | ok
SMB_M2_SSD2_ALER | 0x00 | ok
SMB_I350_ALERT | 0x00 | ok
SML1_PMBUS_ALERT | 0x00 | ok
PSU0_ALERT | 0x00 | ok
PSU1_ALERT | 0x00 | ok
CPU_ERR | 0x00 | ok
CPU_CATERR | 0x00 | ok
Ключ: ipmi.sensor.FAN1A
IPMI датчик: FAN1A Пример IDRAC
root@ZABBIXSERVER:~# ipmitool -I lanplus -L USER -H 192.168.175.268 -U Логин -P Пароль sensor
Temp | na | | na | na | na | na | na | na | na
Temp | na | | na | na | na | na | na | na | na
Temp | na | | na | na | na | na | na | na | na
Ambient Temp | 27.000 | degrees C | ok | na | 3.000 | 8.000 | 45.000 | 50.000 | na
Planar Temp | na | | na | na | 3.000 | 8.000 | 90.000 | 95.000 | na
CMOS Battery | 0x0 | discrete | 0x0080| na | na | na | na | na | na
VCORE PG | 0x0 | discrete | 0x0180| na | na | na | na | na | na
VCORE PG | 0x0 | discrete | 0x0180| na | na | na | na | na | na
0.75 VTT PG | 0x0 | discrete | 0x0180| na | na | na | na | na | na
0.75 VTT PG | 0x0 | discrete | 0x0180| na | na | na | na | na | na
CPU VTT PG | 0x0 | discrete | 0x0180| na | na | na | na | na | na
1.5V PG | 0x0 | discrete | 0x0180| na | na | na | na | na | na
1.8V PG | 0x0 | discrete | 0x0180| na | na | na | na | na | na
5V PG | 0x0 | discrete | 0x0180| na | na | na | na | na | na
MEM CPU2 FAIL | 0x0 | discrete | 0x0180| na | na | na | na | na | na
5V Riser PG | 0x0 | discrete | 0x0180| na | na | na | na | na | na
MEM CPU1 FAIL | 0x0 | discrete | 0x0180| na | na | na | na | na | na
VTT CPU2 FAIL | 0x0 | discrete | 0x0180| na | na | na | na | na | na
VTT CPU1 FAIL | 0x0 | discrete | 0x0180| na | na | na | na | na | na
0.9V PG | 0x0 | discrete | 0x0180| na | na | na | na | na | na
CPU2 1.8 PLL PG | 0x0 | discrete | 0x0180| na | na | na | na | na | na
CPU1 1.8 PLL PG | 0x0 | discrete | 0x0180| na | na | na | na | na | na
1.1 FAIL | 0x0 | discrete | 0x0180| na | na | na | na | na | na
1.0 LOM FAIL | 0x0 | discrete | 0x0180| na | na | na | na | na | na
1.0 AUX FAIL | 0x0 | discrete | 0x0180| na | na | na | na | na | na
Heatsink Pres | 0x0 | discrete | 0x0180| na | na | na | na | na | na
iDRAC6 Ent Pres | 0x0 | discrete | 0x0280| na | na | na | na | na | na
USB Cable Pres | 0x0 | discrete | 0x0180| na | na | na | na | na | na
Stor Adapt Pres | na | discrete | na | na | na | na | na | na | na
Riser Presence | 0x0 | discrete | 0x0180| na | na | na | na | na | na
FAN MOD 1A RPM | 3720.000 | RPM | ok | na | 720.000 | na | na | na | na
FAN MOD 1B RPM | na | | na | na | 720.000 | na | na | na | na
FAN MOD 2A RPM | 3720.000 | RPM | ok | na | 720.000 | na | na | na | na
FAN MOD 2B RPM | na | | na | na | 720.000 | na | na | na | na
FAN MOD 3A RPM | 3720.000 | RPM | ok | na | 720.000 | na | na | na | na
PFault Fail Safe | na | discrete | na | na | na | na | na | na | na
FAN MOD 3B RPM | na | | na | na | 720.000 | na | na | na | na
FAN MOD 4A RPM | 3720.000 | RPM | ok | na | 720.000 | na | na | na | na
Presence | 0x0 | discrete | 0x0180| na | na | na | na | na | na
Presence | 0x0 | discrete | 0x0180| na | na | na | na | na | na
Presence | 0x0 | discrete | 0x0180| na | na | na | na | na | na
Presence | 0x0 | discrete | 0x0180| na | na | na | na | na | na
Presence | 0x0 | discrete | 0x0180| na | na | na | na | na | na
Status | 0x0 | discrete | 0x8080| na | na | na | na | na | na
Status | 0x0 | discrete | 0x8080| na | na | na | na | na | na
Status | 0x0 | discrete | 0x0180| na | na | na | na | na | na
Current | 1.000 | Amps | ok | na | na | na | na | na | na
Current | 0.680 | Amps | ok | na | na | na | na | na | na
Voltage | 218.000 | Volts | ok | na | na | na | na | na | na
Voltage | 218.000 | Volts | ok | na | na | na | na | na | na
Status | 0x0 | discrete | 0x0180| na | na | na | na | na | na
Status | 0x0 | discrete | 0x0180| na | na | na | na | na | na
OS Watchdog | 0x0 | discrete | 0x0080| na | na | na | na | na | na
SEL | na | discrete | na | na | na | na | na | na | na
Intrusion | 0x0 | discrete | 0x0080| na | na | na | na | na | na
PS Redundancy | 0x0 | discrete | 0x0180| na | na | na | na | na | na
Fan Redundancy | 0x0 | discrete | 0x0180| na | na | na | na | na | na
CPU Temp IF | na | discrete | na | na | na | na | na | na | na
System Level | 399.000 | Watts | ok | na | na | na | 917.000 | 966.000 | na
Power Optimized | 0x0 | discrete | 0x0180| na | na | na | na | na | na
Drive | 0x0 | discrete | 0x0180| na | na | na | na | na | na
Drive A | na | discrete | na | na | na | na | na | na | na
Drive B | na | discrete | na | na | na | na | na | na | na
Cable SAS A | 0x0 | discrete | 0x0180| na | na | na | na | na | na
Cable SAS B | 0x0 | discrete | 0x0180| na | na | na | na | na | na
DKM Status | 0x0 | discrete | 0x0080| na | na | na | na | na | na
ECC Corr Err | na | discrete | na | na | na | na | na | na | na
ECC Uncorr Err | na | discrete | na | na | na | na | na | na | na
I/O Channel Chk | na | discrete | na | na | na | na | na | na | na
PCI Parity Err | na | discrete | na | na | na | na | na | na | na
PCI System Err | na | discrete | na | na | na | na | na | na | na
SBE Log Disabled | na | discrete | na | na | na | na | na | na | na
Logging Disabled | na | discrete | na | na | na | na | na | na | na
Unknown | na | discrete | na | na | na | na | na | na | na
CPU Protocol Err | na | discrete | na | na | na | na | na | na | na
CPU Bus PERR | na | discrete | na | na | na | na | na | na | na
CPU Init Err | na | discrete | na | na | na | na | na | na | na
CPU Machine Chk | na | discrete | na | na | na | na | na | na | na
Memory Spared | na | discrete | na | na | na | na | na | na | na
Memory Mirrored | na | discrete | na | na | na | na | na | na | na
Memory RAID | na | discrete | na | na | na | na | na | na | na
Memory Added | na | discrete | na | na | na | na | na | na | na
Memory Removed | na | discrete | na | na | na | na | na | na | na
Memory Cfg Err | na | discrete | na | na | na | na | na | na | na
Mem Redun Gain | na | discrete | na | na | na | na | na | na | na
PCIE Fatal Err | na | discrete | na | na | na | na | na | na | na
Chipset Err | na | discrete | na | na | na | na | na | na | na
Err Reg Pointer | na | discrete | na | na | na | na | na | na | na
Mem ECC Warning | na | discrete | na | na | na | na | na | na | na
Mem CRC Err | na | discrete | na | na | na | na | na | na | na
USB Over-current | na | discrete | na | na | na | na | na | na | na
POST Err | na | discrete | na | na | na | na | na | na | na
Hdwr version err | na | discrete | na | na | na | na | na | na | na
Mem Overtemp | na | discrete | na | na | na | na | na | na | na
Mem Fatal SB CRC | na | discrete | na | na | na | na | na | na | na
Mem Fatal NB CRC | na | discrete | na | na | na | na | na | na | na
OS Watchdog Time | na | discrete | na | na | na | na | na | na | na
Non Fatal PCI Er | na | discrete | na | na | na | na | na | na | na
Fatal IO Error | na | discrete | na | na | na | na | na | na | na
MSR Info Log | na | discrete | na | na | na | na | na | na | na
Temp | na | | na | na | na | na | na | na | na
Temp | na | | na | na | na | na | na | na | na
Temp | na | | na | na | na | na | na | na | na
ROMB Battery | 0x0 | discrete | 0x0080| na | na | na | na | na | na
FAN MOD 4B RPM | na | | na | na | 720.000 | na | na | na | na
FAN MOD 5B RPM | na | | na | na | 720.000 | na | na | na | na
FAN MOD 5A RPM | 3720.000 | RPM | ok | na | 720.000 | na | na | na | na
Ambient Temp | na | | na | na | na | na | na | na | na
Ambient Temp | na | | na | na | na | na | na | na | na
vFlash | na | discrete | na | na | na | na | na | na | na
iDRAC6 Upgrade | na | discrete | na | na | na | na | na | na | na