Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Prometheus — это популярное решение для мониторинга и оповещения с открытым кодом, которое широко используется в облачной экосистеме. Организации используют Prometheus для мониторинга и оповещения о производительности инфраструктуры и рабочих нагрузок. Он часто используется в средах Kubernetes.
Для сбора метрик можно использовать Prometheus как управляемую Azure службу или в качестве самостоятельной службы. Метрики Prometheus можно собирать из кластеров Azure Kubernetes Service (AKS), кластеров Kubernetes с поддержкой Azure Arc, виртуальных машин и масштабируемых наборов виртуальных машин.
Метрики Prometheus хранятся в рабочей области Azure Monitor. Вы можете анализировать и визуализировать данные в рабочей области с помощью обозревателя метрик с помощью языка запросов Prometheus (PromQL) и Управляемой Grafana Azure.
Important
Использование Azure Monitor для управления и размещения Prometheus предназначено для хранения сведений о работоспособности служб клиентских компьютеров и приложений. Он не предназначен для хранения персональных данных. Настоятельно рекомендуется не отправлять конфиденциальную информацию (например, имена пользователей и номера кредитных карт) в поля, размещенные в Azure Monitor Prometheus, такие как имена метрик, имена меток или значения меток.
Управляемая служба Azure Monitor для Prometheus
Управляемая служба Azure Monitor для Prometheus — это компонент метрик Azure Monitor, который предоставляет полностью управляемую и масштабируемую среду для запуска Prometheus. Это упрощает развертывание, управление и масштабирование Prometheus в AKS и Kubernetes с поддержкой Azure Arc, чтобы сосредоточиться на мониторинге приложений и инфраструктуры.
Azure Monitor как полностью управляемая служба для Prometheus автоматически развертывает Prometheus в AKS или Kubernetes с поддержкой Azure Arc. Служба обеспечивает высокий уровень доступности, гарантии соглашения об уровне обслуживания и автоматическое обновление программного обеспечения. Он предоставляет хранилище метрик с высокой степенью масштабирования, которое сохраняет данные до 18 месяцев.
Управляемая служба Azure Monitor для Prometheus предоставляет предварительно настроенные оповещения, правила и панели мониторинга. С помощью рекомендуемых панелей мониторинга из сообщества Prometheus и собственной интеграции Grafana вы можете немедленно выполнить комплексный мониторинг. Управляемая служба Azure Monitor для Prometheus интегрируется с Azure Managed Grafana, а также работает с самостоятельно управляемой Grafana.
Ценообразование основано на вводе данных и запросах, без дополнительных затрат на хранение. Дополнительные сведения см. на вкладке "Метрики" в ценах Azure Monitor.
Note
Управляемый Prometheus от Azure поддерживает горизонтальное автоматическое масштабирование pods для ReplicaSet в кластерах Kubernetes AKS. Дополнительные сведения см. в статье "Автомасштабирование ".
Включение управляемой службы 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, обратитесь в службу поддержки.
Самостоятельно управляемый Prometheus, размещенный в Azure
Кроме управляемой службы 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 Workload ID
Виртуальные машины и масштабируемые наборы виртуальных машин
Отправка данных из самостоятельно управляемого Prometheus на виртуальных машинах и наборах виртуальных машин с масштабированием. Виртуальные машины могут находиться в управляемой Azure среде или локальной среде. Дополнительные сведения см. в статье "Отправка метрик Prometheus" из виртуальных машин, масштабируемых наборов или кластеров Kubernetes в рабочую область Azure Monitor.
Data storage
Метрики 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 workbooks
Создавайте диаграммы и панели мониторинга на основе управляемой службы Azure Monitor для Prometheus, используя рабочие книги Azure и запросы PromQL. Для получения дополнительной информации см. Запрос метрик Prometheus с помощью рабочих книг Azure.
Grafana integration
Визуализация метрик 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".
Limitations
Следующие ограничения применяются к управляемой службе Azure Monitor для Prometheus:
- Минимальная частота для очистки и хранения метрик составляет 1 секунду.
- Во время обновления узлов могут возникать пробелы продолжительностью от 1 до 2 минут в некоторых сборках метрик от сборщика на уровне кластера. Этот временной разрыв связан с обычно выполняемым действием службы Azure Kubernetes по обновлению узлов в вашем кластере. Это поведение не влияет на рекомендуемые правила генерации оповещений.
- Управляемый Prometheus для узлов Windows не включается автоматически. Для включения мониторинга узлов и pod'ов Windows в ваших кластерах, см. "Включение коллекции метрик Windows (предварительный просмотр)".
Case sensitivity
Управляемая служба Azure Monitor для Prometheus является системой, в которой не различаются регистры. Он обрабатывает строки (например, имена метрик, имена меток или значения меток) как те же временные ряды, если они отличаются от других временных рядов только в случае строки.
Note
Это поведение отличается от исходного Prometheus с открытым исходным кодом, который является регистрозависимой системой. Самоуправляемые экземпляры Prometheus, работающие в виртуальных машинах Azure, в наборах настраиваемого масштаба виртуальных машин или в кластерах службы Azure Kubernetes, являются системами, учитывающими регистр.
В управляемой службе Prometheus следующие временные ряды считаются одинаковыми:
diskSize(cluster="eastus", node="node1", filesystem="usr_mnt")
diskSize(cluster="eastus", node="node1", filesystem="usr_MNT")
Приведенные выше примеры представляют собой один временный ряд в базе данных временных рядов. Действуют следующие ограничения:
- Любые образцы, которые загружаются против них, хранятся так же, как если бы они были собраны или загружены для единой временной серии.
- Если предыдущие примеры принимаются с той же временной меткой, один из них может быть случайно удалён.
- Регистр текста, хранящийся в базе данных временных рядов и возвращаемый запросом, не является предсказуемым. Один и тот же временный ряд может возвращать разные регистры в разное время.
- Любое имя метрики или совпадение имени метки/значения, присутствующие в запросе, извлекаются из базы данных временных рядов путем сравнения без учета регистра. Если в запросе используется механизм сопоставления с учетом регистра, он автоматически обрабатывается как нечувствительный при сравнении строк.
Рекомендуется использовать один согласованный регистр для построения или сбора временных рядов.
Prometheus с открытым исходным кодом обрабатывает предыдущие примеры как две разные временные ряды. Все образцы, извлеченные или загруженные на основании них, хранятся отдельно.
Предотвращение дублирования временных рядов
Prometheus не поддерживает повторяющиеся временные ряды. Azure Managed Prometheus демонстрирует пользователям их как 422 ошибки, а не молча удаляет повторяющиеся временные ряды. Пользователи, сталкивающиеся с этими ошибками, должны принять меры, чтобы избежать дублирования временных рядов.
Например, если пользователь использует одинаковое значение метки "cluster" для двух различных кластеров, хранящихся в разных группах ресурсов, но поступающих в одну и ту же AMW, им следует переименовать одну из этих меток, чтобы обеспечить уникальность. Эта ошибка возникает только в пограничных случаях, когда метка времени и значения идентичны в обоих кластерах в этом сценарии.
Это можно исправить, добавив уникальную метку идентификатора, повторно встраивая существующую метку, которая должна быть уникальной, или с помощью relabel_configs для внедрения или изменения меток во время сбора данных.
Имена метрик, имена меток и значения меток
Сбор метрик в настоящее время имеет ограничения, указанные в следующей таблице.
Property | Limit |
---|---|
Длина имени метки | Меньше или равно 511 символам. Если это ограничение превышается для любого временного ряда в задании, всё задание сканирования терпит неудачу, и метрики удаляются из этого задания перед приёмом. Вы можете увидеть up=0 для этого задания, а также целевой Ux показывает причину up=0. |
Длина значения метки | Меньше или равно 1023 символам. Если это ограничение превышается для любого временного ряда в задании, весь процесс сбора данных завершается ошибкой, и метрики удаляются из этого задания до обработки. Вы можете увидеть up=0 для этого задания, а также целевой Ux показывает причину up=0. |
Количество меток на временные ряды | Меньше или равно 63. Если это ограничение превышается для любого временного ряда в задании, всё задание сканирования терпит неудачу, и метрики удаляются из этого задания перед приёмом. Вы можете увидеть up=0 для этого задания, а также целевой Ux показывает причину up=0. |
Длина имени метрики | Меньше или равно 511 символам. Если это ограничение превышается для всех временных рядов в задании, удаляются только определенные ряды. MetricextensionConsoleDebugLog содержит трассировки для удаленной метрики. |
Имена ярлыков с различными регистрами | Две метки в одном и том же образце метрик, при разных регистрах обрабатываются как наличие повторяющихся меток и удаляются при приеме. Например, временные ряды my_metric{ExampleLabel="label_value_0", examplelabel="label_value_1} удаляются из-за повторяющихся меток, так как ExampleLabel и examplelabel рассматриваются как одно и то же имя метки. |
Prometheus references
Ниже приведены ссылки на документацию Prometheus:
- Querying Prometheus
- Поддержка Grafana для Prometheus
- Определение правил записи
- Alerting rules
- Writing exporters
Related content
- Включение мониторинга для кластеров Kubernetes
- Отправка метрик Prometheus из виртуальных машин, масштабируемых наборов или кластеров Kubernetes в рабочую область Azure Monitor
- Включение коллекции метрик Windows (предварительная версия)
- Настройка управляемой службы Azure Monitor для групп правил Prometheus
- Настройка сбора метрик Prometheus в управляемой службе Azure Monitor для Prometheus
- Устранение неполадок с коллекцией метрик Prometheus в Azure Monitor