# Журнал подій сервера SEL: читання і розбір аварій

> Журнал подій сервера SEL зберігає аварії в BMC незалежно від ОС: розбираємо команди ipmitool, типові записи ECC і живлення, а також коли очищати журнал.

## Що таке SEL і навіщо його читати

SEL (System Event Log) — енергонезалежний журнал подій, який веде BMC сервера незалежно від операційної системи. Туди потрапляють записи про падіння напруги, спрацювання ECC, перегрів, зупинку вентилятора та інші апаратні події — навіть якщо сервер у цей момент був вимкнений або завис намертво.

Коли сервер перезавантажився без видимої причини, а логи ОС мовчать, першим ділом дивляться саме в SEL, а не в syslog: ОС часто просто не встигає нічого записати до аварійного перезавантаження.

## Як отримати журнал через IPMI

```
ipmitool sel list
ipmitool sel elist
```

Команда sel list виводить коротку зведення: номер запису, дату, тип події. Команда sel elist розшифровує подію детальніше — зазвичай цього достатньо, щоб зрозуміти природу аварії без документації на конкретну плату.

Якщо доступу по SSH до самої ОС немає через зависання, журнал все одно можна прочитати віддалено через [IPMI і KVM-over-IP](https://www.zevshost.net/uk/kb/ipmi-kvm-over-ip-server/) — BMC працює навіть коли сама ОС не відповідає.

## Типові записи: ECC, живлення, перегрів

| Тип події | Що означає | Що перевірити |
| --- | --- | --- |
| Correctable ECC | Поодинока помилка пам'яті виправлена | Частоту повторів, модуль DIMM |
| Uncorrectable ECC | Помилка пам'яті не виправлена | Заміну модуля, memtest |
| Power Supply Failure | Один блок живлення відключився | Резервний БЖ, навантаження PDU |
| Temperature Upper Critical | Перегрів компонента | Вентилятори, пил, термопасту |

Uncorrectable ECC — найсерйозніший запис з таблиці: він означає, що дані в пам'яті були пошкоджені і не відновлені на льоту. Після такого запису модуль варто перевірити через [memtest86+](https://www.zevshost.net/uk/kb/memtest-proverka-operativnoy-pamyati/), а не просто перезавантажити сервер і забути.

## Як розшифрувати код події

Кожен рядок SEL містить sensor type, sensor number і event data — три поля, які разом із версією IPMI-специфікації вказують на точний сенс події. Для плати конкретного виробника (Supermicro, Dell iDRAC, HPE iLO) є таблиця відповідності кодів у документації до сервера — загальний формат IPMI однаковий, але нумерація сенсорів у кожного вендора своя.

Якщо код події неочевидний, корисно звіритись з виводом sensor list — він покаже поточні показання того ж датчика, який спрацював у момент аварії.

```
ipmitool sdr list
ipmitool sensor list
```

## Коли очищати SEL і що при цьому відбувається

SEL має обмежений розмір — зазвичай кілька тисяч записів — і при переповненні старі записи починають затиратися новими або журнал блокується. Деякі платформи при повністю заповненому SEL перестають писати нові критичні події, що небезпечніше, ніж здається.

```
ipmitool sel clear
```

Очищайте журнал тільки після того, як розібрали і зафіксували причину аварії — наприклад, у тикеті про заміну диска чи модуля пам'яті. Це доповнює постійний [моніторинг заліза через IPMI](https://www.zevshost.net/uk/kb/monitoring-zheleza-servera-ipmi/), який повинен ловити нові події одразу, а не через ручний перегляд раз на місяць.

## Чек-лист розбору аварії за SEL

- Дивіться SEL раніше за syslog, якщо сервер перезавантажився без видимої причини.
- Фіксуйте час і тип події до очищення журналу.
- При Uncorrectable ECC перевіряйте модуль пам'яті окремим тестом, а не покладайтесь на перезавантаження.
- Налаштуйте автоматичний експорт SEL у систему моніторингу, а не покладайтесь на пам'ять адміністратора.

---

Джерело: https://www.zevshost.net/uk/kb/sel-zhurnal-sobytiy-servera/
