Документация

Быстрый старт + описание функций по разделам и устройствам (постоянно дополняется)

Защита от сбоев

В этой статье описана функция «Защита от сбоев» — автоматический мониторинг памяти, CPU и диска с активным вмешательством до исчерпания ресурсов сервера, чтобы сервер не завис намертво.

Понимание в одной фразе

Для сервера страшнее всего не «ошибка в какой-то программе», а ситуация «память съедена / CPU загружен на 100%, машина настолько зависла, что даже SSH не подключается, и остаётся только жёстко перезагрузить её из панели провайдера». Защита от сбоев до того, как это произойдёт, автоматически находит процесс-«пожиратель ресурсов» и разбирается с ним, оставляя вам путь к спасению.

Краткое описание

Защита от сбоев разворачивает на целевом сервере лёгкий демон, который постоянно следит за памятью, CPU и диском. При аномалии с ресурсами он вмешивается автоматически (убивает проблемный процесс) и не даёт серверу стать полностью недоступным из-за OOM (исчерпания памяти) или «взрыва» CPU.

Зачем это нужно (что такое OOM / «взрыв» CPU)

  • OOM (Out Of Memory, исчерпание памяти): у программы утечка памяти, или она разом запросила слишком много, и вся память сервера занята. Тогда система для самосохранения начинает «убивать процессы», но часто убивает вместе с ними и ключевые сервисы, вплоть до полного зависания машины.
  • «Взрыв» CPU: программа попала в бесконечный цикл или аномально много считает и занимает все ядра. Тогда ни SSH, ни панель не подключаются — остаётся только жёсткая перезагрузка.

Такие сбои обычно развиваются постепенно — сначала какой-то процесс потихоньку съедает ресурсы, и только потом машина встаёт окончательно. Задача защиты от сбоев — вмешаться «до того, как станет непоправимо».

Пороги защиты (значения по умолчанию)

ЗащитаПорог по умолчаниюДействие
ПамятьДоступная память < 8%Вмешательство: убивается аномальный процесс, занимающий > 15% (кулдаун 5 минут, чтобы не убивать часто по ошибке)
CPUНагрузка > число ядер × 3Действие только после 3 подряд превышений порога; убивается процесс > 30%
Крайний CPUНагрузка ≥ порог × 4Мгновенное вмешательство без ожидания серии (при «взрыве» CPU времени на реакцию нет)
ДискИспользование > 92%Только предупреждение (файлы автоматически не удаляются)

> Это проверенные консервативные значения по умолчанию — большинству серверов ничего менять не нужно. При необходимости пороги можно изменить в панели «Защита от сбоев».

Когда пригодится

  • На сервере работают программы с нестабильным потреблением памяти (например, некоторые Java-приложения, скрипты парсинга)
  • Памяти на сервере мало, её легко забить под завязку
  • Нужна «последняя линия обороны» на случай ночного зависания без дежурного

Как пользоваться

1. Откройте у целевого сервера «Панель управления системой → Защита от сбоев»

2. Нажмите «Развернуть в один клик» — панель развернёт демон на целевом сервере по SSH

3. После развёртывания появится «Демон запущен» и список текущих порогов защиты

4. При срабатывании защиты в «Событиях тревоги» видны время срабатывания, причина (какой процесс, сколько ресурсов занял) и выполненное действие

Способ развёртывания

  • Серверы с systemd (Debian/Ubuntu/CentOS и др.): развёртывание как сервис systemd, автозапуск при загрузке + автоматический подъём после падения (показывается значок «автозапуск»)
  • Серверы без systemd (Alpine и др.): откат к запуску через nohup (мониторинг работает, но после перезагрузки не поднимается автоматически — нужно развернуть заново вручную)

Примечания

1. Нулевой след: демон — отдельный лёгкий скрипт, он потребляет минимум ресурсов и не влияет на работу целевого сервера.

2. Защита белым списком: потоки ядра и ключевые системные процессы по умолчанию не убиваются, чтобы случайное убийство не обрушило систему.

3. Диск: только предупреждение, без очистки: заполненный диск не приводит к автоматическому удалению ваших файлов (чтобы не потерять важные данные) — панель лишь напоминает разобраться вручную.

4. Удаление: нажмите «Удалить» в панели «Защита от сбоев» — демон и сервис systemd будут удалены.