Управление метриками
Система мониторинга платформы основана на метриках, собираемых Prometheus / VictoriaMetrics. В этом документе описано, как управлять этими метриками.
Содержание
Просмотр метрик, предоставляемых компонентами платформыПросмотр всех метрик, хранящихся в Prometheus / VictoriaMetricsПредварительные условияПроцедурыПросмотр всех встроенных метрик, определённых платформойПредварительные условияПроцедурыИнтеграция внешних метрикПредварительные условияПроцедурыПросмотр метрик, предоставляемых компонентами платформы
Метод мониторинга компонентов кластера в платформе заключается в извлечении метрик, предоставляемых через ServiceMonitor. Метрики в платформе доступны публично через эндпоинт /metrics. Вы можете просмотреть метрики конкретного компонента платформы, используя следующий пример команды:
Пример вывода:
Просмотр всех метрик, хранящихся в Prometheus / VictoriaMetrics
Вы можете просмотреть список доступных метрик в кластере, чтобы на их основе написать необходимый PromQL-запрос.
Предварительные условия
-
У вас есть пользовательский токен
-
У вас есть адрес платформы
Процедуры
Выполните следующую команду для получения списка метрик с помощью curl:
Пример вывода:
Просмотр всех встроенных метрик, определённых платформой
Для упрощения использования платформой встроено большое количество часто используемых метрик. Вы можете напрямую использовать эти метрики при настройке оповещений или панелей мониторинга без необходимости их самостоятельного определения. Ниже описано, как просмотреть эти метрики.
Предварительные условия
-
У вас есть пользовательский токен
-
У вас есть адрес платформы
Процедуры
Выполните следующую команду для получения списка метрик с помощью curl:
Пример вывода:
- Поддерживает ли эта метрика настройку оповещений
- Поддерживает ли эта метрика использование в панелях мониторинга
- Поддерживает ли эта метрика настройку оповещений для нескольких ресурсов
- Определённый для метрики PromQL-запрос
- Переменные, которые можно использовать в PromQL-запросе метрики
Интеграция внешних метрик
Помимо встроенных метрик платформы, вы также можете интегрировать метрики, предоставляемые вашими приложениями или сторонними приложениями через ServiceMonitor или PodMonitor. В этом разделе в качестве примера используется Elasticsearch Exporter, установленный в виде pod в том же кластере.
Предварительные условия
Вы установили своё приложение и открыли метрики через указанные интерфейсы. В этом документе предполагается, что ваше приложение установлено в namespace cpaas-system и предоставляет эндпоинт http://<elasticsearch-exporter-ip>:9200/_prometheus/metrics.
Процедуры
-
Создайте Service/Endpoint для Exporter, чтобы открыть метрики
-
Создайте объект
ServiceMonitor, описывающий метрики, предоставляемые вашим приложением:- К какому Prometheus должен быть синхронизирован ServiceMonitor; оператор будет слушать соответствующий ресурс ServiceMonitor на основе конфигурации serviceMonitorSelector в Prometheus CR. Если метки ServiceMonitor не совпадают с конфигурацией serviceMonitorSelector в Prometheus CR, этот ServiceMonitor не будет отслеживаться оператором.
- В каких namespace оператор будет слушать ServiceMonitor на основе конфигурации serviceMonitorNamespaceSelector в Prometheus CR; если ServiceMonitor не находится в serviceMonitorNamespaceSelector Prometheus CR, он не будет отслеживаться оператором.
- Метрики, собираемые Prometheus, будут иметь метку job, значение которой соответствует значению метки сервиса, указанной в jobLabel.
- ServiceMonitor сопоставляется с соответствующим Service на основе конфигурации namespaceSelector.
- ServiceMonitor сопоставляется с Service на основе конфигурации selector.
- ServiceMonitor сопоставляется с портом Service на основе конфигурации port.
- Путь доступа к Exporter, по умолчанию /metrics.
- Интервал, с которым Prometheus опрашивает метрики Exporter.
- Если для доступа к пути Exporter требуется аутентификация, необходимо добавить данные аутентификации; поддерживаются также bearer token, tls-аутентификация и другие методы.
-
Проверьте, отслеживается ли ServiceMonitor Prometheus
Зайдите в UI компонента мониторинга и проверьте, существует ли задача
cpaas-elasticsearch-exporter.- Адрес UI Prometheus:
https://<Your platform access address>/clusters/<Cluster name>/prometheus-0/targets - Адрес UI VictoriaMetrics:
https://<Your platform access address>/clusters/<Cluster name>/vmselect/vmui/?#/metrics
- Адрес UI Prometheus: