Устранение неполадок источника данных Google Cloud Monitoring
В этом документе приведены решения распространённых проблем, с которыми вы можете столкнуться при настройке или использовании источника данных Google Cloud Monitoring. Инструкции по настройке см. в разделе Настройка Google Cloud Monitoring.
Ошибки аутентификации
Эти ошибки возникают, когда учётные данные GCP недействительны, отсутствуют или не имеют требуемых прав.
“Permission denied” или “Access denied”
Симптомы:
- Save & test завершается с ошибками прав доступа
- Запросы возвращают ошибки авторизации
- Проекты, метрики или метки не загружаются
Возможные причины и решения:
“Invalid JWT” или “JWT token error”
Симптомы:
- Аутентификация не проходит при использовании Google JWT File
- Сообщение об ошибке указывает на недействительный или некорректно сформированный JWT
Решения:
- Убедитесь, что вы загрузили полный файл ключа JSON, а не только часть с приватным ключом.
- Проверьте, что файл JSON имеет правильный формат и не повреждён.
- Убедитесь, что файл ключа содержит все обязательные поля:
type,project_id,private_key_id,private_key,client_email,client_id,auth_uri,token_uri. - Создайте новый ключ сервисного аккаунта и загрузите его повторно.
GCE Default Service Account не работает
Симптомы:
- Проверка источника данных не проходит при использовании GCE Default Service Account
- Работает с JWT, но не проходит при аутентификации GCE
Решения:
- Убедитесь, что Grafana работает на виртуальной машине Google Compute Engine (GCE).
- Проверьте, что у экземпляра GCE включена область действия Cloud Monitoring API.
- Убедитесь, что у сервисного аккаунта GCE по умолчанию есть роль Monitoring Viewer.
- Если виртуальная машина была создана без требуемой области действия, возможно, потребуется остановить экземпляр, отредактировать его, добавив область действия, и перезапустить.
Ошибки имперсонации сервисного аккаунта
Симптомы:
- Аутентификация не проходит при включённой имперсонации сервисного аккаунта
- Ошибка: “Unable to impersonate service account”
Решения:
- Убедитесь, что у основного сервисного аккаунта есть роль
roles/iam.serviceAccountTokenCreatorдля целевого сервисного аккаунта. - Проверьте, что адрес электронной почты целевого сервисного аккаунта введён правильно.
- Убедитесь, что у целевого сервисного аккаунта есть роль Monitoring Viewer.
- Убедитесь, что оба сервисных аккаунта находятся в проектах, где включены требуемые API.
Forward OAuth Identity возвращает 403
Симптомы:
- Save & Test не проходит с
403 Forbiddenпри использовании Forward OAuth Identity. - Запросы выполняются для одних пользователей, но не для других.
Решения:
- Убедитесь, что вы вошли в Grafana через Google, а не как локальный пользователь
admin. Способ Forward OAuth Identity передаёт токен только в том случае, если он есть в текущей сессии. - Убедитесь, что аутентификация Google в Grafana включает область действия
https://www.googleapis.com/auth/monitoring.read. См. раздел Настройка области действия Google OAuth. - После добавления области действия выйдите из Grafana, отзовите существующее разрешение на странице https://myaccount.google.com/permissions и войдите снова. Google повторно использует предыдущее согласие и не выдаёт токены с новыми областями действия, пока разрешение не отозвано.
- Убедитесь, что у вошедшего пользователя есть роль Monitoring Viewer (
roles/monitoring.viewer) в проекте, указанном в поле Default project. - Проверьте, что поле Default project заполнено. OAuth-токен пользователя не содержит контекста проекта, поэтому источник данных не может взять проект из учётных данных.
Ошибки подключения
Эти ошибки возникают, когда Grafana не может достичь конечных точек Google Cloud Monitoring.
“Request timed out” или сбои подключения
Симптомы:
- Проверка источника данных завершается по тайм-ауту
- Запросы завершаются ошибками тайм-аута
- Периодические проблемы с подключением
Решения:
- Убедитесь в наличии сетевого подключения с сервера Grafana к конечным точкам Google Cloud (
monitoring.googleapis.com). - Проверьте, что правила брандмауэра разрешают исходящий трафик HTTPS (порт 443) к сервисам Google Cloud.
- Для Grafana Cloud, подключающейся к приватным ресурсам, настройте Private data source connect.
- Проверьте, не блокирует ли корпоративный прокси подключения к Google Cloud.
“SSL certificate problem”
Симптомы:
- Ошибки рукопожатия SSL/TLS
- Сбои проверки сертификата
Решения:
- Убедитесь, что системное время на сервере Grafana указано верно.
- Убедитесь, что на сервере Grafana установлены актуальные сертификаты CA.
- Проверьте, не перехватывает ли корпоративный прокси трафик HTTPS.
Ошибки запросов к метрикам
Эти ошибки возникают при запросе метрик Google Cloud Monitoring.
“No data” или пустые результаты
Симптомы:
- Запрос выполняется без ошибок, но не возвращает данных
- На графиках отображается сообщение “No data”
Возможные причины и решения:
Метрики не появляются в раскрывающемся списке
Симптомы:
- Ожидаемые метрики не появляются в редакторе запросов
- Раскрывающийся список метрик пуст для сервиса
Решения:
- Убедитесь, что метрика существует в выбранном проекте и регионе.
- Проверьте, что у сервисного аккаунта есть роль Monitoring Viewer.
- Некоторые метрики доступны только для определённых типов ресурсов. Проверьте список метрик Google Cloud.
- Используйте Query Inspector, чтобы проверить запрос и ответ API.
Значения меток не загружаются
Симптомы:
- Раскрывающийся список значений меток не заполняется
- Фильтры нельзя применить
Решения:
- Убедитесь, что у сервисного аккаунта есть роль Monitoring Viewer.
- Убедитесь, что перед загрузкой значений меток выбраны проект, сервис и метрика.
- Значения меток заполняются из существующих данных метрик. Если ни одна метрика не соответствует текущему выбору, значения не появляются.
Ошибки запросов MQL
Симптомы:
- Запросы Monitoring Query Language (MQL) завершаются ошибками синтаксиса
- Запрос MQL возвращает неожиданные результаты
Решения:
- Проверьте синтаксис MQL с помощью справочной документации по MQL.
- Проверьте наличие опечаток в типах метрик, именах меток или функциях.
- Убедитесь, что синтаксис диапазона времени в запросе корректен.
- Проверьте запрос в Metrics Explorer консоли GCP, прежде чем использовать его в Grafana.
“Too many data points” или троттлинг API
Симптомы:
- Запросы завершаются ошибками квоты
- Производительность снижается при нескольких панелях
Решения:
- Увеличьте период выравнивания, чтобы уменьшить число точек данных.
- Сократите диапазон времени запросов.
- Используйте меньше запросов к метрикам на панель.
- Запросите увеличение квоты в консоли GCP в разделе APIs & Services > Quotas.
- Включите кэширование запросов в Grafana, чтобы сократить число вызовов API.
Ошибки запросов SLO
Эти ошибки специфичны для запросов Service Level Objective (SLO).
Сервисы SLO не появляются
Симптомы:
- Селектор сервисов SLO пуст
- Не удаётся найти ожидаемые сервисы SLO
Решения:
- Убедитесь, что SLO определены в Google Cloud Monitoring для выбранного проекта.
- Проверьте, что у сервисного аккаунта есть доступ к просмотру SLO.
- Убедитесь, что в проекте настроены сервисы в разделе Service Monitoring консоли GCP.
Запрос SLO не возвращает данных
Симптомы:
- Запрос SLO выполняется, но не возвращает данных
- Значения SLO отображаются пустыми
Решения:
- Убедитесь, что SLO существует и активен в консоли GCP.
- Проверьте, что диапазон времени включает периоды, когда у SLO были данные.
- Убедитесь, что выбранный селектор SLO (значение SLI, compliance, error budget и т. д.) подходит для типа SLO.
- У некоторых SLO может не быть данных, если базовый сервис не получал трафик.
Ошибки шаблонных переменных
Эти ошибки возникают при использовании шаблонных переменных с источником данных Google Cloud Monitoring.
Переменные не возвращают значений
Симптомы:
- Раскрывающийся список переменной пуст
- Дашборд не загружается из-за ошибок переменных
Решения:
- Убедитесь, что подключение к источнику данных работает.
- Проверьте, что у сервисного аккаунта есть права на перечисление запрашиваемых ресурсов.
- Для зависимых переменных убедитесь, что у родительских переменных выбраны допустимые значения.
- Проверьте, что в запросе переменной правильно выбран проект.
Переменные загружаются медленно
Симптомы:
- Дашборд загружается долго
- Селекторы переменных заполняются медленно
Решения:
- Установите обновление переменной в On dashboard load вместо On time range change.
- Сократите область запросов переменных (фильтруйте по конкретному проекту или сервису).
- Ограничьте число зависимых переменных в цепочке.
Дополнительные сведения о шаблонных переменных см. в документации по шаблонным переменным.
Проблемы с дашбордами
Эти проблемы возникают с дашбордами, которые используют источник данных Google Cloud Monitoring. Начиная с версии плагина 12.6.1, плагин больше не включает курируемые дашборды, поэтому вкладка Dashboards источника данных их не перечисляет. Для создания дашбордов используйте дашборды сообщества и дашборды от Grafana из каталога дашбордов Grafana либо воссоздайте панели с помощью редактора запросов.
Импортированные дашборды не показывают данных
Симптомы:
- Импортированные дашборды показывают пустые панели
- Шаблонные переменные не загружаются
Решения:
- Убедитесь, что имя источника данных в дашборде соответствует вашему источнику данных Google Cloud Monitoring.
- Проверьте, что у сервисного аккаунта есть доступ к проектам, указанным в переменной проекта.
- Убедитесь, что ресурсы (экземпляры Compute Engine, Cloud SQL и подобные) существуют и отправляют метрики.
- Убедитесь, что в вашем проекте включены требуемые сервисы GCP.
Включение отладочного логирования
Чтобы получить подробную информацию об ошибках для устранения неполадок:
-
Установите уровень логирования Grafana в
debugв файле конфигурации:[log] level = debug -
Просмотрите логи в
/var/log/grafana/grafana.log(или в настроенном вами расположении логов). -
Ищите записи, специфичные для Google Cloud Monitoring, которые содержат сведения о запросах и ответах.
-
После устранения неполадок верните уровень логирования в
info, чтобы избежать чрезмерного объёма логов.
Получение дополнительной помощи
Если вы перепробовали решения выше и проблемы сохраняются:
- Проверьте форумы сообщества Grafana на наличие похожих проблем.
- Просмотрите проблемы Google Cloud Monitoring на GitHub на предмет известных ошибок.
- Обратитесь к документации Google Cloud Monitoring за рекомендациями по конкретным сервисам.
- Свяжитесь со службой поддержки Grafana, если вы пользователь Enterprise, Cloud Pro или Cloud Contracted.
- При сообщении о проблемах укажите:
- версию Grafana
- проект GCP (скройте, если это конфиденциально)
- сообщения об ошибках (скройте конфиденциальную информацию)
- шаги для воспроизведения
- конфигурацию запроса (скройте учётные данные)