Последнее обновление: августа 11, 2026

Настройка источника данных Google Cloud Monitoring

В этом документе приведены инструкции по настройке источника данных Google Cloud Monitoring в Grafana.

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

Прежде чем начать, убедитесь, что у вас есть следующее:

  • Права в Grafana: для настройки источников данных у вас должна быть роль Organization administrator.
  • Проект GCP: проект Google Cloud Platform.
  • Права в GCP: права на создание сервисного аккаунта или настройку параметров сервисного аккаунта GCE по умолчанию в вашем проекте GCP.

Источник данных Google Cloud Monitoring предустановлен в Grafana как в Grafana OSS, так и в Grafana Enterprise, поэтому устанавливать ничего не нужно. Подробнее о том, как обновляется отдельный плагин, см. в разделе Обновления плагина.

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

Прежде чем запрашивать данные из Google Cloud Monitoring, необходимо настроить аутентификацию. Все запросы к Google API выполняются на стороне сервера бэкендом Grafana.

Варианты аутентификации и подробности настройки описаны в разделе Аутентификация в Google.

При настройке аутентификации в Google учитывайте следующие требования, специфичные для Google Cloud Monitoring.

Настройка сервисного аккаунта GCP

Когда вы создаёте сервисный аккаунт Google Cloud Platform (GCP) и файл ключа, у сервисного аккаунта должна быть роль Monitoring Viewer (Role > Select a role > Monitoring > Monitoring Viewer):

Choose role
Choose role

Предоставление области действия сервисному аккаунту GCE по умолчанию

Если Grafana работает на виртуальной машине Google Compute Engine (GCE), то при настройке сервисного аккаунта GCE по умолчанию вам также необходимо предоставить этому сервисному аккаунту доступ к области действия “Cloud Monitoring API”.

Включение API Google Cloud Platform

Прежде чем запрашивать данные из Google Cloud Monitoring, необходимо включить нужные API в вашем проекте GCP.

  1. Откройте страницы API Monitoring и Cloud Resource Manager:

  2. На каждой странице нажмите Enable.

    Enable GCP APIs
    Enable GCP APIs

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

Чтобы добавить источник данных Google Cloud Monitoring:

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

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

Настройка источника данных в интерфейсе

Ниже приведены параметры настройки источника данных Google Cloud Monitoring.

Настройка Описание
Name Задаёт имя, которое вы используете для ссылок на источник данных в панелях и запросах.
Default Определяет, будет ли источник данных выбран по умолчанию для новых панелей.
Universe Domain Домен universe для подключения. Дополнительные сведения см. в документации по доменам universe Google Cloud. Значение по умолчанию — googleapis.com.

Аутентификация

Настройте, как Grafana проходит аутентификацию в Google Cloud.

Настройка Описание
Authentication type Выберите способ аутентификации: Google JWT File — чтобы использовать файл ключа сервисного аккаунта, GCE Default Service Account — если Grafana работает на виртуальной машине GCE, Forward OAuth Identity — чтобы аутентифицироваться как пользователь Grafana, вошедший через Google, или Workload Identity Federation (только Grafana Cloud) — чтобы аутентифицироваться через внешний провайдер идентификации OIDC. Сравнение способов см. в разделе Поддерживаемые способы аутентификации.

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

Эти настройки появляются, когда в качестве способа аутентификации выбран Google JWT File.

Настройка Описание
JWT token Загрузите или вставьте свой токен Google JWT. Вы можете перетащить файл ключа .json, нажать Click to browse files для загрузки или использовать Paste JWT Token либо Fill In JWT Token manually.

Настройка Forward OAuth Identity

Эти настройки появляются, когда в качестве способа аутентификации выбран Forward OAuth Identity.

Настройка Описание
Default project Введите идентификатор проекта GCP для запросов. Это поле обязательно, поскольку OAuth-токен пользователя не содержит контекста проекта. У вошедшего пользователя должна быть роль Monitoring Viewer в этом проекте.

Аутентификация Google в Grafana должна запрашивать следующие области действия, чтобы переданный токен мог читать данные Cloud Monitoring. Укажите полный список в разделе [auth.google] файла grafana.ini или custom.ini, либо в поле Scopes в интерфейсе настроек SSO:

ini
[auth.google]
scopes = openid email profile https://www.googleapis.com/auth/monitoring.read
  • openid, email, profile: стандартные области действия для входа в Grafana. Необходимы для входа пользователя.
  • https://www.googleapis.com/auth/monitoring.read: необходима, чтобы переданный токен мог вызывать Cloud Monitoring API.

После изменения областей действия каждый пользователь должен выйти из системы, отозвать существующее разрешение на странице https://myaccount.google.com/permissions и войти снова. Google повторно использует предыдущее согласие, пока разрешение не отозвано, поэтому существующие сессии продолжают работать с токенами, выданными для старого набора областей действия.

Настройка Workload Identity Federation

Доступно только в Grafana Cloud.

Эти настройки появляются, когда в качестве способа аутентификации выбран Workload Identity Federation. Этот способ позволяет выполнять каждый запрос от имени вошедшего пользователя, аутентифицируясь через внешний провайдер идентификации OIDC, например Okta, вместо ключа сервисного аккаунта. Его настройка охватывает Google Cloud, ваш стек Grafana Cloud и сам источник данных. Полная процедура описана в разделе Использование Workload Identity Federation.

Настройка Описание
Workload Identity Pool Provider Введите полный путь ресурса вашего провайдера в формате projects/<project-number>/locations/global/workloadIdentityPools/<pool-id>/providers/<provider-id>. Используйте номер проекта, а не его идентификатор.
Service account email (Необязательно) Введите сервисный аккаунт для имперсонации. Оставьте поле пустым, если вы предоставили роль Monitoring Viewer непосредственно участнику пула Workload Identity.
Default project Введите идентификатор проекта GCP, в котором выполняются ваши запросы к Cloud Monitoring.

Note

Учётные данные Workload Identity Federation привязаны к сессии вошедшего пользователя, поэтому функции, работающие без участия пользователя, не работают. К ним относятся оповещения, запланированные отчёты и публичные дашборды. Если вы полагаетесь на эти функции, используйте вместо этого ключ сервисного аккаунта (Google JWT File).

Настройка имперсонации сервисного аккаунта

Используйте имперсонацию сервисного аккаунта, чтобы Grafana аутентифицировалась как другой сервисный аккаунт, а не тот, что указан в JWT-токене.

Настройка Описание
Enable Переключатель для включения имперсонации сервисного аккаунта.
Service account to impersonate Введите адрес электронной почты сервисного аккаунта, от имени которого нужно выполнять запросы к Google Cloud.

Private data source connect

Доступно только в Grafana Cloud.

Используйте private data source connect (PDC), чтобы подключаться к данным в защищённой сети и запрашивать их, не открывая эту сеть для входящего трафика из Grafana Cloud. Подробнее о работе PDC см. в разделе Private data source connect. Шаги по настройке подключения PDC описаны в разделе Настройка Grafana private data source connect (PDC).

Настройка Описание
Private data source connect Выберите подключение PDC в раскрывающемся меню или создайте новое подключение.

Сохранение и проверка

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

Successfully queried the Google Cloud Monitoring API.

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

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

Примеры провижининга

С использованием способа аутентификации JWT (файл ключа сервисного аккаунта):

YAML
apiVersion: 1

datasources:
  - name: Google Cloud Monitoring
    type: stackdriver
    access: proxy
    jsonData:
      tokenUri: https://oauth2.googleapis.com/token
      clientEmail: stackdriver@myproject.iam.gserviceaccount.com
      authenticationType: jwt
      defaultProject: my-project-name
      universeDomain: googleapis.com
    secureJsonData:
      privateKey: |
        -----BEGIN PRIVATE KEY-----
        POSEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCb1u1Srw8ICYHS
        ...
        yA+23427282348234=
        -----END PRIVATE KEY-----

С использованием способа аутентификации JWT (путь к приватному ключу сервисного аккаунта):

YAML
apiVersion: 1

datasources:
  - name: Google Cloud Monitoring
    type: stackdriver
    access: proxy
    jsonData:
      tokenUri: https://oauth2.googleapis.com/token
      clientEmail: stackdriver@myproject.iam.gserviceaccount.com
      authenticationType: jwt
      defaultProject: my-project-name
      universeDomain: googleapis.com
      privateKeyPath: /etc/secrets/gce.pem

С использованием аутентификации GCE Default Service Account:

YAML
apiVersion: 1

datasources:
  - name: Google Cloud Monitoring
    type: stackdriver
    access: proxy
    jsonData:
      authenticationType: gce
      universeDomain: googleapis.com

Провижининг источника данных с помощью Terraform

Вы можете провижинить источник данных Google Cloud Monitoring с помощью Terraform и провайдера Grafana для Terraform.

Дополнительные сведения о провижининге ресурсов с помощью Terraform см. в документации Grafana as code с использованием Terraform.

Предварительные требования для 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-managed Grafana
# provider "grafana" {
#   url  = "http://localhost:3000"
#   auth = "<API_KEY_OR_SERVICE_ACCOUNT_TOKEN>"
# }

Примеры Terraform

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

С использованием способа аутентификации JWT (файл ключа сервисного аккаунта):

hcl
resource "grafana_data_source" "google_cloud_monitoring" {
  type = "stackdriver"
  name = "Google Cloud Monitoring"

  json_data_encoded = jsonencode({
    tokenUri           = "https://oauth2.googleapis.com/token"
    clientEmail        = "<SERVICE_ACCOUNT_EMAIL>"
    authenticationType = "jwt"
    defaultProject     = "<GCP_PROJECT_ID>"
    universeDomain     = "googleapis.com"
  })

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

С использованием способа аутентификации JWT (путь к приватному ключу сервисного аккаунта):

hcl
resource "grafana_data_source" "google_cloud_monitoring" {
  type = "stackdriver"
  name = "Google Cloud Monitoring"

  json_data_encoded = jsonencode({
    tokenUri           = "https://oauth2.googleapis.com/token"
    clientEmail        = "<SERVICE_ACCOUNT_EMAIL>"
    authenticationType = "jwt"
    defaultProject     = "<GCP_PROJECT_ID>"
    universeDomain     = "googleapis.com"
    privateKeyPath     = "/etc/secrets/gce.pem"
  })
}

С использованием аутентификации GCE Default Service Account:

hcl
resource "grafana_data_source" "google_cloud_monitoring" {
  type = "stackdriver"
  name = "Google Cloud Monitoring"

  json_data_encoded = jsonencode({
    authenticationType = "gce"
    universeDomain     = "googleapis.com"
  })
}

Все доступные параметры настройки описаны в документации по ресурсу источника данных провайдера Grafana.

Дальнейшие шаги

После настройки источника данных Google Cloud Monitoring вы можете: