Изменения документа J05. Пользовательский мониторинг приложений
Редактировал(а) Ирина Сафонова 06.01.2024, 23:17
От версии 44.1
отредактировано Ирина Сафонова
на 02.06.2023, 10:34
на 02.06.2023, 10:34
Изменить комментарий:
К данной версии нет комментариев
К версии 36.1
отредактировано Ирина Сафонова
на 25.05.2023, 23:35
на 25.05.2023, 23:35
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,9 +1,57 @@ 1 - Вы можете ознакомиться со следующими статьями:1 +**Содержание** 2 2 3 -* [[Введение в мониторинг>>doc:.L05\.01\. Введение.WebHome]] 4 -* [[Примеры выполнения мониторинга>>doc:.L05\.01\. Примеры мониторинга.WebHome]] 5 -* [[Визуализация мониторинга>>doc:.L05\. 02\. Визуализация.WebHome]] 3 +{{toc/}} 6 6 7 -**[[В начало>>doc:Cloud Managed Kubernetes.WebHome]] **🡱 8 -**[[К следующему раздел>>doc:.L05\.01\. Введение.WebHome]]у 🡲** 9 -**[[К предыдущему разделу>>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/L04.%20%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0/L04.04.%20%D0%A3%D1%87%D0%B5%D1%82%D0%BD%D0%B0%D1%8F%20%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C%20%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%B0/]] **🡰 5 +== Общая информация == 6 + 7 +---- 8 + 9 +Настраиваемый мониторинг позволяет отслеживать и визуализировать метрики настраиваемых приложений. Приложение может быть либо сторонним приложением, например СУБД [[MySQL>>https://www.mysql.com/]], [[Redis>>https://redis.io/]] и [[Elasticsearch>>https://www.elastic.co/]], либо вашим собственным приложением. 10 + 11 +Механизм мониторинга основан на [[Prometheus>>https://prometheus.io/]] и [[Prometheus Operator>>https://prometheus-operator.dev/]]. Чтобы интегрировать пользовательские метрики приложений, последовательно выполните следующие шаги. 12 + 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]] 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]] 15 +* Визуализируйте метрики в дашборде, чтобы просмотреть тенденцию пользовательских метрик 16 + 17 +== Шаг 1. Предоставление метрик приложения в формате Prometheus == 18 + 19 +---- 20 + 21 +Прежде всего ваше приложение должно предоставлять метрики в формате Prometheus. Формат экспозиции Prometheus де-факто является форматом облачного мониторинга. Prometheus использует текстовый формат представления. В зависимости от вашего приложения и варианта использования существует два способа предоставления метрик: 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]] 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]] 25 + 26 +=== Прямое представление === 27 + 28 +Непосредственное предоставление метрик Prometheus из приложений — распространенный способ среди облачных приложений. Это требует, чтобы разработчики импортировали клиентские библиотеки Prometheus в свою разработку и предоставляли метрики в определенной конечной точке. Многие приложения, такие как [[etcd>>https://etcd.io/]], [[CoreDNS>>https://coredns.io/]] и [[Istio>>https://istio.io/]], используют этот метод. 29 + 30 +Сообщество Prometheus предлагает клиентские библиотеки для большинства языков программирования. Найдите свой язык на[[ странице клиентских библиотек Prometheus>>https://prometheus.io/docs/instrumenting/clientlibs/]]. Для разработчиков Go прочтите статью **[[Инструментирование приложения Go>>https://prometheus.io/docs/guides/go-application/]]**, чтобы узнать, как написать приложение, совместимое с Prometheus. 31 + 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 + 36 +Если вы не хотите менять свой код или не можете этого сделать, потому что приложение предоставлено третьей стороной, то вы можете развернуть экспортер. Экспортер служит агентом для извлечения данных метрик и их преобразования в формат Prometheus. 37 + 38 +Для большинства сторонних приложений, таких как MySQL, Prometheus предоставляет готовые экспортеры. Доступные экспортеры описаны в [[статье>>https://prometheus.io/docs/instrumenting/exporters/]]. В системе рекомендуется включить [[OpenPitrix>>https://github.com/openpitrix/openpitrix]] и развернуть экспортеры из App Store. Экспортеры для MySQL, Elasticsearch и Redis — все это встроенные приложения в App Store. 39 + 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 и отслеживать ее показатели. 41 + 42 +Написание экспортера — это не что иное, как оснащение приложения клиентскими библиотеками Prometheus. Разница лишь в том, что экспортерам необходимо подключаться к приложениям и переводить метрики приложений в формат Prometheus. 43 + 44 +== Шаг 2. Применение ServiceMonitor CRD == 45 + 46 +---- 47 + 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 о ваших новых изменениях. 49 + 50 +CRD ServiceMonitor определяется [[оператором Prometheus>>https://github.com/prometheus-operator/prometheus-operatorhttps://github.com/prometheus-operator/prometheus-operator]]. ServiceMonitor содержит информацию о конечных точках метрик. С объектами ServiceMonitor механизм мониторинга KubeSphere знает, где и как экранировать метрики. Для каждой цели мониторинга вы применяете объект ServiceMonitor, чтобы подключить ваше приложение (или средства экспорта) к Cloud Managed Kubernetes. 51 + 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/]]. 53 + 54 +== Шаг 3. Визуализация пользовательских метрик == 55 + 56 + 57 +