Все панели зелёные, туннель поднят одиннадцать дней, а филиал не может загрузить внутреннее приложение. Именно для этого симптома существует данный проект, и это не ошибка мониторинга. Состояние туннеля отвечает на вопрос о согласовании, а пользователь спрашивает о запросе, который проходит через четыре решения маршрутизации и уровень политик. Нужны оба сигнала, хранимые отдельно, и способ различить их ночью.

Начинайте с отказавшего симптома, а не с туннеля

Установленная ассоциация безопасности означает, что стороны согласовали предложение и установили ключи. Это не значит, что селекторы покрывают нужную пользователю подсеть, что удалённая сторона имеет обратный маршрут или что межсетевой экран принимает порт после расшифровки. Трафик может отказать и на стороне филиала, и тогда Azure ничего не видит и сообщает об идеальном здоровье. Метрика туннеля необходима и никогда не достаточна.

Нужно различать три состояния: туннель опущен, туннель поднят и сервис отказывает, и сам источник мониторинга недоступен.

Разместите пробу там, где находятся пользователи

Для приложения из филиала в Azure запускайте синтетический тест с хоста в рабочей сети филиала и направляйте его на частную точку входа HTTPS, к которой пользователи действительно обращаются. Проба, запущенная со шлюза, использует другой адрес источника и часто другой путь политики, поэтому может проходить, пока каждый пользователь терпит отказ. Azure Connection Monitor поддерживает проверки TCP, ICMP и HTTP с тестовыми группами и порогами, а его локальные источники имеют требования к агенту, отличные от требований на стороне Azure. Проверьте текущую поддерживаемую схему вместо копирования устаревшего классического рецепта мониторинга из блога.

Держите пробу узкой и скучной: одно назначение, один порт, частота, соответствующая эксплуатационному требованию, и явное правило разрешения для этого источника.

Выберите проверку, подходящую сервису

TCP-соединение с портом сервиса доказывает доступность транспорта через туннель и ничего не говорит о TLS или приложении. Проверка HTTP добавляет ожидание статуса и ловит слушателя, который принимает соединения, но не может обслуживать, что является более частым отказом после смены сертификата или бэкенда. Ни одна из них не является аутентифицированной деловой транзакцией, если тест действительно не аутентифицируется, поэтому не помечайте её так на панели. Выбирайте проверку, которая отказывает именно тогда, когда возникает жалоба пользователя.

ICMP — самый слабый из трёх вариантов, поскольку многие стеки отбрасывают его по политике, а неудачный ping доказывает очень мало.

Доставьте оба сигнала в Elastic, не выдумывая их

Шлюз VPN выдаёт платформенные метрики, такие как байты исходящего и входящего трафика туннеля и счётчики потерь пакетов, и может отправлять диагностические журналы в категориях, включая события туннеля и IKE. Результаты Connection Monitor поступают через Azure Monitor как метрики и через рабочую область Log Analytics как записи журнала. Само по себе ничто из этого не появляется в индексе Elastic. Выберите один поддерживаемый конвейер для метрик и один для журналов, обычно вход Azure Event Hub или интеграцию Azure Monitor, и проверьте, что установленная интеграция действительно принимает, прежде чем доверять шаблону индекса.

Сохраняйте метки, позволяющие оператору соединить два набора данных: исходная конечная точка, назначение, протокол и порт для пробы, а также идентификатор туннеля и адрес партнёра для шлюза.

Проверьте конвейер одним контролируемым событием, затем найдите его в Elastic и проверьте его отметку времени и метки ресурсов. Документ с неверной отметкой времени хуже отсутствующего, потому что делает устаревшие данные актуальными.

Оповещайте о разнице, а не о цвете

Смысл двух сигналов — в комбинациях. Туннель опущен должен будить владельца сети; туннель поднят при отказе пробы — владельца приложения; отсутствующий результат пробы — владельца агента мониторинга. Сведение всех трёх в одну красную панель гарантирует, что оповещение отключат в течение месяца. Оповещайте об устойчивом отказе с окном продолжительности, а не об одном замере, и добавьте отдельную проверку здоровья самого конвейера приёма.

Панель, заполненная вчерашними успешными замерами, не должна сегодня читаться как здоровый путь.

В письменном виде контракт мал: метрика туннеля говорит, что шлюз договорился, проба говорит, что путь работает оттуда, где сидят пользователи, а здоровье конвейера говорит, актуален ли любой из ответов. Всё остальное на панели — комментарий.

Похожие статьи