Service Topology Diagram
В этой статье описывается процесс быстрого освоения просмотра топологии сервисов.
Содержание
Prerequisites
Для просмотра топологии сервисов необходимо:
- Для сервисов Istio: Убедитесь, что в сервис был внедрён Sidecar. Подробнее см. Add ServiceMesh Service.
- Для сервисов OpenTelemetry: Убедитесь, что в сервис был внедрён OpenTelemetry Java Agent. Подробнее см. Add OpenTelemetry Service.
Quick Start
В левой навигационной панели нажмите Service Topology.
Basic Page Display
На странице чётко отображаются взаимосвязи вызовов между сервисами, где каждый узел и линия соединения различаются по цвету.
- Линии соединения представляют вызовы между сервисами, при этом цвет линии зависит от процента успешных вызовов. Серые линии означают отсутствие трафика по этим вызовам за выбранный период времени.
- Узлы представляют отдельные сервисы, цвет которых определяется пропорцией Pod-ов сервиса.
Подробную легенду иконок узлов, пороговые значения цветов для узлов и линий соединения, а также их значения смотрите в легенде в левом верхнем углу диаграммы топологии.
Когда сервис (и его Deployment, Pod) или ingress gateway, связанный с правилом тревоги, срабатывает тревога, на диаграмме топологии соответствующий сервис или ingress gateway отмечается как Alarming (). Нажатие на маркер
сервиса перенаправит вас на страницу Real-time Alarms для просмотра деталей тревожного правила.
По умолчанию диаграмма топологии автоматически обновляется каждые 5 секунд. Вы можете обновить вручную или задать интервал автообновления:
Ручное обновление: Нажмите на в правом нижнем углу диаграммы топологии для ручного обновления данных;
Настройка интервала автообновления: Нажмите на время интервала рядом с в правом нижнем углу, чтобы задать интервал автообновления.
View Istio Cross-Cluster Topology
Если текущий проект связан с несколькими кластерами, управляемыми сервисной сеткой, выбор Cross-Cluster Topology позволяет просмотреть диаграмму топологии вызовов сервисов и ingress gateway с внедрёнными Sidecar во всех пространствах имён текущей сервисной сетки и проекта в рамках разрешений аккаунта.
Примечание: Диапазон просмотра зависит от прав доступа пользователя; просмотр Tracing поддерживается только для сервисов в одном пространстве имён.
Например: Кластеры A и B управляются текущей сервисной сеткой, в кластерах A и B соответственно существуют пространства имён an1 и bn1, и у вас есть права просмотра для an1 и bn1. При входе в an1 для просмотра топологии сервисов по умолчанию вы можете видеть диаграмму вызовов всех сервисов в пространстве an1; при выборе All Clusters вы можете видеть диаграмму вызовов всех сервисов в пространствах an1 и bn1, включая вызовы сервисов из an1 в bn1.
View the Calling Topology of Services Under a Specified Namespace
Нажмите и выберите выпадающий список Namespace над диаграммой топологии. Вы можете просмотреть топологию вызовов сервисов в указанном пространстве имён текущего кластера. По умолчанию выбраны все пространства имён, отображая взаимосвязи вызовов всех управляемых пространств имён в кластере.
View Local Topology Diagram
Вы можете двойным щелчком по узлу (кроме узлов middleware с пометкой «Host Unknown») развернуть локальную топологию, центрированную на этом узле. Это позволяет быстро просмотреть состояние и данные всех узлов в цепочке вызовов вверх и вниз по отношению к целевому узлу, что помогает сосредоточиться на анализе вызовов конкретного сервиса.
View Detailed Information
Вы можете нажать на узел или линию соединения, чтобы открыть панель деталей справа, где доступны различные операции.
View Tracing
При нажатии на узел или линию соединения в панели деталей отображается опция View Tracing, позволяющая перейти на страницу Tracing для просмотра данных Tracing текущего сервиса или взаимосвязи вызовов.
- Нажатие на узел > View Tracing: выполняется запрос всех span-данных, отправленных выбранным сервисом за текущий временной диапазон, установленный в диаграмме топологии. Например, при нажатии на узел сервиса с именем «client» и выборе View Tracing система ищет все span-ы, принадлежащие сервису client за текущий временной диапазон.
- Нажатие на линию соединения > View Tracing: выполняется запрос span-данных, соответствующих конкретной взаимосвязи вызовов за текущий временной диапазон, установленный в диаграмме топологии. Например, при нажатии на линию соединения от сервиса «client» к «server» и выборе View Tracing система ищет все span-ы, где «client» является вызывающим, а «server» — вызываемым, за текущий временной диапазон.
Примечание: Функция View Tracing поддерживает разные типы сервисов в зависимости от реализации сервисной сетки:
- Для Istio поддерживаются только узлы ServiceMesh Service, Ingress Gateway и Egress Gateway
- Для OpenTelemetry поддерживаются узлы OpenTelemetry services и middleware (например, базы данных и очереди сообщений)
Если вы нажмёте на неподдерживаемые типы узлов или линии соединения, включающие неподдерживаемые узлы, переход на страницу Tracing будет недоступен.
View Service Traffic Monitoring
При нажатии на узлы ServiceMesh Service, OpenTelemetry Service, Ingress Gateway или Egress Gateway в панели деталей нажмите View Traffic Monitoring, чтобы перейти на страницу Monitoring и просмотреть подробные данные мониторинга текущего сервиса.
View Traffic Information
Примечание:
- Панель информации о трафике агрегирует только трафик, управляемый Sidecar, исключая трафик от коммуникаций с Unknown клиентами (трафик, не управляемый Sidecar). Полные данные о трафике можно просмотреть на странице Service Details или Monitoring.
- При сборе данных о трафике, если у клиента внедрён Sidecar, коэффициент выборки трафика совпадает с коэффициентом выборки цепочки вызовов, настроенным в сервисной сетке; иначе коэффициент выборки равен 100%.
- Диапазон времени запроса данных о трафике зависит от конфигурации хранения данных системы мониторинга, интегрированной с сервисной сеткой. Например, если система мониторинга (например, Prometheus) настроена на хранение данных за последние 7 дней, система сможет отображать данные трафика только за последние 7 дней при запросе за период более 7 дней.
При нажатии на узел или линию соединения в панели деталей отображаются графики трафика для текущего сервиса или взаимосвязи вызовов. Объяснения графиков для разных протоколов приведены ниже:
HTTP/HTTP2/gRPC Protocols
TCP Protocol
Middleware Information
При нажатии на линию соединения, которая соединяет OpenTelemetry сервис с middleware сервисом, можно просмотреть следующую информацию:
Информация об узле
Примечание Полный список поддерживаемых типов middleware смотрите в разделе Node Types.
Информация о трафике
Относится к общему количеству запросов, сделанных OpenTelemetry сервисом к middleware за период запроса.