Последнее обновление: мая 12, 2026

Настройка источника данных Azure Monitor

В этом документе объясняется, как настроить источник данных Azure Monitor и какие параметры конфигурации доступны. Общую информацию об источниках данных см. в разделах Источники данных Grafana и Управление источниками данных.

Прежде чем начать

Перед настройкой источника данных Azure Monitor убедитесь, что у вас есть следующее:

  • Разрешения Grafana: для настройки источников данных у вас должна быть роль Organization administrator. Администраторы организации также могут настроить источник данных через YAML с помощью системы провижининга Grafana или с помощью Terraform.

  • Предварительные требования Azure: в зависимости от выбранного метода аутентификации вам может потребоваться:

    • Регистрация приложения в Microsoft Entra ID (ранее Azure AD) с субъектом-службой (для аутентификации App Registration)
    • Управляемое удостоверение, включённое на вашей виртуальной машине Azure или в App Service (для аутентификации Managed Identity)
    • Удостоверение рабочей нагрузки, настроенное в вашем кластере Kubernetes (для аутентификации Workload Identity)
    • Аутентификация Microsoft Entra ID, настроенная для входа в Grafana (для аутентификации Current User)

Note

Пользователям Grafana Cloud: методы аутентификации Managed Identity и Workload Identity недоступны в Grafana Cloud, поскольку они требуют, чтобы Grafana работала на вашей инфраструктуре Azure. Вместо них используйте аутентификацию App Registration.

  • Разрешения Azure RBAC: удостоверение, используемое для аутентификации, должно иметь роль Reader на подписке Azure, содержащей ресурсы, которые вы хотите отслеживать. Для запросов Log Analytics удостоверению также нужны соответствующие разрешения на рабочих пространствах Log Analytics, к которым выполняются запросы. См. документацию Azure по назначению ролей.

Note

Плагин источника данных Azure Monitor встроен в Grafana. Дополнительная установка не требуется.

Добавление источника данных

Чтобы добавить источник данных Azure Monitor:

  1. Нажмите Connections в левом меню.
  2. Нажмите Add new connection.
  3. Введите Azure Monitor в строке поиска.
  4. Выберите Azure Monitor.
  5. Нажмите Add new data source в правом верхнем углу.

Вы попадёте на вкладку Settings, где можно настроить источник данных.

Выбор метода аутентификации

Источник данных Azure Monitor поддерживает пять методов аутентификации. Выбирайте исходя из того, где размещена Grafana, ваших требований безопасности и необходимости оповещений:

Метод аутентификации Лучше всего подходит для Grafana Cloud Поддерживает оповещения Требуется настройка сервера
App Registration (клиентский секрет) Любое развёртывание Grafana ✓ ✓ Нет
App Registration (клиентский сертификат) Любое развёртывание Grafana ✓ ✓ Нет
Managed Identity Grafana, размещённая в Azure (виртуальные машины, App Service) ✗ ✓ Да
Workload Identity Grafana в Kubernetes (AKS) ✗ ✓ Да
Current User Управление доступом на уровне пользователя ✓ Частично Да

Note

Аутентификация Current User не поддерживает фоновые операции, такие как оповещения, отчёты и правила записи. Чтобы использовать оповещения с Current User, необходимо настроить резервные сервисные учётные данные. Тогда оповещения выполняются с разрешениями резервных учётных данных. Подробности см. в разделе Ограничения и резервные учётные данные.

Настройка аутентификации

Выберите один из следующих методов аутентификации и завершите настройку.

App Registration (клиентский секрет)

Используйте регистрацию приложения в Microsoft Entra ID (субъект-службу) для аутентификации. Этот метод работает с любым развёртыванием Grafana.

Предварительные требования App Registration

  1. Создайте регистрацию приложения в Microsoft Entra ID. См. документацию Azure по созданию субъекта-службы.

  2. Создайте клиентский секрет для регистрации приложения. См. документацию Azure по созданию клиентского секрета.

  3. Назначьте роль Reader регистрации приложения на подписке или ресурсах, которые вы хотите отслеживать. См. документацию Azure по назначению ролей.

Настройка App Registration в интерфейсе

Параметр Описание
Authentication Выберите App Registration.
Azure Cloud Среда Azure для подключения. Выберите Azure для публичного облака либо Azure Government или Azure China для национальных облаков.
Directory (tenant) ID GUID, идентифицирующий ваш клиент Microsoft Entra ID.
Application (client) ID GUID созданной вами регистрации приложения.
Client secret Секретный ключ регистрации приложения. Храните его в безопасности и периодически обновляйте.
Default Subscription Нажмите Load Subscriptions, чтобы заполнить список доступных подписок, затем выберите подписку по умолчанию.

Провижининг App Registration через YAML

YAML
apiVersion: 1

datasources:
  - name: Azure Monitor
    type: grafana-azure-monitor-datasource
    access: proxy
    jsonData:
      azureAuthType: clientsecret
      cloudName: azuremonitor # See supported cloud names below
      tenantId: <tenant-id>
      clientId: <client-id>
      subscriptionId: <subscription-id> # Optional, default subscription
    secureJsonData:
      clientSecret: <client-secret>
    version: 1

App Registration (клиентский сертификат)

Используйте регистрацию приложения в Microsoft Entra ID с сертификатом.

Предварительные требования App Registration (клиентский сертификат)

  1. Создайте регистрацию приложения в Microsoft Entra ID. См. документацию Azure по созданию субъекта-службы.
  2. Создайте или получите существующий сертификат (примеры создания самоподписанных сертификатов PEM или PFX см. ниже).
  3. Загрузите сертификат в регистрацию приложения в формате PEM или PFX. См. документацию Azure.
  4. Назначьте роль Reader регистрации приложения на подписке или ресурсах, которые вы хотите отслеживать. См. документацию Azure по назначению ролей.

Добавление сертификата в регистрацию приложения

Добавьте публичный сертификат в вашу регистрацию приложения на портале Azure:

  1. Откройте регистрацию приложения в Azure.
  2. Выберите Certificates & secrets.
  3. Выберите Certificates.
  4. Нажмите Upload certificate.
  5. Загрузите файл сертификата, содержащий публичный сертификат (.cer, .crt или .pem).
  6. Сохраните изменения.

Загруженный сертификат используется Microsoft Entra ID для проверки подписи утверждения клиента (client assertion) от Grafana.

Форматы сертификатов

Источник данных Azure Monitor поддерживает следующие форматы сертификатов:

  • PEM: укажите и сертификат, и закрытый ключ в текстовом формате PEM.
  • PFX: укажите полезную нагрузку PFX в кодировке base64 в поле Client Certificate и укажите пароль сертификата.

Создание самоподписанных сертификатов

Следующие примеры предназначены для тестовых и лабораторных сред. Для продакшена используйте сертификаты от вашего внутреннего или публичного центра сертификации.

Создание самоподписанного сертификата PEM и закрытого ключа с помощью OpenSSL:

sh
openssl genrsa -out key.pem 2048
openssl req -new -sha256 -key key.pem -out csr.csr
openssl req -x509 -sha256 -days 365 -key key.pem -in csr.csr -out certificate.pem

В этом примере:

  • certificate.pem загружается в Certificates & secrets в Azure.
  • certificate.pem — это клиентский сертификат, добавленный в Grafana.
  • key.pem — это закрытый ключ, добавленный в Grafana.

Создание зашифрованного сертификата PFX в кодировке base64:

sh
openssl genrsa -out key.pem 2048
openssl req -new -sha256 -key key.pem -out csr.csr
openssl req -x509 -sha256 -days 365 -key key.pem -in csr.csr -out certificate.pem
openssl pkcs12 -export -inkey key.pem -in certificate.pem -out certificate.pfx
openssl base64 -in certificate.pfx -out certificate.b64

Обязательно запомните пароль, который вы используете для шифрования сертификата.

В этом примере:

  • certificate.pem загружается в Certificates & secrets в Azure.
  • certificate.b64 — это зашифрованный, закодированный файл, добавленный в Grafana (в поле клиентского сертификата).

Настройка App Registration (клиентский сертификат) в интерфейсе

Параметр Описание
Authentication Выберите App Registration (Client Certificate).
Azure Cloud Среда Azure для подключения. Выберите Azure для публичного облака либо Azure Government или Azure China для национальных облаков.
Directory (tenant) ID GUID, идентифицирующий ваш клиент Microsoft Entra ID.
Application (client) ID GUID созданной вами регистрации приложения.
Format Выберите PEM или PFX.
Client Certificate Вставьте содержимое сертификата (текст PEM или полезную нагрузку PFX в кодировке base64).
Private Key Требуется только для PEM. Вставьте закрытый ключ PEM.
Certificate Password Требуется для зашифрованных файлов PFX.
Default Subscription Нажмите Load Subscriptions, чтобы заполнить список доступных подписок, затем выберите подписку по умолчанию.

Провижининг App Registration (клиентский сертификат) через YAML

Чтобы настроить источник данных Azure Monitor с аутентификацией по клиентскому сертификату, используйте следующую конфигурацию:

YAML
apiVersion: 1

datasources:
  - name: Azure Monitor
    type: grafana-azure-monitor-datasource
    access: proxy
    jsonData:
      azureAuthType: clientcertificate
      cloudName: azuremonitor # See supported cloud names below
      tenantId: <tenant-id>
      clientId: <client-id>
      certificateFormat: pem # Use pem or pfx
      subscriptionId: <subscription-id> # Optional, default subscription
    secureJsonData:
      clientCertificate: <certificate-content>
      privateKey: <private-key-content> # pem only
      certificatePassword: <certificate-password> # pfx only, if set
    version: 1

Managed Identity

Используйте управляемое удостоверение Azure для безопасной аутентификации без учётных данных, когда Grafana размещена в Azure.

Note

Managed Identity доступен в Azure Managed Grafana или в самостоятельно управляемой Grafana, развёрнутой в Azure. Он недоступен в Grafana Cloud.

Предварительные требования Managed Identity

  • Grafana должна быть размещена в Azure (App Service, виртуальные машины Azure или Azure Managed Grafana).
  • Управляемое удостоверение должно быть включено на ресурсе Azure, на котором размещена Grafana.
  • Управляемое удостоверение должно иметь роль Reader на подписке или ресурсах, которые вы хотите отслеживать.

Подробности об управляемых удостоверениях Azure см. в документации Azure.

Конфигурация сервера Grafana для Managed Identity

Включите управляемое удостоверение в конфигурации сервера Grafana:

ini
[azure]
managed_identity_enabled = true

Чтобы использовать управляемое удостоверение, назначенное пользователем, вместо назначенного системой, также задайте:

ini
[azure]
managed_identity_enabled = true
managed_identity_client_id = <USER_ASSIGNED_IDENTITY_CLIENT_ID>

Caution

Если вы изменили параметр forward_settings_to_plugins в разделе [azure], проверьте, что в него включён grafana-azure-monitor-datasource. Этот параметр определяет, какие плагины получают конфигурацию Azure от сервера Grafana. По умолчанию включены все плагины Azure от Grafana Labs. Отсутствие этого параметра приводит к ошибкам 401 Unauthorized, даже если Managed Identity правильно настроен на вашем ресурсе Azure.

Дополнительные сведения см. в разделе Конфигурация Azure в Grafana.

Настройка Managed Identity в интерфейсе

Параметр Описание
Authentication Выберите Managed Identity. Поля directory ID, application ID и client secret скрываются.
Default Subscription Нажмите Load Subscriptions, чтобы заполнить список доступных подписок, затем выберите подписку по умолчанию.
Источник данных Azure Monitor, настроенный с использованием Managed Identity
Источник данных Azure Monitor, настроенный с использованием Managed Identity

Провижининг Managed Identity через YAML

YAML
apiVersion: 1

datasources:
  - name: Azure Monitor
    type: grafana-azure-monitor-datasource
    access: proxy
    jsonData:
      azureAuthType: msi
      subscriptionId: <subscription-id> # Optional, default subscription
    version: 1

Workload Identity

Используйте удостоверение рабочей нагрузки Azure для безопасной аутентификации в средах Kubernetes, таких как AKS.

Предварительные требования Workload Identity

  • Grafana должна работать в среде Kubernetes с настроенной федерацией удостоверений рабочей нагрузки.
  • Удостоверение рабочей нагрузки должно иметь роль Reader на подписке или ресурсах, которые вы хотите отслеживать.

Подробности см. в документации по удостоверениям рабочей нагрузки Azure.

Конфигурация сервера Grafana для Workload Identity

Включите удостоверение рабочей нагрузки в конфигурации сервера Grafana:

ini
[azure]
workload_identity_enabled = true

Необязательные переменные конфигурации:

ini
[azure]
workload_identity_enabled = true
workload_identity_tenant_id = <IDENTITY_TENANT_ID>    # Microsoft Entra ID tenant containing the managed identity
workload_identity_client_id = <IDENTITY_CLIENT_ID>    # Client ID if different from default
workload_identity_token_file = <TOKEN_FILE_PATH>      # Path to the token file

Caution

Если вы изменили параметр forward_settings_to_plugins в разделе [azure], проверьте, что в него включён grafana-azure-monitor-datasource. Подробности см. в разделе Конфигурация сервера Grafana для Managed Identity.

Дополнительные сведения см. в разделах Конфигурация Azure в Grafana и Документация по удостоверениям рабочей нагрузки Azure.

Настройка Workload Identity в интерфейсе

Параметр Описание
Authentication Выберите Workload Identity. Поля directory ID, application ID и client secret скрываются.
Default Subscription Нажмите Load Subscriptions, чтобы заполнить список доступных подписок, затем выберите подписку по умолчанию.
Источник данных Azure Monitor, настроенный с использованием Workload Identity
Источник данных Azure Monitor, настроенный с использованием Workload Identity

Провижининг Workload Identity через YAML

YAML
apiVersion: 1

datasources:
  - name: Azure Monitor
    type: grafana-azure-monitor-datasource
    access: proxy
    jsonData:
      azureAuthType: workloadidentity
      subscriptionId: <subscription-id> # Optional, default subscription
    version: 1

Current User

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

Note

Аутентификация Current User — это функция общего доступа. Свяжитесь со службой поддержки Grafana, чтобы включить эту функцию в Grafana Cloud.

Предварительные требования Current User

Ваш экземпляр Grafana должен быть настроен с аутентификацией Microsoft Entra ID. См. документацию по аутентификации Microsoft Entra ID.

Настройка регистрации приложения Azure

Регистрация приложения, используемая для входа в Grafana, требует дополнительной настройки:

Включение выдачи токенов:

  1. На портале Azure откройте вашу регистрацию приложения.
  2. Выберите Authentication в боковом меню.
  3. В разделе Implicit grant and hybrid flows установите оба флажка: Access tokens и ID tokens.
  4. Сохраните изменения.

Добавление разрешений API:

  1. На портале Azure откройте вашу регистрацию приложения.
  2. Выберите API Permissions в боковом меню.
  3. Убедитесь, что эти разрешения присутствуют в разделе Microsoft Graph: openid, profile, email и offline_access.
  4. Добавьте следующие разрешения:
    • Azure Service Management > Delegated permissions > user_impersonation
    • APIs my organization uses > Найдите Log Analytics API > Delegated permissions > Data.Read

Дополнительные сведения см. в документации Azure.

Обновление областей (scopes) Grafana:

Обновите раздел scopes в конфигурации аутентификации Azure в Grafana, добавив область .default:

.default openid email profile

Конфигурация сервера Grafana для Current User

Включите аутентификацию текущего пользователя в конфигурации сервера Grafana:

ini
[azure]
user_identity_enabled = true

По умолчанию это также включает резервные сервисные учётные данные. Чтобы отключить резервные учётные данные на уровне экземпляра:

ini
[azure]
user_identity_enabled = true
user_identity_fallback_credentials_enabled = false

Caution

Если вы изменили параметр forward_settings_to_plugins в разделе [azure], проверьте, что в него включён grafana-azure-monitor-datasource. Подробности см. в разделе Конфигурация сервера Grafana для Managed Identity.

Ограничения и резервные учётные данные

Аутентификация Current User не поддерживает серверные функции, такие как оповещения, отчёты и записываемые запросы, поскольку учётные данные пользователя недоступны для фоновых операций.

Чтобы поддержать эти функции, необходимо настроить резервные сервисные учётные данные, обычно регистрацию приложения с клиентским секретом. Когда они включены, Grafana использует резервные учётные данные для серверных операций. Операции с использованием резервных учётных данных ограничены разрешениями этих учётных данных, а не разрешениями пользователя.

Caution

Если вы используете аутентификацию Current User без настройки резервных сервисных учётных данных, правила оповещений, правила записи и отчёты завершаются ошибками аутентификации. Дополнительные сведения см. в документации по оповещениям.

Note

Кэширование запросов и ресурсов по умолчанию отключено для источников данных, использующих аутентификацию Current User.

Настройка Current User в интерфейсе

Параметр Описание
Authentication Выберите Current User.
Default Subscription Нажмите Load Subscriptions, чтобы заполнить список доступных подписок, затем выберите подписку по умолчанию.
Fallback Service Credentials Включите и настройте учётные данные для серверных функций, таких как оповещения.
Источник данных Azure Monitor, настроенный с использованием аутентификации Current User
Источник данных Azure Monitor, настроенный с использованием аутентификации Current User

Провижининг Current User через YAML

Note

Свойство oauthPassThru обязательно для аутентификации Current User. Свойство disableGrafanaCache предотвращает возврат кэшированных ответов для ресурсов, к которым у пользователей нет доступа.

YAML
apiVersion: 1

datasources:
  - name: Azure Monitor
    type: grafana-azure-monitor-datasource
    access: proxy
    jsonData:
      azureAuthType: currentuser
      oauthPassThru: true
      disableGrafanaCache: true
      subscriptionId: <subscription-id> # Optional, default subscription
    version: 1

Дополнительные параметры конфигурации

Эти параметры применяются ко всем методам аутентификации.

Общие параметры

Параметр Описание
Name Имя источника данных, используемое на панелях и в запросах. Пример: azure-monitor-prod.
Default Переключатель, делающий этот источник данных используемым по умолчанию для новых панелей.

Тайм-аут запроса

Тайм-аут источника данных по умолчанию составляет 30 секунд. Запросы Azure Log Analytics на стороне Azure могут выполняться до 3 минут, особенно для сложных запросов KQL, больших диапазонов времени или запросов по нескольким рабочим пространствам. Если запросы завершаются ошибками DatasourceError, context deadline exceeded или тайм-аута, увеличьте тайм-аут.

Чтобы изменить тайм-аут:

  1. Откройте настройки вашего источника данных Azure Monitor.
  2. Прокрутите до раздела Misc в нижней части страницы конфигурации.
  3. Задайте значение Timeout. Значение 300 (300 секунд / 5 минут) покрывает максимальную длительность серверного запроса Azure Log Analytics.
  4. Нажмите Save & test.

Caution

Этот тайм-аут также влияет на вычисление оповещений. Если ваши правила оповещений используют запросы Log Analytics, выполняющиеся дольше 30 секунд, необходимо увеличить этот параметр, иначе вычисление оповещений будет завершаться ошибками тайм-аута. Для оповещений также убедитесь, что интервал вычисления оповещения достаточно велик, чтобы вместить длительность запроса.

Чтобы задать тайм-аут в файле провижининга, добавьте timeout в раздел jsonData:

YAML
datasources:
  - name: Azure Monitor
    type: grafana-azure-monitor-datasource
    access: proxy
    jsonData:
      timeout: 300

Включение Basic Logs

Включите Enable Basic Logs, чтобы разрешить запросы к таблицам Basic Logs в поддерживаемых рабочих пространствах Log Analytics.

Note

Запросы к таблицам Basic Logs влекут дополнительные расходы за каждый запрос.

Включение Batch API

Включите Enable Batch API, чтобы запрашивать метрики для нескольких ресурсов одним запросом с помощью Azure Monitor Metrics Batch API. Вместо отправки одного запроса на ресурс Grafana группирует подходящие запросы метрик и отправляет их вместе. Это сокращает количество вызовов Azure, что повышает производительность запросов и снижает вероятность троттлинга на дашбордах, запрашивающих множество ресурсов.

Note

Этот параметр доступен только при включённом переключателе функции datasources.azureMonitorBatchAPI.

Поскольку запросы к Batch API отправляются на конечную точку плоскости данных metrics.monitor.azure.com, для его использования вам нужна роль Monitoring Reader на уровне подписки.

Note

Metrics Batch API имеет бесплатный месячный лимит, после которого дополнительные вызовы влекут расходы. Текущие тарифы см. в разделе Цены Azure Monitor.

Private data source connect (только Grafana Cloud)

Если вы используете Grafana Cloud и вам нужно подключиться к ресурсам Azure в частной сети, используйте Private Data Source Connect (PDC).

  1. Нажмите раскрывающийся список Private data source connect, чтобы выбрать вашу конфигурацию PDC.
  2. Нажмите Manage private data source connect, чтобы просмотреть сведения о подключении PDC.

Дополнительные сведения см. в разделах Private data source connect и Настройка PDC.

Настройка exemplars

Вы можете связать метрики Azure Monitor с трассировками в источнике данных трассировок, настроив exemplars. Это позволяет переходить от точки данных метрики напрямую к связанным трассировкам для более глубокого исследования.

Чтобы настроить exemplars:

  1. Откройте настройки вашего источника данных Azure Monitor.
  2. Прокрутите до раздела конфигурации Exemplar.
  3. Нажмите Add.
  4. Выберите Data source в раскрывающемся списке. Источник данных должен быть серверным компонентом трассировок, таким как Tempo, Zipkin, Jaeger или X-Ray.
  5. (Необязательно) Настройте метку URL, чтобы изменить ссылку.
  6. Нажмите Save & test.

После настройки ссылки на exemplars появляются на поддерживаемых визуализациях метрик Azure Monitor, позволяя перейти к соответствующей трассировке в вашем источнике данных трассировок.

Поддерживаемые имена облаков

При провижининге источника данных используйте следующие значения cloudName:

Облако Azure Значение cloudName
Публичное облако Microsoft Azure azuremonitor (по умолчанию)
Китайское национальное облако chinaazuremonitor
Облако правительства США govazuremonitor

Note

Для аутентификации Current User имена облаков отличаются: используйте AzureCloud для публичного облака, AzureChinaCloud для китайского национального облака и AzureUSGovernment для облака правительства США.

Проверка подключения

После настройки источника данных нажмите Save & test. Успешное подключение отображает сообщение, подтверждающее, что учётные данные действительны и имеют доступ к настроенной подписке по умолчанию.

Если проверка не проходит, убедитесь, что:

  • Ваши учётные данные верны (поля tenant ID, client ID и client secret или сертификата)
  • Удостоверение имеет необходимые разрешения Azure RBAC
  • Для Managed Identity или Workload Identity конфигурация сервера Grafana верна
  • Есть сетевое подключение к конечным точкам Azure

Провижининг источника данных

Вы можете определить и настроить источник данных Azure Monitor в файлах YAML в рамках системы провижининга Grafana. Дополнительные сведения о провижининге см. в разделе Провижининг Grafana.

Краткий справочник по провижинингу

Метод аутентификации Значение azureAuthType Обязательные поля
App Registration (клиентский секрет) clientsecret tenantId, clientId, clientSecret
App Registration (сертификат) clientcertificate tenantId, clientId, certificateFormat, clientCertificate
Managed Identity msi Нет (использует удостоверение виртуальной машины)
Workload Identity workloadidentity Нет (использует удостоверение Pod)
Current User currentuser oauthPassThru: true, disableGrafanaCache: true

Все методы поддерживают необязательное поле subscriptionId для задания подписки по умолчанию.

Полные примеры YAML см. в разделах о методах аутентификации выше.

Настройка с помощью Terraform

Вы можете настроить источник данных Azure Monitor с помощью провайдера Grafana для Terraform. Этот подход обеспечивает рабочие процессы «инфраструктура как код» и контроль версий для вашей конфигурации Grafana.

Предварительные требования Terraform

  • Установленный Terraform
  • Провайдер Grafana для Terraform, настроенный с соответствующими учётными данными
  • Для Grafana Cloud: токен Cloud Access Policy с разрешениями на источники данных

Конфигурация провайдера

Настройте провайдер Grafana для подключения к вашему экземпляру Grafana:

hcl
terraform {
  required_providers {
    grafana = {
      source  = "grafana/grafana"
      version = ">= 2.0.0"
    }
  }
}

# For Grafana Cloud
provider "grafana" {
  url  = "<YOUR_GRAFANA_CLOUD_STACK_URL>"
  auth = "<YOUR_SERVICE_ACCOUNT_TOKEN>"
}

# For self-hosted Grafana
# provider "grafana" {
#   url  = "http://localhost:3000"
#   auth = "<API_KEY_OR_SERVICE_ACCOUNT_TOKEN>"
# }

Примеры Terraform

Следующие примеры показывают, как настроить источник данных Azure Monitor для каждого метода аутентификации.

App Registration (клиентский секрет):

hcl
resource "grafana_data_source" "azure_monitor" {
  type = "grafana-azure-monitor-datasource"
  name = "Azure Monitor"

  json_data_encoded = jsonencode({
    azureAuthType  = "clientsecret"
    cloudName      = "azuremonitor"
    tenantId       = "<TENANT_ID>"
    clientId       = "<CLIENT_ID>"
    subscriptionId = "<SUBSCRIPTION_ID>"
  })

  secure_json_data_encoded = jsonencode({
    clientSecret = "<CLIENT_SECRET>"
  })
}

App Registration (клиентский сертификат с PEM):

hcl
resource "grafana_data_source" "azure_monitor" {
  type = "grafana-azure-monitor-datasource"
  name = "Azure Monitor"

  json_data_encoded = jsonencode({
    azureAuthType     = "clientcertificate"
    cloudName         = "azuremonitor"
    tenantId          = "<TENANT_ID>"
    clientId          = "<CLIENT_ID>"
    certificateFormat = "pem"
    subscriptionId    = "<SUBSCRIPTION_ID>"
  })

  secure_json_data_encoded = jsonencode({
    clientCertificate = "<CERTIFICATE_CONTENT>"
    privateKey        = "<PRIVATE_KEY_CONTENT>"
  })
}

App Registration (клиентский сертификат с PFX):

hcl
resource "grafana_data_source" "azure_monitor" {
  type = "grafana-azure-monitor-datasource"
  name = "Azure Monitor"

  json_data_encoded = jsonencode({
    azureAuthType     = "clientcertificate"
    cloudName         = "azuremonitor"
    tenantId          = "<TENANT_ID>"
    clientId          = "<CLIENT_ID>"
    certificateFormat = "pfx"
    subscriptionId    = "<SUBSCRIPTION_ID>"
  })

  secure_json_data_encoded = jsonencode({
    clientCertificate = "<CERTIFICATE_CONTENT_BASE64_ENCODED>"
    certificatePassword = "<CERTIFICATE_PASSWORD>"
  })
}

Managed Identity:

hcl
resource "grafana_data_source" "azure_monitor" {
  type = "grafana-azure-monitor-datasource"
  name = "Azure Monitor"

  json_data_encoded = jsonencode({
    azureAuthType  = "msi"
    subscriptionId = "<SUBSCRIPTION_ID>"
  })
}

Workload Identity:

hcl
resource "grafana_data_source" "azure_monitor" {
  type = "grafana-azure-monitor-datasource"
  name = "Azure Monitor"

  json_data_encoded = jsonencode({
    azureAuthType  = "workloadidentity"
    subscriptionId = "<SUBSCRIPTION_ID>"
  })
}

Current User:

hcl
resource "grafana_data_source" "azure_monitor" {
  type = "grafana-azure-monitor-datasource"
  name = "Azure Monitor"

  json_data_encoded = jsonencode({
    azureAuthType       = "currentuser"
    oauthPassThru       = true
    disableGrafanaCache = true
    subscriptionId      = "<SUBSCRIPTION_ID>"
  })
}

С включённым Basic Logs:

Добавьте basicLogsEnabled = true в любую из приведённых выше конфигураций:

hcl
resource "grafana_data_source" "azure_monitor" {
  type = "grafana-azure-monitor-datasource"
  name = "Azure Monitor"

  json_data_encoded = jsonencode({
    azureAuthType   = "clientsecret"
    cloudName       = "azuremonitor"
    tenantId        = "<TENANT_ID>"
    clientId        = "<CLIENT_ID>"
    subscriptionId  = "<SUBSCRIPTION_ID>"
    basicLogsEnabled = true
  })

  secure_json_data_encoded = jsonencode({
    clientSecret = "<CLIENT_SECRET>"
  })
}

Дополнительные сведения о провайдере Grafana для Terraform см. в документации провайдера и описании ресурса grafana_data_source.