Метрики мониторинга ADO

В этой статье описаны метрики для мониторинга кластера ADO. Информацию о мониторинге, его компонентах и установке можно прочитать в статье Установка мониторинга.

Обзор

Сервис Monitoring собирает метрики компонентов ADO и делает их доступными через VictoriaMetrics и Grafana. VMAgent собирает метрики с настроенных экспортеров и сервисов ADO и отправляет их в кластер VictoriaMetrics. Мониторинг на основе Prometheus также можно использовать в качестве альтернативы и совместно с мониторингом на основе VictoriaMetrics. Grafana визуализирует собранные метрики на дашбордах.

Эти инструменты помогают отслеживать состояние кластера ADO, контролировать синхронизацию GitSync, наблюдать за активностью Airflow, отслеживать работу рабочих процессов Celery и анализировать использование ресурсов хоста.

Сервис Monitoring состоит из следующих компонентов:

  • Node Exporter — предоставляет метрики оборудования и операционной системы, такие как использование CPU, памяти, диска и сети. Эти метрики доступны на порту и эндпоинте, указанных в разделе Node Exporter settings конфигурации сервиса Monitoring (11203/metrics по умолчанию).

  • VMAgent — собирает метрики с настроенных экспортеров и сервисов ADO и отправляет их в кластер VictoriaMetrics.

  • Prometheus Server — предоставляет альтернативное решение для сбора и хранения метрик на основе Prometheus. Может использоваться совместно с мониторингом на основе VictoriaMetrics.

  • Grafana — визуализирует собранные метрики на дашбордах. Grafana может использовать VictoriaMetrics или Prometheus в качестве источника данных.

Просмотр метрик в Prometheus

Prometheus — это набор инструментов для мониторинга и оповещения. Он собирает метрики кластера ADO и его сервисов, а Grafana получает эти метрики из Prometheus для построения дашбордов. Если на дашборде Grafana отображаются пустые панели или неожиданные значения, проверка Prometheus помогает определить, связана ли проблема со сбором метрик или с конфигурацией дашборда.

Чтобы просмотреть метрики в Prometheus:

  1. В браузере введите <IP-адрес сервера мониторинга>:<порт>. Порт 11200 используется по умолчанию. Его можно изменить в разделе Prometheus settings конфигурации сервиса Monitoring.

    IP-адрес, порт и имя хоста Prometheus также доступны на вкладке Info сервиса Monitoring.

  2. В открывшемся окне введите имя пользователя и пароль, настроенные в поле Prometheus users to login/logout to Prometheus конфигурации сервиса Monitoring.

В веб-интерфейсе Prometheus можно:

  • просматривать конфигурацию Prometheus;

  • проверять доступность экспортеров и сервисов ADO на странице Targets;

  • выполнять запросы к собранным метрикам с помощью языка запросов Prometheus (PromQL).

Использование языка запросов Prometheus
Запрос Prometheus
Использование языка запросов Prometheus
Запрос Prometheus

Дашборды Grafana

Grafana визуализирует метрики, собранные системой мониторинга, и организует их в дашборды. В зависимости от настроенного решения для мониторинга Grafana может использовать VictoriaMetrics или Prometheus в качестве источника данных. Предоставленные дашборды можно использовать для мониторинга сервисов ADO или создавать собственные дашборды на основе собранных метрик.

Чтобы открыть Grafana:

  1. В браузере введите <IP-адрес сервера мониторинга>:<порт>. Порт 11210 используется по умолчанию. Его можно изменить в разделе Grafana settings конфигурации сервиса Monitoring.

    IP-адрес, порт и имя хоста Grafana также доступны на вкладке Info сервиса Monitoring.

  2. В открывшемся окне в поле Email or username введите admin, а в поле Password — пароль, настроенный в поле Grafana administrator’s password конфигурации сервиса Monitoring.

По умолчанию в Grafana доступны следующие дашборды:

Каждый дашборд предназначен для мониторинга определенного компонента ADO и предоставляет относящиеся к его работе метрики.

В следующих разделах описаны доступные дашборды и предоставляемые ими метрики.

GitSync Monitoring

Дашборд GitSync Monitoring предоставляет информацию о синхронизации репозиториев, операциях Git, проверках, доступности воркеров и установке зависимостей.

Этот дашборд помогает выявлять ошибки синхронизации, отслеживать производительность синхронизации, обнаруживать проблемы при проверке репозиториев и проверять корректность работы воркеров GitSync.

Дашборд GitSync Monitoring в Grafana
Дашборд GitSync Monitoring в Grafana

В таблице ниже перечислены доступные графики.

Название графика Описание

Sync Runs Rate (success vs failed)

Показывает скорость выполнения успешных и неуспешных операций синхронизации репозиториев во времени

Last Successful Sync

Отображает длительность последней успешной синхронизации

Sync Duration Trends

Показывает длительность синхронизации во времени, включая среднюю длительность и 95-й процентиль (p95). Эта панель помогает выявлять снижение производительности и необычно длительные операции синхронизации

Git Operations Volume

Показывает количество выполненных операций Git во времени

Git Operation Latency (avg and p95)

Отображает среднюю длительность операций Git и длительность, соответствующую 95-му процентилю

Failed Git Operations

Показывает количество неудачных операций Git

Validation Errors

Отображает количество ошибок проверки репозитория, обнаруженных во время синхронизации

Target Directory Writability

Показывает, доступна ли целевая директория синхронизации для записи

Files Synced Rate

Показывает скорость синхронизации файлов

Total Files Synced (30m)

Отображает общее количество файлов, синхронизированных за последние 30 минут

Worker Availability

Показывает, доступен ли воркер GitSync для обработки запросов на синхронизацию

Active Workers Count

Отображает количество активных воркеров GitSync

Sync Completion Rate

Показывает скорость завершения операций синхронизации

Pip Install Duration

Отображает длительность установки зависимостей из файла requirements.txt во время синхронизации репозитория

Условия отображения метрик мониторинга

Некоторые метрики GitSync генерируются только при выполнении определенных условий. Если необходимые условия не выполнены, соответствующие панели Grafana отображают No data. Такое поведение является ожидаемым и не означает неисправность мониторинга.

Для метрик, связанных с pip:

  • параметр sync_requirements должен иметь значение true;

  • синхронизируемый репозиторий должен содержать файл requirements.txt.

Метрика gitsync_validation_errors_total заполняется только после синхронизации репозитория, при которой возникает одна или несколько ошибок проверки.

Airflow cluster dashboard

Дашборд Airflow cluster dashboard предоставляет обзор состояния и производительности компонентов Airflow. Он включает метрики планировщика, статистику исполнителя, метрики выполнения задач и показатели производительности выполнения DAG.

Этот дашборд помогает проверять корректность работы компонентов Airflow, обнаруживать проблемы с планировщиком, отслеживать выполнение задач и выявлять узкие места, влияющие на работу сервиса.

На странице доступен фильтр Airflow Instance Id, позволяющий отображать метрики для определенного хоста.

В таблице ниже перечислены доступные графики.

Название графика Описание

Scheduler heartbeat

Показывает, что планировщик работает и периодически обновляет heartbeat. Отсутствие изменений может указывать на некорректную работу планировщика

Dagbag size

Отображает количество DAG, загруженных DAG Processor в данный момент

DAG processing total parse time

Показывает общее время, необходимое DAG Processor для парсинга всех DAG-файлов

Dagbag import errors

Отображает количество ошибок, возникших при импорте DAG

Zombies killed

Показывает количество обнаруженных и завершенных планировщиком задач, находящихся в состоянии zombie

Total successful tasks

Отображает суммарное количество успешно завершенных задач

Operator success rate per minute

Показывает скорость выполнения успешно завершенных задач с разбивкой по типу оператора

Operator failure rate per minute

Показывает скорость выполнения неуспешных задач с разбивкой по типу оператора

Total failed tasks

Отображает суммарное количество неуспешных выполнений задач

Jobs started per minute

Показывает скорость запуска задач

Executor running tasks

Отображает количество задач, выполняющихся в данный момент

Executor queued tasks

Показывает количество задач, ожидающих выполнения

Jobs ended per minute

Отображает скорость завершения задач

Executor open slots

Показывает количество слотов исполнителя, доступных в данный момент для выполнения задач

Success DAG run duration

Отображает длительность выполнения успешных запусков DAG. Процентили (p50, p90 и p99) помогают определить типичную длительность и длительность медленных рабочих процессов

Failed DAG run duration

Показывает длительность выполнения неуспешных запусков DAG

DAG run duration

Отображает длительность выполнения всех запусков DAG независимо от их статуса

DAG run dependency check time

Показывает время, необходимое для проверки зависимостей задач перед началом запуска DAG

DAG run schedule delay

Отображает задержку между запланированным временем запуска и фактическим началом запуска DAG

Airflow DAG dashboard

Дашборд Airflow DAG dashboard предназначен для мониторинга показателей производительности отдельного DAG. Он помогает анализировать время выполнения рабочего процесса, задержки планирования и разрешение зависимостей для выбранного рабочего процесса.

Этот дашборд полезен для анализа поведения отдельных рабочих процессов, выявления задержек планирования и обнаружения снижения производительности определенных DAG.

Используйте фильтр DAG ID в верхней части дашборда, чтобы выбрать DAG, метрики которого необходимо отслеживать.

В таблице ниже перечислены доступные графики.

Название графика Описание

Success DAG run duration

Отображает длительность выполнения успешных запусков выбранного DAG

Failed DAG run duration

Показывает длительность выполнения неуспешных запусков выбранного DAG

DAG run duration

Отображает длительность выполнения всех запусков выбранного DAG независимо от их статуса

DAG run dependency check time

Показывает время, необходимое для проверки зависимостей перед началом каждого запуска DAG

DAG run schedule delay

Отображает задержку между запланированным временем запуска и фактическим началом каждого запуска DAG

Celery Monitoring

Дашборд Celery Monitoring предоставляет информацию о состоянии воркеров Celery и корректности выполнения ими задач.

В таблице ниже перечислены доступные графики.

Название графика Описание

Celery Worker Status

Показывает, доступны ли воркеры Celery в данный момент и отвечают ли они на запросы

Number of Tasks Currently Executing at Worker

Отображает количество задач, выполняемых в данный момент каждым воркером Celery

Node Exporter Full

Этот дашборд предоставляет метрики операционной системы и оборудования, собранные с хостов, на которых работают компоненты ADO.

Он помогает отслеживать использование CPU, памяти, хранилища, сети и системных ресурсов, диагностировать проблемы с производительностью.

В верхней части дашборда доступны следующие фильтры:

  • Datasource — настроенный источник данных VictoriaMetrics или Prometheus.

  • Job — задание для сбора метрик.

  • Host — хост, метрики которого необходимо отобразить.

Дашборд содержит следующие разделы.

Секция Описание

Quick CPU / Mem / Disk

Предоставляет общий обзор использования CPU, системной нагрузки, памяти, swap, файловой системы, времени работы системы и доступных аппаратных ресурсов

Basic CPU / Mem / Net / Disk

Отображает основные метрики CPU, памяти, сети и файловой системы для выбранного хоста

Memory Meminfo

Предоставляет подробную информацию об использовании физической памяти, полученную от операционной системы

Memory Vmstat

Отображает статистику виртуальной памяти, включая активность подкачки и управления памятью

System Timesync

Показывает метрики синхронизации времени, которые помогают проверить синхронизацию часов на отслеживаемом хосте

System Processes

Предоставляет статистику выполняющихся процессов и их состояний

System Misc

Отображает различные метрики операционной системы, включая файловые дескрипторы, прерывания, переключения контекста и другую статистику ядра

Hardware Misc

Предоставляет метрики оборудования, собранные операционной системой

Systemd

Отображает метрики сервисов, управляемых systemd

Storage Disk

Предоставляет подробную статистику операций ввода-вывода дисков и метрики производительности устройств хранения данных

Storage Filesystem

Отображает емкость файловых систем, степень их использования и доступное пространство

Network Traffic

Показывает входящий и исходящий сетевой трафик для каждого сетевого интерфейса

Network Sockstat

Отображает статистику использования сокетов

Network Netstat

Предоставляет статистику сетевых протоколов, полученную от операционной системы

Node Exporter

Отображает внутренние метрики, предоставляемые процессом Node Exporter

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней