L05. Пользовательский мониторинг приложений

Версия 30.1 от Ирина Сафонова на 25.05.2023, 16:53

Содержание

Общая информация


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

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

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


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

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

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

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

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

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

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

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

Прочтите статью Мониторинг MySQL, чтобы узнать, как развернуть модуль экспорта MySQL и отслеживать показатели MySQL.

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

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