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 из кластера Kubernetes см. в разделе "Включить Prometheus" и Grafana.
- Сведения о настройке удаленной записи для сбора данных с локально управляемого сервера Prometheus см. в статье "Отправка метрик Prometheus с виртуальных машин, масштабируемых наборов или кластеров Kubernetes в рабочую область Azure Monitor".
Чтобы включить управляемый 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 Monitor с помощью проверки подлинности управляемого удостоверения
- Отправка данных Prometheus в Azure Monitor с помощью проверки подлинности Microsoft Entra
- Отправка данных Prometheus в Azure Monitor с помощью проверки подлинности microsoft Entra pod(предварительная версия)
- Отправка данных Prometheus в Azure Monitor с помощью проверки подлинности Идентификация рабочей нагрузки Microsoft Entra
Виртуальные машины и масштабируемые наборы виртуальных машин
Отправка данных из самоуправляемого 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
- Книги Azure Monitor
- Управляемая Grafana Azure
- API запросов Prometheus
Обозреватель метрик Azure Monitor с помощью PromQL
Используйте обозреватель метрик с PromQL (предварительная версия) для анализа и визуализации платформы и метрик Prometheus. Обозреватель метрик с PromQL доступен в области метрик в рабочей области Azure Monitor, где хранятся метрики Prometheus. Дополнительные сведения см. в обозревателе метрик Azure Monitor с помощью PromQL.
Книги 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:
- Запрос Prometheus
- Поддержка Grafana для Prometheus
- Определение правил записи
- Правила генерации оповещений
- Написание экспортеров
Связанный контент
- Включение мониторинга для кластеров Kubernetes
- Отправка метрик Prometheus из виртуальных машин, масштабируемых наборов или кластеров Kubernetes в рабочую область Azure Monitor
- Включение коллекции метрик Windows (предварительная версия)
- Настройка управляемой службы Azure Monitor для групп правил Prometheus
- Настройка очистки метрик Prometheus в управляемой службе Azure Monitor для Prometheus
- Устранение неполадок с коллекцией метрик Prometheus в Azure Monitor