Перейти к содержанию

Конфигурация тестов

Тест – это цель, набор проверок, расписание и агенты, которые эти проверки выполняют. Тесты создаются и правятся на странице Конфигурация: кнопка «Новый тест» и ссылка «Редактировать» в строке теста. Создавать и править тесты могут роли «редактор» и «администратор».

Конфигурация: список тестов

Кнопка «Новый тест» открывает форму:

Форма нового теста

Форма разбита на части, слева оглавление «В этом тесте»: Основное, Расписание и агенты, Агент → сервер, HTTP, Page Load · Сценарий, Статус. Если какая-то часть заполнена с ошибкой, у неё в оглавлении появляется «✕ 1», а в полосе сохранения внизу – сколько ошибок и где.

Основное

Тип теста выбирается один раз и после создания не меняется:

  • Агент → сервер – путь от агента до адреса. Обычный тест: сайт, API, шлюз, DNS-сервер.
  • Агент → агент – линк между двумя агентами, адреса у такого теста нет, цель – второй агент. Подробности ниже.

Имя – уникальное в аккаунте, после создания не меняется.

Адрес – хост или IP без схемы и пути: www.netelum.net, 10.0.0.1. Если вставить полный URL, форма сама отрежет схему, путь и параметры. Порт для проверок задаётся отдельно, в общих параметрах сети. Адрес можно менять при правке.

Приложение – поле есть, только если в аккаунте заведены приложения. Тест принадлежит одному приложению или ни одному («– нет –»): привязанный тест входит в вердикт приложения и в его карточку, а в списке тестов его приложение подписано под именем. Поле видно и при правке – так существующий тест привязывают к приложению и отвязывают.

Расписание и агенты

Периодичность: 1, 2, 5, 10, 15, 30 или 60 минут, либо своё значение в формате 90s, 3m, 2h. Минимум – одна минута, дни и недели не поддерживаются.

Как запускать в интервале:

  • По умолчанию – все агенты стартуют одновременно в начале интервала. Результаты разных агентов снимаются в один момент и их удобно сравнивать.
  • Случайный старт – у каждого теста своя постоянная фаза внутри интервала. Так пики нагрузки на цель и на агентов разносятся по времени.

Агенты. Тест выполняют только назначенные агенты. Агент, заведённый позже, сам тест не подхватит, его нужно добавить в тест. Хотя бы один агент обязателен. Список разбит на «Инфраструктуру» (частные и облачные агенты) и «Устройства сотрудников», у устройства рядом показан его пользователь.

Агентов из архива для нового выбора нет: под списком строка «Ещё 2 агента в архиве – назначить их нельзя.» со ссылкой на вкладку «Архив» в «Настройки → Агенты». Архивный агент, уже назначенный на тест, остаётся в списке отмеченным с пометкой «в архиве – тест на нём не выполняется»: снять его можно, отметить заново – нет.

Агент не умеет проверку

У каждой проверки есть требования к агенту: браузер для Page Load и сценария, raw TCP для SYN и TCP-трассировки, ICMP для ping. Если ни один выбранный агент не умеет нужного, под списком агентов появится предупреждение «Проверка «X» не будет выполняться» с объяснением. Результатов по такой проверке не будет, и ошибок тоже: график останется пустым. Raw TCP нет на Windows и Android, ICMP нет на Android, это свойство системы, а не настройка.

Проверки

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

Хотя бы одна проверка должна быть включена: тест без единой включённой проверки не сохранится ни при создании, ни при правке. Чтобы временно остановить тест, выключите его целиком в части «Статус», а не все проверки.

Общие параметры сети

Одно значение на весь тест, действует на все проверки, где оно нужно.

  • Порт (пусто – 443) – для TCP, SYN, HTTP, TCP-трассировки, сертификата, Page Load и сценария. Пустое поле всегда означает 443, для любой проверки. Под полем перечислены проверки, которые его используют.
  • IP-версия: «Авто (предпочтёт IPv4)», «Только IPv4», «Только IPv6». Для ICMP, TCP, HTTP и ICMP-трассировки. SYN и TCP-трассировка работают только по IPv4.
  • Пакетов/сек (1–100, пусто – 5) – темп проб для ICMP, TCP и SYN.

Сетевые проверки

Проверка Что делает Свои параметры
ICMP ping: потери, задержка, джиттер нет
TCP соединение на порт: потери, время соединения нет
SYN TCP-пробы без установления соединения, нужен raw TCP режим проб: «Авто (SACK-permitted)», «SACK», «Чистый SYN»
Трейс (ICMP) маршрут до цели по ICMP нет
Трейс (TCP) маршрут до цели по TCP на порт, нужен raw TCP число параллельных путей, 1–10, по умолчанию 3

ICMP, TCP и SYN входят в звено «Сеть» карточки теста, трассировки строят раздел «Маршрут». Как читать результаты – в карточке теста.

HTTP(S)

Проверка ответа приложения. Схема всегда HTTPS, порт из общих параметров.

  • Путь (по умолчанию «/»), метод GET, POST или HEAD, тайм-аут 1–120 с (пусто – 8).
  • Целевое время отклика, мс – дольше считается «медленно», но ответ остаётся успешным. Пусто – без контроля.
  • Ключевое слово – ищется в теле ответа. При методе HEAD тела нет.
  • Ожидаемые статус-коды, например 200,204,300-399. Пусто – любой 2xx и 3xx.
  • Следовать редиректам – включено. Если выключить, 3xx считается финальным ответом.
  • Дополнительно: тело запроса для POST, до 32 заголовков, авторизация Basic или Bearer, строка User-Agent («Чем представляться»).

Секреты только записываются

Пароль и токен авторизации после сохранения наружу не отдаются. В форме правки поле показывает «Сохранён – введите новый, чтобы заменить»: пустое поле оставляет секрет как есть, «Без авторизации» удаляет. Если у теста сменился адрес или порт, либо добавлен новый агент, секрет придётся ввести заново: на новый адрес и на новую машину он не переносится. Пустой порт и 443 – один и тот же порт, такая замена секрет не сбрасывает.

Заголовки при редиректе на другой хост отбрасываются. User-Agent стоит держать одинаковым у всех проверок на одну цель: иначе сайт вправе отдать HTTP-проверке и браузеру разное.

Page Load

Загрузка страницы в настоящем headless-браузере: водопад ресурсов, события DOM, Web Vitals. Нужен агент с браузером. Проверка ресурсоёмкая, агент выполняет такие проверки строго по одной.

Пауза на загруженном устройстве

На устройстве сотрудника агент сам ставит Page Load и сценарии на паузу, когда устройство перегружено: загрузка процессора от 90 % два замера подряд, критическое давление памяти или перегрев. Пауза снимается, когда загрузка процессора два замера подряд ниже 70 %. Пропущенные прогоны не записываются, остальные проверки теста идут как обычно. В «Здоровье по агентам» такое устройство подписано «на паузе с 13:04 · устройство загружено».

Параметры: путь, ожидаемые статус-коды, User-Agent (пусто – обычный Chrome платформы агента), целевое время загрузки, мс – сравнивается с событием load, превышение помечает прогон «медленно».

Сценарий

Несколько шагов в настоящем браузере с таймингом каждого шага. Нужен агент с браузером, дороже Page Load. Учётные данные, если используются, уедут на все назначенные машины.

Шаги собираются в Конструкторе или задаются JSON. Действия:

Действие Поля
Переход путь от корня сайта, например /login
Клик CSS-селектор
Ввод CSS-селектор и текст
Ожидание CSS-селектор, который должен появиться
Проверка текста CSS-селектор и текст, который должен быть внутри

У шага есть необязательное название, оно попадает в описание отказа, и свой тайм-аут (по умолчанию 30 с, не больше 2 минут). Ограничения: до 20 шагов, первый шаг – «Переход», сумма тайм-аутов до 5 минут.

Пароль в скрипт не пишется. В шаге «Ввод» используйте подстановки {{username}} и {{password}}: подставятся «Логин» и «Пароль» из полей под шагами сценария. Пароль хранится только на запись и наружу не отдаётся; если убрать {{password}} из всех шагов, он удалится при сохранении. В других шагах подстановки запрещены.

Параметры сценария: ожидаемые статус-коды для каждой открываемой страницы, User-Agent, целевое время сценария (сравнивается с суммой шагов, без старта браузера).

DNS

  • Тип записи: A, AAAA, CNAME, MX, TXT, NS.
  • Ожидаемое значение – необязательно, без него успех – сам факт ответа.
  • Транспорт: обычный (UDP/TCP), DNS-over-TLS, DNS-over-HTTPS. Пресеты резолверов Cloudflare, Google, Quad9 подставляют адрес под выбранный транспорт.
  • DNS-сервер: пусто – системный резолвер агента; иначе адрес, порт по умолчанию 53 для обычного и 853 для DoT, для DoH – URL эндпоинта.
  • Доп. серверы (сравнение) – по одному в строке, до 16 вместе с основным. Ответы серверов сравниваются между собой, в карточке теста появляется раздел «Консенсус / Расхождение». Если задан хоть один дополнительный, основной обязателен.
  • Следить за сменой резолва (ASN) – открывать инцидент, когда цель начинает резолвиться в другую автономную систему. Сравнение по ASN, поэтому ротация адресов внутри одного провайдера не шумит. Инцидент открывает системное правило «DNS · Смена ответа», см. Правила.

Остальные

  • SSL-сертификат – срок и валидность сертификата на порту из общих параметров. Параметр: версия TLS, «Авто» или фиксированная 1.0–1.3.
  • WHOIS / срок домена – дата истечения регистрации домена и регистратор.

За сроками следят системные правила «SSL · Срок сертификата» (по умолчанию срабатывает, когда осталось не больше 30 дней) и «Домен · Срок регистрации» (не больше 90 дней): они открывают инцидент по каждому тесту с такой проверкой, истёкший срок – критично. Порог в днях меняется в строке правила, см. Системные правила.

  • DNS-трассировка – обход делегирования от корня через TLD к авторитативному серверу, как dig +trace. Параметров нет.
  • DNSSEC – валидация цепочки доверия от корневого якоря: «Защищено», «Не подписано», «Сломано». Параметров нет.

Статус

«Тест включён» или «Тест выключен». Выключенный тест агентами не выполняется, но вся история результатов сохраняется. В списке тестов он попадает в группу «Выключены».

Тест агент → агент

Измеряет линк между двумя агентами: своими или облачными. В форме вместо адреса и проверок – пара агентов:

  • Источник инициирует сессию и присылает результат.
  • Цель слушает и отвечает на пробы. Порт слушателя цель объявляет сама.
  • Направление: «Туда», «Обратно» или «Оба направления» с раздельными метриками в каждую сторону. Это по-прежнему один тест.

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

После сохранения

Форма возвращает в список «Конфигурация». Каждый назначенный агент получит проверки нового теста при ближайшем опросе платформы: частные агенты опрашивают её раз в 10 секунд, устройства раз в 30. Первые результаты в карточке появятся через одну периодичность. До этого тест в списке «Тесты» числится в группе «Не запускались».

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

Внизу формы правки есть «Опасная зона» с кнопкой «Удалить тест…». Удаление идёт в два шага, с вводом имени теста, и уносит назначения агентов, всю историю результатов и закрытые инциденты по тесту. Выключение историю сохраняет.