Устранение неполадок источника данных Azure Monitor
В этом документе приведены решения типичных проблем, с которыми можно столкнуться при настройке или использовании источника данных Azure Monitor; они организованы по этапам, на которых возникают проблемы.
Ошибки подключения и сети
Эти ошибки означают, что Grafana не может достичь конечных точек Azure. Прежде чем разбираться с аутентификацией или запросами, проверьте сетевое подключение.
Ошибки «Connection refused» или тайм-аута
Симптомы:
- Проверка источника данных завершается сетевыми ошибками
- Запросы завершаются по тайм-ауту, не возвращая результатов
Решения:
- Проверьте сетевое подключение от Grafana к конечным точкам Azure.
- Проверьте, что правила брандмауэра разрешают исходящий HTTPS (порт 443) к службам Azure.
- Для частных сетей убедитесь, что Private Link или VPN настроены правильно.
- Для Grafana Cloud настройте Private Data Source Connect, если требуется доступ к частным ресурсам.
Ошибки сертификата SSL/TLS
Симптомы:
- Сбои проверки сертификата
- Ошибки рукопожатия SSL
Решения:
- Убедитесь, что системное время верно (при неверном времени проверка сертификата завершается сбоем).
- Проверьте, что корпоративный прокси не перехватывает трафик HTTPS.
- Проверьте, что на сервере Grafana установлены необходимые сертификаты CA.
Ошибки аутентификации
Эти ошибки возникают, когда учётные данные, настроенные в источнике данных или в Azure, недействительны, истекли или не имеют нужных разрешений.
«Authorization failed» или «Access denied»
Симптомы:
- Save & test завершается с ошибкой «Authorization failed»
- Запросы возвращают ошибки «Access denied»
- Подписки не загружаются при нажатии Load Subscriptions
Возможные причины и решения:
«Invalid client secret» или «Client secret not found»
Симптомы:
- Аутентификация не проходит сразу после настройки
- Сообщение об ошибке ссылается на недействительные учётные данные
Решения:
- Убедитесь, что вы скопировали значение client secret, а не идентификатор секрета. На портале Azure в разделе Certificates & secrets значение секрета показывается только один раз — при создании. Идентификатор секрета — это другой идентификатор, и для аутентификации он не подойдёт.
- Проверьте, что client secret скопирован корректно (без лишних пробелов и без обрезки).
- Проверьте, не истёк ли срок действия секрета, на портале Azure в разделе App registrations > ваше приложение > Certificates & secrets.
- Создайте новый секрет и обновите настройки источника данных.
«Tenant not found» или «Invalid tenant ID»
Симптомы:
- Проверка источника данных завершается ошибками, связанными с tenant
- Не удаётся пройти аутентификацию
Решения:
- Проверьте Directory (tenant) ID на портале Azure в разделе Microsoft Entra ID > Overview.
- Убедитесь, что используется правильная настройка облака Azure (Azure, Azure Government или Azure China).
- Проверьте, что tenant ID записан в допустимом формате GUID.
Аутентификация с клиентским сертификатом не работает
Симптомы:
- Аутентификация не проходит при использовании App Registration с клиентским сертификатом
- Ошибка ссылается на недействительный сертификат или сбой проверки подписи
Возможные причины и решения:
Ошибки конфигурации сервера Grafana
Эти ошибки возникают, когда в конфигурации .ini сервера Grafana отсутствуют настройки, требуемые для аутентификации Managed Identity, Workload Identity или Current User. Если учётные данные Azure верны, но аутентификация всё равно не проходит, проверьте этот раздел.
Managed Identity не работает
Симптомы:
- Параметр Managed Identity доступен, но аутентификация не проходит
- Ошибка: «Managed identity authentication is not available»
Решения:
- Проверьте, что в конфигурации сервера Grafana в секции
[azure]заданоmanaged_identity_enabled = true. - Убедитесь, что на ресурсе Azure, на котором работает Grafana, включено управляемое удостоверение.
- Для управляемого удостоверения, назначаемого пользователем, убедитесь, что
managed_identity_client_idзадан правильно. - Проверьте, что управляемое удостоверение имеет роль
Readerна целевых ресурсах. - Перезапустите Grafana после изменения конфигурации сервера.
Workload Identity не работает
Симптомы:
- Аутентификация Workload Identity не проходит в среде Kubernetes/AKS
- Ошибки файла токена
Решения:
- Проверьте, что в конфигурации сервера Grafana задано
workload_identity_enabled = true. - Проверьте, что сервисная учётная запись правильно аннотирована для workload identity.
- Проверьте, что федеративные учётные данные настроены в Azure.
- Убедитесь, что путь к токену доступен поду Grafana.
- Проверьте, что в кластере запущен вебхук workload identity.
«401 Unauthorized», несмотря на правильную настройку Azure
Симптомы:
- Аутентификация не проходит с
401 Unauthorized, хотя Managed Identity или Workload Identity правильно настроены в Azure - У управляемого удостоверения есть нужные роли RBAC
- В файле
.iniGrafana заданоmanaged_identity_enabledилиworkload_identity_enabledв значениеtrue
Причина: настройка forward_settings_to_plugins в секции [azure] не включает плагин Azure Monitor, поэтому плагин не получает от сервера Grafana настройки аутентификации Azure.
Решения:
- Проверьте, не изменяли ли вы настройку
forward_settings_to_pluginsв секции[azure]файла.iniGrafana. - Если изменяли, убедитесь, что в списке указан
grafana-azure-monitor-datasource. Например:[azure] managed_identity_enabled = true forward_settings_to_plugins = grafana-azure-monitor-datasource - По умолчанию Grafana включает все плагины Azure от Grafana Labs. Если вы не изменяли эту настройку, значение по умолчанию включает плагин Azure Monitor.
- Перезапустите Grafana после внесения изменений.
Ошибки запросов
Эти ошибки возникают при выполнении запросов к службам Azure Monitor.
«No data» или пустые результаты
Симптомы:
- Запрос выполняется без ошибок, но не возвращает данных
- Графики показывают сообщение «No data»
Возможные причины и решения:
«Bad request» или «Invalid query»
Симптомы:
- Запрос завершается с ошибкой 400
- Сообщение об ошибке указывает на проблемы с синтаксисом запроса
Решения для запросов к журналам:
- Проверьте синтаксис KQL в редакторе запросов Log Analytics на портале Azure.
- Проверьте имена таблиц и столбцов на опечатки.
- Убедитесь, что упомянутые в запросе таблицы существуют в выбранной рабочей области.
- Проверьте, что диапазон времени корректен (не в будущем и не слишком далеко в прошлом относительно срока хранения данных).
Решения для запросов к метрикам:
- Проверьте, что имя метрики действительно для выбранного типа ресурса.
- Проверьте, что в фильтрах по измерениям используются корректные имена и значения измерений.
- Убедитесь, что тип агрегации поддерживается для выбранной метрики.
«Resource not found»
Симптомы:
- Запрос завершается с ошибкой 404
- Средство выбора ресурсов показывает ресурсы, которые нельзя запросить
Решения:
- Проверьте, что ресурс всё ещё существует в Azure (он мог быть удалён или перемещён).
- Проверьте, что подписка указана верно.
- Обновите средство выбора ресурсов, повторно выбрав подписку.
- Проверьте, что удостоверение имеет доступ к группе ресурсов этого ресурса.
Тайм-аут запроса к журналам
Симптомы:
- Запрос выполняется долго, затем завершается с ошибкой
DatasourceErrorилиcontext deadline exceeded - Проверки оповещений завершаются ошибками тайм-аута
- Сообщение об ошибке упоминает тайм-аут или ограничения запроса
Причина: тайм-аут источника данных по умолчанию в Grafana составляет 30 секунд, но запросы Azure Log Analytics могут выполняться до 3 минут на стороне Azure, особенно для сложных запросов KQL или больших диапазонов времени.
Решения:
- Увеличьте тайм-аут источника данных. Откройте настройки источника данных Azure Monitor, прокрутите до секции Misc и увеличьте Timeout до
300(секунд). Подробности смотрите в разделе Тайм-аут запроса. - Сузьте диапазон времени, чтобы уменьшить объём данных.
- Добавьте фильтры, чтобы сократить результирующий набор.
- Используйте
summarizeдля агрегирования данных вместо возврата необработанных строк. - Рассмотрите возможность использования Basic Logs для больших наборов данных (если эта функция включена).
- Разбейте сложные запросы на более мелкие части.
- Для оповещений убедитесь, что интервал проверки оповещения достаточно велик, чтобы вместить длительность запроса плюс настроенный тайм-аут.
«Metrics not available» для ресурса
Симптомы:
- Ресурс появляется в средстве выбора, но метрики не перечислены
- Раскрывающийся список метрик пуст
Решения:
- Проверьте, что тип ресурса поддерживает метрики Azure Monitor.
- Проверьте, находится ли ресурс в регионе, поддерживающем метрики.
- Некоторым ресурсам для публикации метрик требуются параметры диагностики — настройте их на портале Azure.
- Попробуйте выбрать другое пространство имён для ресурса.
Ошибки Azure Resource Graph
Эти ошибки характерны для запросов к Azure Resource Graph (ARG).
«Query execution failed»
Симптомы:
- Запрос ARG завершается ошибками выполнения
- Результаты не соответствуют ожидаемым ресурсам
Решения:
- Проверьте синтаксис запроса в Resource Graph Explorer на портале Azure.
- Проверьте, что у вас есть доступ к запрашиваемым подпискам.
- Проверьте правильность имён таблиц (например,
Resources,ResourceContainers). - Некоторые возможности ARG требуют специальных разрешений — смотрите документацию ARG.
Запрос возвращает неполные результаты
Симптомы:
- В результатах появляются не все ожидаемые ресурсы
- Результаты выглядят обрезанными
Решения:
- Запросы ARG разбиваются на страницы. Источник данных обрабатывает разбиение на страницы автоматически, но очень большие результирующие наборы могут быть ограничены.
- Добавьте фильтры, чтобы уменьшить размер результирующего набора.
- Проверьте, что у вас есть доступ ко всем подпискам, содержащим ресурсы.
Ошибки трассировок Application Insights
Эти ошибки характерны для типа запроса Traces.
«No traces found»
Симптомы:
- Запрос к трассировкам возвращает пустые результаты
- Поиск по Operation ID ничего не находит
Решения:
- Проверьте, что ресурс Application Insights собирает данные трассировок.
- Проверьте, что диапазон времени включает период, когда трассировки были сгенерированы.
- Убедитесь, что Operation ID указан верно (скопируйте его напрямую из другой трассировки или журнала).
- Проверьте, что удостоверение имеет доступ к ресурсу Application Insights.
Ошибки Basic Logs
Эти ошибки характерны для запросов к Basic Logs.
Переключатель Basic Logs недоступен
Симптомы:
- Переключатель Analytics / Basic не появляется в редакторе запросов журналов
- Не удаётся переключиться в режим Basic Logs
Решения:
- Проверьте, что в настройках источника данных включён Enable Basic Logs. Смотрите раздел Включение Basic Logs.
- Basic Logs недоступны при создании правил оповещений. Если вы находитесь в интерфейсе оповещений, используйте вместо этого режим Analytics.
Запрос к Basic Logs возвращает ошибки
Симптомы:
- Запрос завершается ошибкой «BadArgumentError» или аналогичными ошибками
- Запрос возвращает неожиданные результаты
Решения:
- Убедитесь, что вы выбрали только один ресурс рабочей области. Basic Logs не поддерживает запросы к нескольким ресурсам.
- Удалите из самого запроса любые фильтры по диапазону времени. Basic Logs всегда использует диапазон времени дашборда.
- Проверьте, что таблица, которую вы запрашиваете, настроена в Azure с планом журналов Basic или Auxiliary. Не все таблицы поддерживают Basic Logs.
- Проверьте, что в вашем запросе KQL используются только поддерживаемые операторы.
Неожиданные расходы из-за Basic Logs
Решения:
- Запросы к Basic Logs тарифицируются Azure за каждый запрос отдельно от расходов на Grafana. Ознакомьтесь с документацией по ценам Azure.
- Проверьте частоту запросов. Автообновление дашборда и изменения переменных могут вызывать повторяющиеся запросы.
- Рассмотрите возможность вернуть редко запрашиваемые таблицы в режим Analytics, чтобы избежать платы за каждый запрос.
Ошибки оповещений
Эти ошибки возникают при использовании данных Azure Monitor в правилах оповещений Grafana или правилах записи. Общую конфигурацию оповещений смотрите в документации по оповещениям Azure Monitor.
Сбой оповещения при аутентификации Current User
Симптомы:
- Правила оповещений и правила записи завершаются ошибками аутентификации
- Запросы дашборда работают, а проверки оповещений — нет
- Сообщения об ошибках ссылаются на отсутствующие или недействительные учётные данные при фоновой проверке
Причина: аутентификация Current User опирается на учётные данные вошедшего пользователя, которые недоступны для фоновых операций, таких как оповещения.
Решения:
- Настройте fallback service credentials в настройках источника данных. Обычно это означает добавление регистрации приложения (client secret) в качестве резервных учётных данных.
- Проверьте, что резервные учётные данные имеют необходимые разрешения RBAC Azure на ресурсах, используемых в правилах оповещений.
- Подробности настройки смотрите в разделе Ограничения и резервные учётные данные.
Тайм-аут проверки оповещения
Симптомы:
- Правила оповещений завершаются ошибкой
DatasourceErrorилиcontext deadline exceeded - Оповещения срабатывают с перебоями и дают сбой, когда запросы выполняются дольше обычного
Решения:
- Увеличьте тайм-аут источника данных. По умолчанию он составляет 30 секунд, но запросы Azure Log Analytics могут выполняться до 3 минут. Откройте настройки источника данных Azure Monitor, прокрутите до Misc и установите Timeout в
300. Смотрите раздел Тайм-аут запроса. - Убедитесь, что интервал проверки оповещения достаточно велик, чтобы вместить длительность запроса.
- Упростите сложные запросы KQL, используемые в правилах оповещений.
- Сократите диапазон времени в запросах Log Analytics.
Ошибки переменных шаблона
Общую конфигурацию переменных шаблона смотрите в документации по переменным шаблона.
«Properties found in series but missing valueProp and textProp»
Симптомы:
- Переменные шаблона с типами запросов Resource Groups, Resource Names или Subscriptions завершаются этой ошибкой
- Переменные, которые раньше работали, перестают возвращать значения после обновления Grafana
- Дашборды, использующие каскадные переменные, ломаются
Причина: эта ошибка возникает, когда формат ответа запроса переменной плагина Azure Monitor не соответствует ожидаемому в Grafana. Это была известная ошибка, затрагивающая определённые версии Grafana.
Решения:
- Проверьте версию Grafana. Эта проблема была программной ошибкой, исправленной в более поздних релизах. Обновитесь до последнего патч-релиза вашей версии Grafana.
- Пользователям Grafana Cloud: если вы используете канал релизов, в котором исправление ещё не появилось, переключитесь на канал stable в настройках вашего стека Cloud (Stack Management > General > Release channel), чтобы получать последние стабильные патчи.
- Пользователям самостоятельно размещённой Grafana: скачайте последний патч-релиз со страницы загрузки Grafana.
- После обновления перезагрузите дашборд и повторно выполните запросы переменных.
Переменные не возвращают значений
Решения:
- Проверьте, что подключение к источнику данных работает (проверьте его в настройках источника данных).
- Проверьте, что родительские переменные (для каскадных переменных) имеют корректные значения.
- Проверьте, что удостоверение имеет разрешения на перечисление запрашиваемых ресурсов.
- Для переменных Logs убедитесь, что запрос KQL возвращает один столбец.
Переменные перестают работать после обновления Grafana
Симптомы:
- Переменные шаблона, работавшие до обновления, возвращают ошибки или пустые результаты
- Раскрывающиеся списки переменных дашборда не показывают вариантов или отображают индикаторы ошибок
Решения:
- Проверьте примечания к выпуску Grafana на предмет критических изменений, связанных с переменными шаблона или источником данных Azure Monitor.
- Проверьте, совместима ли версия плагина Azure Monitor с вашей версией Grafana. Перейдите в Administration > Plugins and data > Plugins, найдите «Azure Monitor» и проверьте версию.
- Очистите кэш браузера и перезагрузите дашборд.
- Снова откройте конфигурацию переменной и нажмите Run query, чтобы убедиться, что она возвращает ожидаемые результаты.
- Если проблема сохраняется, проверьте известные ошибки в issues Grafana на GitHub и рассмотрите возможность отката к предыдущей версии Grafana.
Переменные загружаются медленно
Решения:
- Установите обновление переменных в On dashboard load вместо On time range change.
- Сузьте область запросов переменных (например, фильтруйте по группе ресурсов, а не по всей подписке).
- Для переменных Logs оптимизируйте запрос KQL, чтобы результаты возвращались быстрее.
Включение отладочного журналирования
Чтобы собирать подробную информацию об ошибках для устранения неполадок Azure Monitor:
-
Установите уровень журналирования Grafana в значение
debugв файле конфигурации:[log] level = debug -
Перезапустите Grafana, чтобы изменение вступило в силу.
-
Воспроизведите проблему и просмотрите журналы в
/var/log/grafana/grafana.log(или в другом настроенном расположении журналов). -
Ищите записи, содержащие
azuremonitorилиazure, — в них есть сведения о запросах и ответах, характерные для Azure Monitor. -
После устранения неполадок верните уровень журналирования в
info, чтобы избежать чрезмерного объёма журналов.
Получение дополнительной помощи
Если вы испробовали решения из этого документа, но проблемы остались:
- Проверьте форумы сообщества Grafana на наличие похожих проблем.
- Просмотрите issues источника данных Azure Monitor на GitHub на предмет известных ошибок.
- Обратитесь в поддержку Grafana, если вы пользователь Enterprise, Cloud Pro или Cloud Contracted.
- При сообщении о проблеме укажите:
- версию Grafana;
- сообщения об ошибках (скрывая конфиденциальную информацию);
- шаги воспроизведения;
- соответствующую конфигурацию (скрывая учётные данные).