DeepFlow предоставляет панели Grafana для визуализации метрик производительности сети и приложений, а также возможности автоматического трассирования приложений с использованием технологии eBPF.
Для доступа к панелям Grafana DeepFlow необходимо установить плагин DeepFlow из Marketplace.
После установки вы можете получить доступ к веб-интерфейсу Grafana через Ingress, настроенный во время установки. Для входа в веб-интерфейс Grafana требуются учетные данные.
Для получения дополнительной информации о работе с панелями Grafana обратитесь к документации Grafana.
Для входа в веб-интерфейс Grafana вам потребуется следующая информация, которая настраивается во время установки плагина DeepFlow:
После первого входа настоятельно рекомендуется изменить пароль по соображениям безопасности.
Перейдите в раздел Dashboards в веб-интерфейсе Grafana, чтобы получить доступ к различным преднастроенным панелям, предоставляемым DeepFlow.
Панели расположены в двух папках: DeepFlow System и DeepFlow Template.
В этой папке находится панель с именем DeepFlow Agent, которая предоставляет информацию о состоянии и производительности узлов, на которых развернуты агенты DeepFlow.
Что касается наблюдаемости сети, она включает метрики, такие как:
| Метрика | Панели |
|---|---|
| Статистика пропускной способности всех выбранных агентов | Пропускная способность |
| Топ <agent, signal> по средней пропускной способности | |
| Топ агентов по общей пропускной способности | |
| Счетчики ядра NIC (только для информации) | Потери пакетов на интерфейсах |
| bps на интерфейсах | |
| pps на интерфейсах | |
| [dispatcher] AF_PACKET/cBPF Collector | Пакетов в секунду |
| 🔥[ВНИМАНИЕ] Потери пакетов в ядре (агент не может обработать) | |
| Обратный таймстамп ядра > 1 мс (только для информации) | |
| Квантификация производительности TCP | Игнорируемые TCP-пакеты с аномальными TCP-флагами |
| TCP-пакеты, не подлежащие повторной передаче | |
| Нераспознанные пакеты протокола L7 |
ВНИМАНИЕ: панели, отмеченные 🔥, указывают на потенциальные проблемы, требующие внимания.
В этой папке содержатся различные панели, включая метрики сети/L4, метрики приложений/L7 и панели автоматического трассирования.
Ниже приведены панели, связанные с наблюдаемостью сети:
| Каталог | Панели | Описание | Метрики/Панели |
|---|---|---|---|
| Сеть/L4 | Сеть - Cloud Host | Предоставляет метрики сети/L4 для хостов кластера, включая пропускную способность, пакеты, потоки и производительность TCP. | Пропускная способность (bps) |
| Коэффициент повторных передач | |||
| Коэффициент отказа установления TCP-соединения | |||
| Задержка установления TCP-соединения | |||
| Сеть - Cloud Host Map | Визуализирует топологию сети хостов кластера, показывая соединения и потоки трафика между ними. | Карта хоста облака | |
| Пропускная способность (bps) | |||
| Коэффициент повторных передач TCP (%) | |||
| Коэффициент отказа установления TCP-соединения (%) | |||
| Задержка установления TCP-соединения (мс) | |||
| Сеть - K8s Pod | Предоставляет метрики сети/L4 для Kubernetes Pod, включая пропускную способность, пакеты, потоки и производительность TCP. | Пропускная способность (bps) | |
| Коэффициент повторных передач | |||
| Коэффициент отказа установления TCP-соединения | |||
| Задержка установления TCP-соединения | |||
| Сеть - K8s Pod Map | Визуализирует топологию сети Kubernetes Pod, показывая соединения и потоки трафика между ними. | Карта Pod | |
| Пропускная способность (bps) | |||
| Коэффициент повторных передач TCP (%) | |||
| Коэффициент отказа установления TCP-соединения (%) | |||
| Задержка установления TCP-соединения (мс) | |||
| Сеть - Flow Log | Отображает подробные логи потоков сетевого трафика в Kubernetes Pod, включая IP-адреса источника и назначения, порты, протоколы и другое. | Общее количество | |
| Количество ошибок | |||
| Распределение задержек установления TCP-соединения | |||
| Распределение задержек передачи данных TCP | |||
| Лог потоков | |||
| Сеть - Flow Log - Cloud | Отображает подробные логи потоков сетевого трафика на хостах кластера, включая IP-адреса источника и назначения, порты, протоколы и другое. | Общее количество | |
| Количество ошибок | |||
| Распределение задержек установления TCP-соединения | |||
| Распределение задержек передачи данных TCP | |||
| Лог потоков | |||
| Приложение/L7 | Приложение - Cloud Host | Предоставляет метрики приложений/L7 для хостов кластера, включая скорость запросов, количество ошибок и задержки для различных протоколов, таких как HTTP, DNS, MySQL, Redis и MongoDB. | Запросы |
| Ошибки сервера | |||
| Задержка | |||
| Приложение - Cloud Host Map | Визуализирует топологию приложений хостов кластера, показывая соединения и потоки трафика между различными приложениями. | Карта хоста облака | |
| Запросы | |||
| Ошибки сервера | |||
| Задержка | |||
| Приложение - K8s Pod | Предоставляет метрики приложений/L7 для Kubernetes Pod, включая скорость запросов, количество ошибок и задержки для различных протоколов, таких как HTTP, DNS, MySQL, Redis и MongoDB. | Запросы | |
| Ошибки сервера | |||
| Задержка | |||
| Приложение - K8s Pod Map | Визуализирует топологию приложений Kubernetes Pod, показывая соединения и потоки трафика между различными приложениями. | Карта Pod | |
| Запросы | |||
| Ошибки сервера | |||
| Задержка | |||
| Приложение - Request Log | Отображает подробные логи запросов для приложений, работающих в Kubernetes Pod, включая IP-адреса источника и назначения, URL, коды ответов и другое. | Общее количество | |
| Количество ошибок | |||
| Гистограмма задержек | |||
| Лог запросов | |||
| Приложение - Request Log - Cloud | Отображает подробные логи запросов для приложений, работающих в сетях хостов, включая IP-адреса источника и назначения, URL, коды ответов и другое. | Общее количество | |
| Количество ошибок | |||
| Гистограмма задержек | |||
| Лог запросов | |||
| Приложение - K8s Ingress | Предоставляет метрики приложений/L7 для ресурсов Kubernetes Ingress, включая скорость запросов, количество ошибок и задержки для HTTP-трафика. | Карта запросов Upstream | |
| Запросы | |||
| Задержка | |||
| Ошибки | |||
| Пропускная способность | |||
| Приложение - DNS Monitoring | Мониторинг DNS-запросов и ответов, предоставляющий информацию о производительности DNS и возможных проблемах. | Топология DNS | |
| Задержка | |||
| Доля ошибок | |||
| Запросы | |||
| Анализ логов | |||
| Приложение - SQL Monitoring - K8S | Мониторинг SQL-запросов и производительности баз данных, работающих в Kubernetes Pod, например MySQL, PostgreSQL и MongoDB. | Топология SQL | |
| Подключения | |||
| Задержка | |||
| Ошибки | |||
| Пропускная способность | |||
| Анализ SQL | |||
| Приложение - SQL Monitoring - Cloud | Мониторинг SQL-запросов и производительности баз данных, работающих в сетях хостов, например MySQL, PostgreSQL и MongoDB. | Топология SQL | |
| Подключения | |||
| Задержка | |||
| Ошибки | |||
| Пропускная способность | |||
| Анализ SQL | |||
| Приложение - Redis Monitoring - K8S | Мониторинг команд Redis и производительности экземпляров Redis, работающих в Kubernetes Pod. | Топология Redis | |
| Подключения | |||
| Задержка | |||
| Ошибки | |||
| Пропускная способность | |||
| Анализ логов | |||
| Приложение - Redis Monitoring - Cloud | Мониторинг команд Redis и производительности экземпляров Redis, работающих в сетях хостов. | Топология Redis | |
| Подключения | |||
| Задержка | |||
| Ошибки | |||
| Пропускная способность | |||
| Анализ логов | |||
| Приложение - Dubbo Monitoring - K8S | Мониторинг вызовов Dubbo RPC и производительности сервисов Dubbo, работающих в Kubernetes Pod. | Топология Dubbo | |
| Подключения | |||
| Задержка | |||
| Ошибки | |||
| Анализ логов | |||
| Автоматическое трассирование | Распределенное трассирование | Предоставляет возможности распределенного трассирования для приложений, работающих в Kubernetes Pod, позволяя отслеживать запросы по мере их прохождения через различные сервисы и компоненты. | Список запросов |
| Flame Graph | |||
| Распределенное трассирование - Cloud | Предоставляет возможности распределенного трассирования для приложений, работающих в сетях хостов, позволяя отслеживать запросы по мере их прохождения через различные сервисы и компоненты. | Список запросов | |
| Flame Graph |
В итоге DeepFlow предлагает полный набор панелей для мониторинга и анализа производительности сети и приложений как в Kubernetes Pod, так и в сетях хостов.
Функция Distributed Tracing в DeepFlow позволяет отслеживать запросы по мере их прохождения через различные сервисы и компоненты ваших приложений.
Это помогает выявлять узкие места производительности, понимать взаимодействия сервисов и оптимизировать производительность приложений.
В панелях Distributed Tracing вы можете просматривать подробную информацию о каждом запросе, включая:
Вы можете фильтровать и искать конкретные запросы по различным критериям, таким как namespace, workload, trace ID, span ID, ресурс запроса и временной диапазон.
Пример списка запросов:

Нажмите на конкретный запрос, чтобы просмотреть его подробную трассировку во Flame Graph:

Flame graph состоит из множества блоков в форме полосок, каждый из которых представляет span.
Ось X отображает время, а ось Y — глубину стека вызовов. Span отображаются сверху вниз в порядке вызова.
Детали:
DeepFlow поддерживает парсинг уникальных Request ID, внедряемых приложениями (например, почти все шлюзы внедряют X-Request-ID), и связывает разные запросы с одинаковым Request ID в одну трассировку.
Чтобы добавить заголовок Request ID для парсинга, вы можете изменить конфигурацию группы агентов DeepFlow при установке или обновлении плагина DeepFlow.
Параметр конфигурации — processors.request_log.tag_extraction.tracing_tag.x_request_id, который принимает список имен заголовков.
Пример конфигурации:
Для получения дополнительной информации о настройке агента DeepFlow обратитесь к документации DeepFlow Agent Configuration.