server_checker
контроль ресурсов серверов
Насколько загружен каждый сервер, хватает ли ему памяти и диска, случались ли сбои — и главный вердикт: нужно ли добавить мощностей. Без агентов на серверах: коллектор опрашивает их по SSH каждые ~15 минут, складывает метрики в базу на вашем сервере (без облака), а раздел «Серверы» кабинета и Claude-скил показывают готовые ответы.
▼ как это устроеноПростыми словами
server_checker — это «медкарта» каждого сервера компании. Раз в ~15 минут
машина координатора подключается к серверам по SSH, снимает показатели
(процессор, память, диск, контейнеры) и записывает их в базу на вашем сервере (не в облако). Поверх этих
записей считаются сбои (перезагрузки, падения контейнеров, недоступность,
выход за пороги) и вердикты — светофор 🟢/🟡/🔴 с человеческими рекомендациями
вида «включить swap» или «диск заполнится через ~40 дней».
Смотреть результаты можно двумя способами: раздел «Серверы» в кабинете
wexus_admin (список со светофором, карточка с графиками за день/неделю/месяц, журнал
инцидентов) и Claude-скил /server_check — та же сводка прямо в чат.
- На серверы ничего не устанавливается — только читающие команды по SSH.
- Новый сервер добавляется формой в кабинете; коллектор подхватывает его сам на ближайшем цикле.
- Секреты не покидают машину координатора: SSH-ключи лежат в её
~/.ssh, в кабинет вводится только имя ключа.
Архитектура и поток данных
Что собирается
Дыра в данных ≠ сбой сервера. Если машина координатора была выключена, строк за этот период просто нет: доступность считается только по выполненным съёмам, инциденты из-за пропусков не создаются.
Сбои: шесть детекторов
Открытый инцидент одного типа на сервер — всегда один (дедуп на уровне БД); повторные съёмы не плодят дубли. Мгновенные события (перезагрузка, OOM, падение контейнера) создаются сразу закрытыми — это «отметка в журнале», а не «горящее состояние».
Вердикты: нужно ли добавить мощностей
Добавление сервера и безопасность
- Ключ — на машину координатора: приватный SSH-ключ кладётся в
~/.ssh, алиас прописывается в~/.ssh/config. В кабинет и БД ключ не попадает никогда. - Форма в кабинете — «Серверы → Добавить сервер»: название, host (лучше алиас — тогда даже IP не хранится в облаке), порт, пользователь, период съёма. Коллектор подхватит сервер на ближайшем цикле — «проверка подключения» видна как статус первого съёма.
- Роль
server_checker_collector— пишет метрики/инциденты/вердикты, не может менять реестр серверов и чужие схемы. - Роль кабинета
wexus_admin_app— читает всё в схеме, пишет только в реестр серверов; в метрики писать не может. - Раздел «Серверы» виден только ролям Owner / Admin; проверка прав — и в UI, и внутри server actions.
- Репозиторий публичный: серверы в нём — только алиасами, секреты — в локальных конфигах координатора.
- Логи коллектора:
~/.wgp/logs/server_checker-*.log; планировщик:schtasks /Query /TN server-checker-collect. - Полный мануал восстановления —
OPERATIONS.mdв репозитории.