Skip to main content
Проверки здоровья организованы по уровням. Каждый следующий уровень отвечает на всё более «глубокий» вопрос: доступна ли нода по сети → работает ли на ней служба → отвечает ли конечная точка протокола → проходит ли трафик сквозь маршрут целиком → как это выглядит из других регионов. Уровни независимы, но если базовая достижимость не прошла, часть верхних проверок помечается как skipped.
Для кого: администратор панели, SRE. Требуемые права: сессия администратора.
Здесь описано поведение проверок — какой вопрос закрывает каждый уровень. Технические детали проб (адреса контрольных точек, параметры рукопожатий, способ подтверждения доступа) не публикуются намеренно: их раскрытие помогло бы третьим лицам опознавать или подделывать служебный трафик.

Уровни

L1 — Сетевая достижимость

Базовый уровень: нода доступна по сети. Панель разрешает доменное имя ноды и проверяет TCP-доступность управляющего порта и пользовательских входных портов. Работает полностью со стороны панели и не требует агента — поэтому применим даже к ещё не подключённым нодам. Реализован.

L2 — Проверка службы агента

Проверяет, что серверная часть VPN действительно запущена на ноде. Данные приходят от агента Axottle и трактуются с учётом режима исполнения ноды (runtime-aware). Требует установленного и онлайн-агента. Реализован.

L3 — Рукопожатие протокола (TLS)

Конечная точка протокола отвечает на настоящее TLS-рукопожатие с ожидаемым именем сервера. Это сильный сигнал «сервер действительно обслуживает трафик, конфигурация цела» — без владения клиентскими секретами. Реализован для TLS/REALITY-входов; там, где такая проверка неприменима, статус — not_implemented.

L4 — Сквозная проверка маршрута

Проверка «из конца в конец»: доступность шлюза, достижимость целей условных маршрутов и клиентский проход через входную ноду до контрольной точки. Дополнительно панель подтверждает доступ к каждой входной ноде. Реализован.

L5 — Внешние региональные пробы

Достижимость ноды глазами внешних региональных провайдеров — как нода видна «снаружи», из других сетей и стран. Работает через подключаемые платные адаптеры и включается по желанию для отдельных входных блоков. Если ни один провайдер не подключён, статус — external_probe_unavailable. Реализован.

L6 — Разбор Axosun

Это не ещё одна сетевая проба. Axosun получает результаты предыдущих уровней, события и доступный контекст объекта, а затем формирует диагностический отчёт. Запуск доступен с карточки инцидента кнопкой Разобрать и не меняет конфигурацию.
ИИ-диагностика работает только на чтение: она не выполняет команд на нодах и не меняет конфигурацию. Любое предложенное ею изменение становится обычным health-действием, которое всё равно требует подтверждения оператора.

Порядок и пропуски

Уровни L2 и L3 пропускаются (со статусом skipped), если базовая достижимость L1 уже провалилась: при недоступной ноде проверять службу и рукопожатие бессмысленно. Это не отдельный сбой, а сокращение лишних запросов.

Отдельные проверки

Кроме уровней, панель ведёт несколько проб, которые отвечают на вопросы, не укладывающиеся в лестницу «жива ли нода».

Выход в интернет

Страна ноды в её карточке — величина объявленная: она приехала из Remnawave или её вписал оператор. Отдельная проба смотрит, за кого ноду принимает интернет: через туннель самой схемы читается адрес выхода, и два независимых источника называют его страну. Результат виден в карточке ноды, в блоке Выход в интернет. Между «нода жива» и «нода там, где написано» помещается целый класс поломок, которые остальные проверки показывают зелёными: провайдер переназначил адрес из другого пула, гео-базы уехали следом, пользователи получили не тот регион стриминга. Вердикт описывает факт, а не поломку, и ни на что не влияет в сводных статусах: Обвинение выносится только при единогласии источников. Если все гео-хосты недоступны, прошлое показание остаётся на месте со своим временем проверки: пустой отпечаток не пишется. Когда у ноды назначен адрес выхода, панель дополнительно сверяет наблюдаемый адрес с назначенным. Роль назначена, а трафик уходит со старого адреса — это ровно то расхождение, которое до сих пор не ловил никто.

Локальный порт WARP

Раньше вердикт «виноват WARP» ставился по топологии: есть в схеме блок WARP, значит дело в нём. Теперь при сбое исходящего плеча панель просит агент ноды сходить SOCKS’ом в локальный порт сайдкара и прочитать служебный ответ. Ярлык «локальный порт WARP закрыт» ставится, только если эта проверка не прошла. Ответил — остаётся общая причина, проверка не запустилась — тоже. Результат сохраняется отдельной пробой, так что улика лежит рядом с дозвоном.

Место на диске

Фоновая проба следит за свободным местом на сервере панели и заводит инцидент при остатке меньше 10% и меньше 5%. Пороги те же, что у Axottle Doctor, чтобы они не спорили об одном и том же хосте. Полный диск — это не «медленно», а остановка: PostgreSQL не может записать checkpoint и уходит в цикл перезапусков. См. Обслуживание и Axottle Doctor.

Ручная проверка против плановой

Один и тот же уровень можно запустить двумя способами, и ведут они себя по-разному — это важно для интерпретации.
Смысл различия: ручная проверка нужна, чтобы быстро посмотреть текущее состояние, и один случайный тайм-аут не должен переводить схему в critical. Плановая проверка эскалирует к critical со стороны ноды только после устойчивого отказа сквозной пробы — трёх попыток (немедленно, затем примерно через интервал/1.5, затем ещё примерно через 30 секунд). Каждая попытка сохраняется как отдельная запись пробы.

Окно после применения

Одиночный провал сквозного дозвона в первые три минуты после применения схемы не считается аварией. Причина техническая: конфиг едет в Remnawave и дальше на ноды, xray перечитывает его и рвёт живые туннели, включая туннель самой пробы. Запись пробы при этом остаётся правдивой, в её деталях появляется отметка о том, что схема только что применялась. Устойчивый отказ планировщика эскалирует как обычно.

Зелёный только по доказательству

Путь через ветку схемы своей пробы не делает: он собирается из состояния ноды и результата дозвона. Зелёным путь становится только при успешном дозвоне, иначе он показывается как unknown. Раньше схема, в которой служебный health-пользователь вообще не заведён, показывала все пути зелёными. Отчёт после применения отдельно сообщает, сколько путей осталось недоказанными.

Интервалы по умолчанию

Плановые проверки идут по интервалам (значения по умолчанию, настраиваются — см. Политики здоровья):
  • достижимость (L1) — каждые 60 секунд;
  • служба (L2) — каждые 120 секунд;
  • сквозная проверка схемы (L4) — каждые 10 минут.
Минимально допустимые значения ограничены снизу (15 / 30 / 60 секунд), чтобы проверки не превращались в самообстрел инфраструктуры.

Проверка

История проб схемы отображается во вкладке Здоровье в блоке Server timeline. Для ноды используйте вкладки Обзор и Журнал.

Откат

Запуск проверки — операция только для чтения (кроме подтверждённых действий восстановления, которые описаны отдельно). Откатывать нечего: проверка не меняет конфигурацию ноды, только фиксирует наблюдения.

Типовые ошибки

Уровень службы требует онлайн-агента. Если агента нет или он оффлайн, статус — absent/unknown, а не сбой. Установите агент или дождитесь heartbeat.
Не подключён ни один внешний провайдер региональных проб, либо L5 не включён для этого блока. Это ожидаемо: L5 — опциональный платный уровень.
Откройте инцидент на странице Здоровье и нажмите Разобрать. История отчётов находится на вкладке Axosun History.
Связанные страницы: Состояния и severity, Дашборд здоровья, Политики здоровья, Axosun.
Проверено для версии Axottle текущей ветки. Дата проверки: 2026-07-11.