К основному содержимому

Мониторинг железа сервера: температура, диски, питание

Выделенные серверы · 24.09.2026
Иллюстрация к статье «Мониторинг железа сервера: температура, диски, питание»

Мониторинг железа сервера: температура, диски, питание

Железо ломается предсказуемо: диск за недели до отказа копит переназначенные секторы, память сыпет исправленными ошибками ECC, вентилятор снижает обороты, а блок питания пишет события в журнал SEL. Все четыре сигнала читаются штатными утилитами и собираются в обычный Prometheus. Задача мониторинга железа — заметить их до того, как сервер встанет.

  • Четыре источника закрывают почти всё: IPMI-датчики и SEL, SMART дисков, счётчики EDAC для памяти, состояние RAID.
  • На ZevsHost доступ KVM/IPMI стоит $5 в месяц и включён в Dedicated Enterprise US; без него остаются SMART, EDAC и lm-sensors изнутри ОС.
  • Опрашивать BMC чаще одного раза в минуту не нужно и вредно: контроллер слабый.

Четыре источника данных

Что смотримИсточникКомандаТревожный признак
Температура CPU и платыIPMI, lm-sensorsipmitool sdr type temperatureрост при той же нагрузке
Блоки питанияIPMI, SELipmitool sdr type 'Power Supply'событие PS Redundancy Lost
ДискиSMARTsmartctl -A /dev/sdaрост Reallocated_Sector_Ct
ПамятьEDAC, SELras-mc-ctl --summaryсчётчик CE растёт день ото дня
RAIDmdadm или утилита контроллераcat /proc/mdstatсостояние degraded, [U_]

IPMI: датчики и журнал событий

Датчики читаются и локально через драйвер ядра, и по сети. Локальный доступ не требует пароля и не грузит сеть управления, поэтому для регулярного опроса удобнее он. Как получить сетевой доступ, описано в статье про IPMI и KVM-over-IP.

# установка
apt install -y ipmitool freeipmi-tools   # Debian/Ubuntu
dnf install -y ipmitool freeipmi         # RHEL, AlmaLinux, Rocky

# только то, что вышло за пределы нормы
ipmitool -I open sdr elist all | grep -v ' ok '

# журнал событий железа
ipmitool -I open sel elist | tail -n 30

# раз в сутки: сохранить и очистить
ipmitool -I open sel save /var/log/ipmi-sel-$(date +%F).log && ipmitool -I open sel clear

SEL — кольцевой журнал ограниченного объёма. Когда он заполняется, часть плат перестаёт записывать новые события, и вы теряете именно те строки, ради которых всё затевалось.

Диски и память

SMART

apt install -y smartmontools
smartctl -a /dev/sda | grep -E 'Reallocated|Pending|Power_On_Hours'
# у NVMe свой набор счётчиков
smartctl -A /dev/nvme0n1 | grep -E 'Percentage|Media|Unsafe'

Ключевые атрибуты разобраны в статье про SMART-диагностику дисков сервера. Демон smartd умеет слать почту сам, но учтите ограничение площадок: исходящий SMTP на портах 25, 465 и 587 по умолчанию закрыт и открывается по запросу проверенным клиентам. Надёжнее отдавать события в общий мониторинг.

Память

apt install -y rasdaemon
systemctl enable --now rasdaemon
ras-mc-ctl --summary

# сырые счётчики из ядра
grep -H . /sys/devices/system/edac/mc/mc*/ce_count 2>/dev/null

Исправленные ошибки (CE) сами по себе не ломают систему: ECC для того и нужна. Опасен рост. Если счётчик на одном модуле прибавляет десятки единиц в сутки, планируйте замену и проверьте планку по методике из статьи про проверку оперативной памяти.

Вывод метрик в Prometheus

Самый простой путь без лишних сервисов — textfile collector в node_exporter: скрипт по cron пишет файл, экспортер отдаёт его вместе со своими метриками.

cat << 'EOF' > /usr/local/bin/ipmi-textfile.sh
#!/bin/bash
set -euo pipefail
out=/var/lib/node_exporter/textfile_collector/ipmi.prom
ipmitool -I open sensor \
  | awk -F'|' '$2 ~ /[0-9]/ { gsub(/^ +| +$/,"",$1); gsub(/ /,"",$2);
      printf "ipmi_sensor{name=\"%s\"} %s\n", $1, $2 }' > "$out.tmp"
mv "$out.tmp" "$out"
EOF
chmod +x /usr/local/bin/ipmi-textfile.sh

Запись во временный файл с последующим mv обязательна: иначе экспортер иногда читает наполовину записанный файл и роняет весь scrape. Если серверов больше трёх, вместо скрипта ставьте ipmi_exporter, который опрашивает BMC по сети. Сбор и панели разобраны в материале про Grafana и Prometheus, а лёгкая альтернатива для одиночного сервера — в статье про Netdata.

Не опрашивайте BMC каждые 5 секунд. Контроллер управления — слабый процессор с несколькими десятками мегабайт памяти. Частый сетевой опрос приводит к тому, что BMC перестаёт отвечать: веб-консоль не открывается, ipmitool висит на таймауте, а вместе с ними уходит удалённое управление питанием — ровно тогда, когда оно нужно. Держите интервал 60 секунд и выше; проверить запас можно так: time ipmitool -I open sensor list > /dev/null должен отрабатывать заметно быстрее интервала опроса.

Какие алерты действительно нужны

  • Массив перешёл в degraded — уведомление немедленно, это единственная защита данных.
  • Новые переназначенные или ожидающие секторы на любом диске — в течение часа.
  • Событие в SEL о потере резервирования питания — немедленно.

Снимите эталонный слепок датчиков в первый день работы машины: без него вы не отличите «всегда так было» от «начало расти на прошлой неделе». Конфигурации и опции перечислены на странице выделенных серверов.

Коротко

  • Мониторьте четыре источника: IPMI-датчики с SEL, SMART, EDAC и состояние RAID.
  • Опция KVM/IPMI на ZevsHost стоит $5 в месяц и входит в Dedicated Enterprise US.
  • Локальный интерфейс -I open удобнее сетевого для регулярного опроса.
  • SEL переполняется: выгружайте и очищайте его по расписанию.
  • Интервал опроса BMC — от 60 секунд, иначе контроллер зависает.
← Назад в базу знаний Задать вопрос поддержке