Диаграмма топологии сервиса
В этой статье описывается процесс быстрого освоения просмотра топологии сервиса.
Содержание
Предварительные требованияБыстрый стартОсновное отображение страницыПросмотр топологии Istio Cross-ClusterПросмотр топологии вызовов сервисов в указанном пространстве имёнПросмотр локальной диаграммы топологииПросмотр подробной информацииПросмотр TracingПросмотр мониторинга трафика сервисаПросмотр информации о трафикеПротоколы HTTP/HTTP2/gRPCПротокол TCPИнформация о middlewareПредварительные требования
Для просмотра топологии сервиса необходимо:
- Для сервисов Istio: Убедитесь, что сервис был инжектирован Sidecar. Подробнее см. Add ServiceMesh Service.
- Для сервисов OpenTelemetry: Убедитесь, что сервис был инжектирован OpenTelemetry Java Agent. Подробнее см. Add OpenTelemetry Service.
Быстрый старт
В левой навигационной панели нажмите Service Topology.
Основное отображение страницы
На странице четко отображаются отношения вызовов между сервисами, где каждый узел и линия соединения различаются по цвету.
- Линии соединения представляют вызовы между сервисами, цвет которых регулируется в зависимости от процента успешных вызовов. Серые линии означают отсутствие трафика по этим вызовам за выбранный период времени.
- Узлы представляют отдельные сервисы, цвет которых определяется долей сервисных Pod.
Подробную легенду иконок узлов, пороги цветов для узлов и линий соединения, а также их значения смотрите в легенде в левом верхнем углу диаграммы топологии.
Когда сервис (и его Deployment, Pod) или ingress gateway, связанный с правилом тревоги, срабатывает, на диаграмме топологии тревожный сервис или ingress gateway отмечается значком Alarming (). Нажатие на значок
сервиса перенаправит вас на страницу Real-time Alarms для просмотра деталей тревожного правила.
По умолчанию диаграмма топологии автоматически обновляется каждые 5 секунд. Вы можете обновить вручную или настроить интервал автообновления:
Ручное обновление: Нажмите на в правом нижнем углу диаграммы топологии для ручного обновления данных;
Настройка интервала автообновления: Нажмите на время интервала рядом с в правом нижнем углу, чтобы задать интервал автообновления.
Просмотр топологии Istio Cross-Cluster
Если текущий проект связан с несколькими кластерами, управляемыми service mesh, выбор Cross-Cluster Topology позволяет просмотреть диаграмму топологии вызовов сервисов и ingress gateway с инжектированными Sidecar во всех пространствах имён текущего service mesh и проекта в рамках разрешений аккаунта.
Примечание: Диапазон просмотра зависит от прав доступа пользователя; просмотр Tracing поддерживается только для сервисов в одном пространстве имён.
Например: Кластеры A и B управляются текущим service mesh, в кластерах A и B соответственно существуют пространства имён an1 и bn1, и у вас есть права просмотра для an1 и bn1. При входе в an1 для просмотра топологии сервиса по умолчанию можно видеть только диаграмму вызовов всех сервисов в пространстве имён an1; при выборе All Clusters можно видеть диаграмму вызовов всех сервисов в пространствах имён an1 и bn1, включая вызовы сервисов из an1 в bn1.
Просмотр топологии вызовов сервисов в указанном пространстве имён
Нажмите и выберите выпадающий список Namespace над диаграммой топологии. Вы можете просмотреть топологию вызовов сервисов в указанном пространстве имён текущего кластера. По умолчанию выбрано All Namespaces, отображая вызовы всех управляемых пространств имён в кластере.
Просмотр локальной диаграммы топологии
Вы можете двойным щелчком по узлу (кроме узлов middleware с пометкой «Host Unknown») развернуть локальную топологию, центрированную на этом узле. Это позволяет быстро просмотреть состояние и данные всех узлов в отношениях вызовов вверх и вниз по цепочке для целевого узла, что помогает сосредоточиться на анализе вызовов конкретного сервиса.
Просмотр подробной информации
Вы можете нажать на узел или линию соединения, чтобы развернуть панель деталей справа, где доступны различные операции.
Просмотр 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 поддерживает разные типы сервисов в зависимости от реализации service mesh:
- Для Istio: поддерживаются только узлы ServiceMesh Service, Ingress Gateway и Egress Gateway
- Для OpenTelemetry: поддерживаются узлы OpenTelemetry services и middleware (например, базы данных и очереди сообщений)
Если нажать на неподдерживаемые типы узлов или линии соединения, включающие неподдерживаемые узлы, переход на страницу Tracing будет недоступен.
Просмотр мониторинга трафика сервиса
При нажатии на узлы ServiceMesh Service, OpenTelemetry Service, Ingress Gateway или Egress Gateway в панели деталей нажмите View Traffic Monitoring, чтобы перейти на страницу Monitoring и просмотреть подробные данные мониторинга текущего сервиса.
Просмотр информации о трафике
Примечание:
- Панель информации о трафике агрегирует только трафик, управляемый Sidecar, исключая трафик от коммуникаций с Unknown клиентами (трафик, не управляемый Sidecar). Полные данные трафика можно посмотреть на странице Service Details или Monitoring.
- При сборе данных о трафике, если у клиента инжектирован Sidecar, коэффициент выборки трафика совпадает с коэффициентом выборки цепочки вызовов, настроенным в service mesh; иначе коэффициент выборки равен 100%.
- Временной диапазон запроса данных о трафике зависит от конфигурации хранения данных системы мониторинга, интегрированной с service mesh. Например, если система мониторинга (например, Prometheus) настроена на хранение данных за последние 7 дней, система сможет отображать данные трафика только за последние 7 дней при запросе за период более 7 дней.
При нажатии на узел или линию соединения в панели деталей отображаются графики трафика для текущего сервиса или отношения вызова. Объяснения графиков для разных протоколов приведены ниже:
Протоколы HTTP/HTTP2/gRPC
Протокол TCP
Информация о middleware
При нажатии на линию соединения, соединяющую OpenTelemetry сервис с middleware сервисом, можно просмотреть следующую информацию:
Информация об узле
Примечание Полный список поддерживаемых типов middleware смотрите в разделе Node Types.
Информация о трафике
Относится к общему количеству запросов, сделанных OpenTelemetry сервисом к middleware за период запроса.