Поделиться через


Azure Monitor и Prometheus

Prometheus — это популярное решение для мониторинга и оповещения с открытым кодом, которое широко используется в облачной экосистеме. Организации используют Prometheus для мониторинга и оповещения о производительности инфраструктуры и рабочих нагрузок. Он часто используется в средах Kubernetes.

Для сбора метрик можно использовать Prometheus как управляемую Azure службу или в качестве самостоятельной службы. Метрики Prometheus можно собирать из кластеров Служба Azure Kubernetes (AKS), кластеров Kubernetes с поддержкой Azure Arc, виртуальных машин и масштабируемых наборов виртуальных машин.

Метрики Prometheus хранятся в рабочей области Azure Monitor. Вы можете анализировать и визуализировать данные в рабочей области с помощью обозревателя метрик с помощью языка запросов Prometheus (PromQL) и Управляемой Grafana Azure.

Внимание

Использование Azure Monitor для управления и размещения Prometheus предназначено для хранения сведений о работоспособности служб клиентских компьютеров и приложений. Он не предназначен для хранения персональных данных. Настоятельно рекомендуется не отправлять конфиденциальную информацию (например, имена пользователей и номера кредитных карт) в поля, размещенные в Azure Monitor Prometheus, такие как имена метрик, имена меток или значения меток.

Управляемая служба Azure Monitor для Prometheus

Управляемая служба Azure Monitor для Prometheus — это компонент метрик Azure Monitor, который предоставляет полностью управляемую и масштабируемую среду для запуска Prometheus. Это упрощает развертывание, управление и масштабирование Prometheus в AKS, чтобы сосредоточиться на мониторинге приложений и инфраструктуры.

Как полностью управляемая служба Azure Monitor для Prometheus автоматически развертывает Prometheus в AKS или Kubernetes с поддержкой Azure Arc. Служба обеспечивает высокий уровень доступности, гарантии соглашения об уровне обслуживания и автоматическое обновление программного обеспечения. Он предоставляет хранилище метрик с высокой степенью масштабирования, которое сохраняет данные до 18 месяцев.

Управляемая служба Azure Monitor для Prometheus предоставляет предварительно настроенные оповещения, правила и панели мониторинга. С помощью рекомендуемых панелей мониторинга из сообщества Prometheus и собственной интеграции Grafana вы можете немедленно выполнить комплексный мониторинг. Управляемая служба Azure Monitor для Prometheus интегрируется с Azure Managed Grafana, а также работает с самоуправляемой Grafana.

Цены основаны на приеме и запросе без дополнительных затрат на хранение. Дополнительные сведения см. на вкладке "Метрики" в ценах Azure Monitor.

Включение управляемой службы Azure Monitor для Prometheus

Управляемая служба Azure Monitor для Prometheus собирает данные из AKS и Kubernetes с поддержкой Azure Arc.

Чтобы включить управляемую службу Azure Monitor для Prometheus, необходимо создать рабочую область Azure Monitor для хранения метрик. Затем можно подключить службы, которые собирают метрики Prometheus:

Чтобы включить управляемый Prometheus для облаков с воздушным режимом Microsoft Azure, обратитесь в службу поддержки.

Размещенный в Azure самоуправляемый Prometheus

Помимо управляемой службы для Prometheus, вы можете установить собственный экземпляр Prometheus и использовать удаленную запись для хранения метрик в рабочей области Azure Monitor.

С помощью удаленной записи можно собирать данные из самоуправляемых серверов Prometheus, работающих в следующих средах:

  • Виртуальные машины Azure
  • Масштабируемые наборы виртуальных машин Azure
  • Серверы с поддержкой Azure Arc
  • Автономные кластеры Kubernetes с поддержкой Azure или Azure Arc

Самоуправляемые службы Kubernetes

Отправка метрик из самоуправляемого Prometheus в кластерах Kubernetes. Дополнительные сведения о удаленной записи в рабочие области Azure Monitor для служб Kubernetes см. в следующих статьях:

Виртуальные машины и масштабируемые наборы виртуальных машин

Отправка данных из самоуправляемого Prometheus на виртуальных машинах и масштабируемых наборах виртуальных машин. Виртуальные машины могут находиться в управляемой Azure среде или локальной среде. Дополнительные сведения см. в статье "Отправка метрик Prometheus" из виртуальных машин, масштабируемых наборов или кластеров Kubernetes в рабочую область Azure Monitor.

Хранилище данных

Метрики Prometheus хранятся в рабочей области Azure Monitor. Данные хранятся в базе данных временных рядов, которую можно запрашивать с помощью PromQL. Данные из нескольких источников данных Prometheus можно хранить в одной рабочей области Azure Monitor. Дополнительные сведения см. в статье об архитектуре рабочей области Azure Monitor.

Рабочие области Azure Monitor хранят данные в течение 18 месяцев.

Запрос и анализ метрик Prometheus

Данные Prometheus извлекаются с помощью PromQL. Вы можете написать собственные запросы, использовать запросы из сообщества с открытым кодом и использовать панели мониторинга Grafana, включающие запросы PromQL. Дополнительные сведения см. в разделе "Запрос Prometheus" на веб-сайте Prometheus .

Следующие службы Azure поддерживают запросы метрик Prometheus из рабочей области Azure Monitor:

Обозреватель метрик Azure Monitor с помощью PromQL

Используйте обозреватель метрик с PromQL (предварительная версия) для анализа и визуализации платформы и метрик Prometheus. Обозреватель метрик с PromQL доступен в области метрик в рабочей области Azure Monitor, где хранятся метрики Prometheus. Дополнительные сведения см. в обозревателе метрик Azure Monitor с помощью PromQL.

Снимок экрана: запрос PromQL в обозревателе метрик Azure Monitor.

Книги Azure

Создание диаграмм и панелей мониторинга на основе управляемой службы Azure Monitor для Prometheus с помощью книг Azure и запросов PromQL. Дополнительные сведения см. в разделе "Метрики запроса Prometheus" с помощью книг Azure.

Интеграция Grafana

Визуализировать метрики Prometheus с помощью Управляемой Grafana Azure. Подключите рабочую область Azure Monitor к рабочей области Grafana, чтобы ее можно было использовать в качестве источника данных на панели мониторинга Grafana. Затем у вас есть доступ к нескольким предварительно созданным панелям мониторинга, которые используют метрики Prometheus. Вы также можете создавать любое количество пользовательских панелей мониторинга. Дополнительные сведения см. в статье "Связывание рабочей области Grafana".

API запросов Prometheus

Используйте PromQL через REST API для запроса метрик Prometheus, хранящихся в рабочей области Azure Monitor. Дополнительные сведения см. в разделе "Метрики запроса Prometheus" с помощью API и PromQL.

Правила и оповещения

Prometheus поддерживает правила записи и правила генерации оповещений с помощью запросов PromQL. Управляемая служба Azure Monitor для Prometheus автоматически развертывает правила и оповещения. Метрики, записываемые правила записи, хранятся в рабочей области Azure Monitor. Панели мониторинга или другие правила могут запрашивать метрики.

Правила генерации оповещений и правила записи можно создавать и управлять ими с помощью управляемой службы Azure Monitor для групп правил Prometheus. Для кластера AKS набор предопределенных правил генерации оповещений Prometheus и правил записи помогает быстро приступить к работе.

Оповещения о том, что правила генерации оповещений могут активировать действия или уведомления, как определено в группах действий, настроенных для правила генерации оповещений. Вы также можете просматривать оповещения Prometheus в портал Azure и другие типы оповещений.

Лимиты и квоты служб

У управляемой службы Azure Monitor для Prometheus есть ограничения и квоты по умолчанию для приема. Когда вы достигнете ограничений приема, регулирование может произойти. Вы можете запросить увеличение этих ограничений. Дополнительные сведения см. в статье Ограничения службы Azure Monitor.

Чтобы отслеживать и оповещать о метриках приема, см. статью "Мониторинг приема метрик рабочей области Azure Monitor".

Ограничения

Следующие ограничения применяются к управляемой службе Azure Monitor для Prometheus:

  • Минимальная частота для очистки и хранения метрик составляет 1 секунду.
  • Во время обновлений узлов могут возникнуть пробелы, которые длились 1–2 минуты в некоторых коллекциях метрик из сборщика на уровне кластера. Этот разрыв связан с обычным действием из Служба Azure Kubernetes обновления узлов в кластере. Это поведение не влияет на рекомендуемые правила генерации оповещений.
  • Управляемый prometheus для узлов Windows не включен автоматически. Чтобы включить мониторинг узлов и модулей pod Windows в кластерах, см. статью "Включить коллекцию метрик Windows (предварительная версия)".

Учет регистра

Управляемая служба Azure Monitor для Prometheus — это система без учета регистра. Он обрабатывает строки (например, имена метрик, имена меток или значения меток) как те же временные ряды, если они отличаются от других временных рядов только в случае строки.

Примечание.

Это поведение отличается от собственного prometheus с открытым исходным кодом, который является системой с учетом регистра. Самоуправляемые экземпляры Prometheus, работающие в виртуальных машинах Azure, масштабируемых наборах виртуальных машин или Служба Azure Kubernetes кластерах, являются системами с учетом регистра.

В управляемой службе Prometheus следующие временные ряды считаются одинаковыми:

diskSize(cluster="eastus", node="node1", filesystem="usr_mnt")
diskSize(cluster="eastus", node="node1", filesystem="usr_MNT")

Приведенные выше примеры представляют собой один временный ряд в базе данных временных рядов. Действуют следующие ограничения:

  • Любые образцы, которые приемываются против них, хранятся так же, как если бы они сломали или приема по одной временной серии.
  • Если предыдущие примеры обрабатываются с той же меткой времени, один из них случайно удаляется.
  • Регистр, хранящийся в базе данных временных рядов и возвращаемый запросом, непредсказуем. Один и тот же временный ряд может возвращать разные регистры в разное время.
  • Любое имя метрик или сопоставление меток и значения, присутствующих в запросе, извлекается из базы данных временных рядов с помощью сравнения без учета регистра. Если в запросе используется сопоставление с учетом регистра, он автоматически обрабатывается как нечувствительный в сравнении строк.

Рекомендуется использовать один согласованный случай для создания или слома временных рядов.

Prometheus с открытым исходным кодом обрабатывает предыдущие примеры как две разные временные ряды. Все образцы, сломанные или приеманные против них, хранятся отдельно.

Ссылки Prometheus

Ниже приведены ссылки на документацию Prometheus: