J05.01. Введение в мониторинг

Редактировал(а) Ирина Сафонова 06.01.2024, 23:21

Назначение мониторинга


Мониторинг позволяет отслеживать и визуализировать метрики настраиваемых приложений. Приложение может быть либо сторонним приложением, например СУБД MySQL, Redis и Elasticsearch, либо вашим собственным.

Процесс мониторинга


Механизм мониторинга в Cloud Managed Kubernetes основан на Prometheus и Prometheus Operator. Чтобы интегрировать пользовательские метрики приложений, последовательно выполните следующие шаги:

  1. Предоставление метрик приложения в формате Prometheus.
  2. Применение ServiceMonitor CRD.
  3. Визуализация пользовательских метрик.

Шаг 1. Предоставление метрик приложения в формате Prometheus


Ваше приложение должно предоставлять метрики в формате Prometheus. Формат экспорта Prometheus является форматом облачного мониторинга. Prometheus использует текстовый формат представления. В зависимости от вашего приложения и варианта использования существует два способа предоставления метрик:

Прямое предоставление

Предоставление метрик Prometheus из приложений — распространенный способ среди облачных приложений. Разработчики должны импортировать клиентские библиотеки Prometheus в свою разработку и предоставлять метрики в определенной конечной точке. Многие приложения, такие как etcd, CoreDNS и Istio, используют прямое предоставление метрик.

Prometheus предлагает клиентские библиотеки для большинства языков программирования. Найдите свой язык на странице клиентских библиотек Prometheus. Прочтите статью Инструментирование приложения Go, чтобы узнать, как написать приложение, совместимое с Prometheus.

Образец веб-приложения — пример, демонстрирующий, как приложение напрямую предоставляет метрики в формате Prometheus.

Непрямое предоставление

Если не хотите или не можете менять свой код, потому что приложение предоставлено третьей стороной, то разверните экспортер. Экспортер является агентом для извлечения данных метрик и их преобразования в формат Prometheus.

Для большинства сторонних приложений, таких как MySQL, Prometheus предоставляет готовые экспортеры. Доступные экспортеры описаны в статье. Рекомендуется включить OpenPitrix и развернуть экспортеры из магазина приложений. Экспортеры для MySQL, Elasticsearch и Redis — встроенные приложения в магазине приложений.

Прочтите статью Мониторинг MySQL, чтобы узнать, как развернуть модуль экспорта MySQL и отслеживать ее показатели. Написание экспортера — оснащение приложения клиентскими библиотеками Prometheus. Разница лишь в том, что экспортерам необходимо подключаться к приложениям и переводить метрики приложений в формат Prometheus.

Шаг 2. Применение ServiceMonitor CRD


На предыдущем шаге вы предоставляете конечные точки метрик в объекте сервиса Cloud Managed Kubernetes. Затем сообщите механизму мониторинга Cloud Managed Kubernetes о ваших новых изменениях.

CRD ServiceMonitor определяется оператором Prometheus. ServiceMonitor содержит информацию о конечных точках метрик. С объектами ServiceMonitor механизм мониторинга Cloud Managed Kubernetes знает, где и как экранировать метрики. Для каждой цели мониторинга вы применяете объект ServiceMonitor, чтобы подключить ваше приложение или средства экспорта к Cloud Managed Kubernetes.

Упакуйте ServiceMonitor с вашими приложениями или экспортерами в диаграмму Helm для повторного использования.

Шаг 3. Визуализация пользовательских метрик

Через две минуты механизм мониторинга Cloud Managed Kubernetes начинает собирать и сохранять метрики. Затем вы можете использовать PromQL для запроса метрик и дашбордов. Порядок написания выражения PromQL представлен в статье Формирование запросов, а информация о функции панели инструментов — в статье Визуализация.

В начало 🡱
К следующему разделу 🡲
К предыдущему разделу 🡰