Изменения документа J05. Пользовательский мониторинг приложений
Редактировал(а) Ирина Сафонова 06.01.2024, 23:17
От версии 35.1
отредактировано Ирина Сафонова
на 25.05.2023, 23:34
на 25.05.2023, 23:34
Изменить комментарий:
К данной версии нет комментариев
К версии 42.1
отредактировано Ирина Сафонова
на 29.05.2023, 17:06
на 29.05.2023, 17:06
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,52 +1,5 @@ 1 - **Содержание**1 +Вы можете ознакомиться со следующими статьями: 2 2 3 -{{toc/}} 4 - 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/]]. 3 +* [[Введение в мониторинг>>doc:.L05\.01\. Введение.WebHome]] 4 +* [[Примеры выполнения мониторинга>>doc:.L05\.01\. Примеры мониторинга.WebHome]] 5 +* [[Визуализация мониторинга>>doc:.L05\. 02\. Визуализация.WebHome]]