Внешние HTTP-сервисы
На этой странице:
- Введение
- Что такое внешний HTTP-сервис
- Как открыть
- Список внешних сервисов
- Детальный дашборд внешнего сервиса
- Переход из вкладки «Связи» сервиса
- Ограничения
Введение
Внешние HTTP-сервисы — раздел платформы Proto Observability, в котором сторонние HTTP API, которые вызывают инструментированные сервисы платформы, представлены как самостоятельные сущности. Для каждого такого сервиса доступен отдельный дашборд со статистикой вызовов, временем отклика, процентом ошибок и списком вызывающих сервисов и эндпоинтов.
Версия
Данный функционал доступен начиная с версии 200.Что такое внешний HTTP-сервис
Внешний HTTP-сервис — это сторонний API, вызываемый одним или несколькими инструментированными сервисами платформы (например, платёжный шлюз, сервис отправки email, облачный API, внутренний сервис без установленного агента). Платформа автоматически обнаруживает их как исходящие (exit) HTTP-спаны, в которых атрибут peer.hostname указывает на хост за пределами платформы. Каждый уникальный peerHostname становится отдельным внешним HTTP-сервисом.
В модели ресурсов такие сервисы регистрируются с CI-классом external_service, в графе зависимостей они помечаются иконкой облака.
Как открыть
Перейдите в раздел Сервисы > Внешние сервисы в основном меню навигации платформы.
Также открыть детальный дашборд внешнего сервиса можно из вкладки Связи любого обычного сервиса — см. ниже.
Список внешних сервисов
Страница списка показывает все обнаруженные в трейсах сторонние HTTP-сервисы с агрегированными показателями.
Столбцы таблицы:
| Столбец | Описание |
|---|---|
| Имя хоста (peerHostname) | Доменное имя или адрес внешнего сервиса |
| Вызовов в минуту | Среднее количество вызовов |
| Время отклика | Среднее время ответа внешнего сервиса |
| Процент ошибок | Доля ответов с HTTP-статусами 4xx / 5xx |
| Зависимых сервисов | Количество инструментированных сервисов, обращающихся к этому хосту |
Возможности:
- Поиск по имени хоста;
- Фильтрация по типу HTTP-пира (external, internal и т.д.);
- Сортировка по любому из столбцов;
- Настройка временного диапазона через стандартный таймпиккер платформы.
Нажмите на строку, чтобы открыть детальный дашборд внешнего сервиса.
Детальный дашборд внешнего сервиса
Детальный дашборд внешнего сервиса построен по общему шаблону дашбордов платформы и включает несколько секций.
Заголовок (KPI)
В верхней части дашборда размещены ключевые показатели за выбранный период:
- Всего вызовов — общее число запросов к внешнему сервису;
- Вызовов в минуту — средняя пропускная способность;
- Среднее время отклика;
- Процент ошибок.
Пропускная способность
Линейный график количества вызовов в секунду или минуту за выбранный диапазон времени. Позволяет выявить пики, провалы и аномальные всплески нагрузки.
Время отклика
График времени отклика с перцентилями P50, P95 и P99. Позволяет отличить общую деградацию от выбросов (long tail).
Процент ошибок
График доли ошибочных ответов (HTTP 4xx и 5xx) во времени с выделением отдельных статусов при наведении.
Top Callers
Таблица инструментированных сервисов, которые чаще всего обращаются к этому внешнему сервису. Для каждого вызывающего сервиса отображаются количество вызовов, время отклика и процент ошибок.
Top Endpoints
Таблица эндпоинтов (путей) внешнего сервиса, отсортированных по количеству вызовов, с тем же набором показателей.
Вкладка «Трейсы»
Открывает Traces Explorer с предустановленным фильтром по выбранному внешнему сервису — для детального разбора отдельных вызовов и причин ошибок.
Переход из вкладки «Связи» сервиса
Внешние HTTP-сервисы интегрированы с модулем анализа зависимостей платформы:
- Откройте дашборд любого обычного сервиса.
- Перейдите на вкладку Связи.
- В таблице или в графе зависимостей найдите внешний сервис — он помечен иконкой облака и значком external.
- Нажмите на строку таблицы или узел графа — откроется детальный дашборд внешнего сервиса.
Аналогичная возможность доступна из контекстного меню узлов графа зависимостей.
Ограничения
- Внешние HTTP-сервисы обнаруживаются только если инструментированные сервисы отправляют трейсы с исходящими HTTP-спанами (атрибут
span.kind = clientи HTTP-атрибуты). - Данные внутри внешнего сервиса (такие как внутренняя статистика) недоступны — видно только то, что наблюдается в спанах вызывающих сервисов.
- Применяются права доступа RBAC: пользователь увидит только те внешние сервисы, к которым обращаются разрешённые ему сервисы.