Версия 39.1 от Ирина Сафонова на 26.05.2023, 00:38

Скрыть последних авторов
Ирина Сафонова 2.1 1 **Содержание**
2
Ирина Сафонова 11.1 3 {{toc/}}
Ирина Сафонова 2.1 4
5 == Общая информация ==
6
7 ----
8
Ирина Сафонова 31.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]]
Ирина Сафонова 37.1 15 * [[Визуализируйте метрики в дашборде, чтобы просмотреть тенденцию пользовательских метрик>>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/#H4284304333.41243843744343043B43843743044643844F43F43E43B44C43743E43243044243543B44C44143A43844543C43544244043843A]]
Ирина Сафонова 9.1 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
Ирина Сафонова 31.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 и отслеживать ее показатели.
Ирина Сафонова 25.1 41
Ирина Сафонова 27.1 42 Написание экспортера — это не что иное, как оснащение приложения клиентскими библиотеками Prometheus. Разница лишь в том, что экспортерам необходимо подключаться к приложениям и переводить метрики приложений в формат Prometheus.
43
Ирина Сафонова 29.1 44 == Шаг 2. Применение ServiceMonitor CRD ==
45
Ирина Сафонова 31.1 46 ----
47
Ирина Сафонова 35.1 48 На [[предыдущем шаге>>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]] вы предоставляете конечные точки метрик в объекте сервиса Cloud Managed Kubernetes. Затем сообщите механизму мониторинга Cloud Managed Kubernetes о ваших новых изменениях.
Ирина Сафонова 31.1 49
Ирина Сафонова 37.1 50 CRD ServiceMonitor определяется [[оператором Prometheus>>https://github.com/prometheus-operator/prometheus-operatorhttps://github.com/prometheus-operator/prometheus-operator]]. ServiceMonitor содержит информацию о конечных точках метрик. С объектами ServiceMonitor механизм мониторинга Cloud Managed Kubernetes знает, где и как экранировать метрики. Для каждой цели мониторинга вы применяете объект ServiceMonitor, чтобы подключить ваше приложение (или средства экспорта) к Cloud Managed Kubernetes.
Ирина Сафонова 31.1 51
Ирина Сафонова 35.1 52 Упакуйте ServiceMonitor с вашими приложениями (или экспортерами) в [[диаграмму Helm>>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/Helm%20Chart/]] для повторного использования. Более детально описано в [[статье>>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/]].
Ирина Сафонова 36.1 53
54 == Шаг 3. Визуализация пользовательских метрик ==
55
Ирина Сафонова 38.1 56 Примерно через две минуты механизм мониторинга Cloud Managed Kubernetes начинает собирать и сохранять метрики. Затем вы можете использовать PromQL для запроса метрик и дашбордов. Порядок написания выражения PromQL представлен в статье [[**Формирование запросов**>>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.%2002.%20%D0%92%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F/L05.02.03.%20%D0%A4%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%BE%D0%B2/]], а информация о функции панели инструментов — в статье [[**Визуализация**>>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.%2002.%20%D0%92%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F/]].