Моніторинг Azure Site VPN: поєднайте стан тунелю з реальним зондом
Зелений тунель і застосунок із вичерпаним часом очікування — різні сигнали. Поєднайте телеметрію шлюзу Azure VPN із синтетичним зондом на реальному шляху в Elastic.
Усі панелі зелені, тунель піднято одинадцять днів, а філія не може завантажити внутрішній застосунок. Саме для цього симптому існує цей дизайн, і це не помилка моніторингу. Стан тунелю відповідає на питання про узгодження, тоді як користувач питає про запит, що проходить чотири рішення маршрутизації та рівень політик. Потрібні обидва сигнали, окремо, і спосіб розрізнити їх посеред ночі.
Починайте з симптому відмови, а не з тунелю
Усталена асоціація безпеки означає, що сторони домовилися про пропозицію та встановили ключі. Це не означає, що селектори покривають підмережу, потрібну користувачу, що віддалена сторона має зворотний маршрут або що міжмережевий екран приймає порт після розшифрування. Трафік може відмовити й на боці філії, і тоді 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 і перевірте її позначку часу та мітки ресурсів. Документ із неправильною позначкою часу гірший за відсутній, бо робить застарілі дані актуальними.
Сповіщайте про різницю, а не про колір
Сенс двох сигналів — у комбінаціях. Тунель опущено — будити власника мережі; тунель піднято з відмовою зонда — власника застосунку; відсутній результат зонда — власника агента моніторингу. Зведення всіх трьох в одну червону панель гарантує, що сповіщення вимкнуть протягом місяця. Сповіщайте про стійку відмову з вікном тривалості, а не про один замір, і додайте окрему перевірку здоров'я самого конвеєра приймання.
Панель, заповнена вчорашніми успішними замірами, не повинна сьогодні читатися як здоровий шлях.
У письмовому вигляді контракт малий: метрика тунелю каже, що шлюз домовився, зонд каже, що шлях працює звідти, де сидять користувачі, а здоров'я конвеєра каже, чи актуальна будь-яка з відповідей. Усе інше на панелі — коментар.