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

Скрыть последних авторов
Ирина Сафонова 2.1 1 **Содержание**
2
Ирина Сафонова 11.1 3 {{toc/}}
Ирина Сафонова 2.1 4
5 == Общая информация ==
6
7 ----
8
Ирина Сафонова 5.1 9 Настраиваемый мониторинг позволяет отслеживать и визуализировать метрики настраиваемых приложений. Приложение может быть либо сторонним приложением, например [[MySQL>>https://www.mysql.com/]], [[Redis>>https://redis.io/]] и [[Elasticsearch>>https://www.elastic.co/]], либо вашим собственным приложением.
Ирина Сафонова 6.1 10
Ирина Сафонова 8.1 11 Механизм мониторинга основан на [[Prometheus>>https://prometheus.io/]] и [[Prometheus Operator>>https://prometheus-operator.dev/]]. Чтобы интегрировать пользовательские метрики приложений, последовательно выполните следующие шаги.
12
Ирина Сафонова 28.1 13 * [[Предоставьте метрики вашего приложения в формате Prometheus>>https://wiki.dfcloud.ru/bin/view/Cloud%20Managed%20Kubernetes/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/01.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/L.%20%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%BC/L05.%20%D0%9F%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B9%20%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9/#H4284304331.41F44043543443E44144243043243B43543D43843543C43544244043843AA043F44043843B43E43643543D43844F43244443E44043C430442435Prometheus]]
Ирина Сафонова 30.1 14 * [[Примените ServiceMonitor CRD, чтобы связать ваше приложение для мониторинга>>https://wiki.dfcloud.ru/bin/view/Cloud%20Managed%20Kubernetes/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/01.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/L.%20%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%BC/L05.%20%D0%9F%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B9%20%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9/#H4284304332.41F44043843C43543D43543D438435ServiceMonitorCRD]]
Ирина Сафонова 9.1 15 * Визуализируйте метрики в дашборде, чтобы просмотреть тенденцию пользовательских метрик
16
17 == Шаг 1. Предоставление метрик приложения в формате Prometheus ==
18
19 ----
20
Ирина Сафонова 13.1 21 Прежде всего ваше приложение должно предоставлять метрики в формате Prometheus. Формат экспозиции Prometheus де-факто является форматом облачного мониторинга. Prometheus использует текстовый формат представления. В зависимости от вашего приложения и варианта использования существует два способа предоставления метрик:
Ирина Сафонова 14.1 22
23 * [[прямое представление>>https://wiki.dfcloud.ru/bin/view/Cloud%20Managed%20Kubernetes/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/01.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/L.%20%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%BC/L05.%20%D0%9F%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B9%20%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9/#H41F44044F43C43E43543F44043543444144243043243B43543D438435]]
Ирина Сафонова 21.1 24 * [[непрямое представление>>https://wiki.dfcloud.ru/bin/view/Cloud%20Managed%20Kubernetes/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/01.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/L.%20%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%BC/L05.%20%D0%9F%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B9%20%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9/#H41D43543F44044F43C43E43543F44043543444144243043243B43543D438435]]
Ирина Сафонова 13.1 25
26 === Прямое представление ===
Ирина Сафонова 15.1 27
Ирина Сафонова 18.1 28 Непосредственное предоставление метрик Prometheus из приложений — распространенный способ среди облачных приложений. Это требует, чтобы разработчики импортировали клиентские библиотеки Prometheus в свою разработку и предоставляли метрики в определенной конечной точке. Многие приложения, такие как [[etcd>>https://etcd.io/]], [[CoreDNS>>https://coredns.io/]] и [[Istio>>https://istio.io/]], используют этот метод.
Ирина Сафонова 15.1 29
Ирина Сафонова 19.1 30 Сообщество Prometheus предлагает клиентские библиотеки для большинства языков программирования. Найдите свой язык на[[ странице клиентских библиотек Prometheus>>https://prometheus.io/docs/instrumenting/clientlibs/]]. Для разработчиков Go прочтите статью **[[Инструментирование приложения Go>>https://prometheus.io/docs/guides/go-application/]]**, чтобы узнать, как написать приложение, совместимое с Prometheus.
Ирина Сафонова 15.1 31
Ирина Сафонова 20.1 32 [[Образец веб-приложения>>https://wiki.dfcloud.ru/bin/view/Cloud%20Managed%20Kubernetes/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/01.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/L.%20%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%BC/L05.%20%D0%9F%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B9%20%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9/L05.01.%20%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B%20%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%D0%B0/L05.01.02.%20%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%20Sample%20Web%20Application/]] — это пример, демонстрирующий, как приложение напрямую предоставляет метрики в формате Prometheus.
33
34 === Непрямое представление ===
35
Ирина Сафонова 22.1 36 Если вы не хотите менять свой код или не можете этого сделать, потому что приложение предоставлено третьей стороной, то вы можете развернуть экспортер. Экспортер служит агентом для извлечения данных метрик и их преобразования в формат Prometheus.
Ирина Сафонова 20.1 37
Ирина Сафонова 26.1 38 Для большинства сторонних приложений, таких как MySQL, Prometheus предоставляет готовые экспортеры. Доступные экспортеры описаны в [[статье>>https://prometheus.io/docs/instrumenting/exporters/]]. В системе рекомендуется включить [[OpenPitrix>>https://github.com/openpitrix/openpitrix]] и развернуть экспортеры из App Store. Экспортеры для MySQL, Elasticsearch и Redis — все это встроенные приложения в App Store.
Ирина Сафонова 25.1 39
Ирина Сафонова 27.1 40 Прочтите статью **[[Мониторинг MySQL>>https://wiki.dfcloud.ru/bin/view/Cloud%20Managed%20Kubernetes/2.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/01.%20%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F/L.%20%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%BC/L05.%20%D0%9F%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B9%20%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9/L05.01.%20%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B%20%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%D0%B0/L05.01.01.%20%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3%20MySQL/]],** чтобы узнать, как развернуть модуль экспорта MySQL и отслеживать показатели MySQL.
Ирина Сафонова 25.1 41
Ирина Сафонова 27.1 42 Написание экспортера — это не что иное, как оснащение приложения клиентскими библиотеками Prometheus. Разница лишь в том, что экспортерам необходимо подключаться к приложениям и переводить метрики приложений в формат Prometheus.
43
Ирина Сафонова 29.1 44 == Шаг 2. Применение ServiceMonitor CRD ==
45
Ирина Сафонова 25.1 46