L05. Пользовательский мониторинг приложений
Содержание
Общая информация
Настраиваемый мониторинг позволяет отслеживать и визуализировать метрики настраиваемых приложений. Приложение может быть либо сторонним приложением, например MySQL, Redis и Elasticsearch, либо вашим собственным приложением.
Механизм мониторинга основан на Prometheus и Prometheus Operator. Чтобы интегрировать пользовательские метрики приложений, последовательно выполните следующие шаги.
- Предоставьте метрики вашего приложения в формате Prometheus
- Примените ServiceMonitor CRD, чтобы связать ваше приложение для мониторинга
- Визуализируйте метрики в дашборде, чтобы просмотреть тенденцию пользовательских метрик
Шаг 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.