Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Практические руководства
    • Все руководства
    • Сокращатель ссылок
    • Ввод данных в системы хранения
    • Хранение журналов работы приложения
    • Развертывание веб-приложения с использованием Java Servlet API
    • Разработка Slack-бота
    • Разработка Telegram-бота
    • Разработка пользовательской интеграции в API Gateway
    • Разработка CRUD API для сервиса фильмов
    • Построение пайплайна CI/CD в GitLab
    • Работа с API-шлюзом по протоколу WebSocket
    • Создание интерактивного serverless-приложения с использованием WebSocket
    • Автоматическое копирование объектов из одного бакета Object Storage в другой
    • Визуализация логов в Grafana с помощью плагина Cloud Logging
    • Канареечный релиз функции Cloud Functions
    • Интерактивная отладка функций Cloud Functions
    • Создание функции Node.js с помощью TypeScript
    • Запуск контейнерного приложения в Serverless Containers
    • Передача событий Yandex Cloud Postbox в Data Streams и их анализ с помощью DataLens
    • Использование API Gateway для настройки синтеза речи в SpeechKit
    • Подключение к YDB из функции Cloud Functions на Python
    • Подключение к базе данных YDB из функции Cloud Functions на Node.js
    • Защита API Gateway при помощи Smart Web Security
    • Развертывание веб-приложения с JWT-авторизацией в API Gateway и аутентификацией в Firebase
    • Автоматическая загрузка данных в Yandex SpeechSense с помощью Yandex Workflows
    • Настройка реагирования в Cloud Logging и Yandex Cloud Functions
    • Настройка интеграций Workflows с Tracker, YandexGPT и Yandex Cloud Postbox
    • Разработка функций в Functions Framework и их развертывание в Yandex Serverless Containers

В этой статье:

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Установите плагин
  • Создайте сервисный аккаунт
  • Создайте авторизованный ключ для сервисного аккаунта
  • Создайте лог-группу
  • Добавьте записи в лог-группу
  • Подключите источник данных в Grafana
  • Посмотрите логи в Grafana
  • Как удалить созданные ресурсы
  1. Бессерверные технологии
  2. Визуализация логов в Grafana с помощью плагина Cloud Logging

Визуализация логов в Grafana с помощью плагина Yandex Cloud Logging

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 21 апреля 2025 г.
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Установите плагин
  • Создайте сервисный аккаунт
  • Создайте авторизованный ключ для сервисного аккаунта
  • Создайте лог-группу
  • Добавьте записи в лог-группу
  • Подключите источник данных в Grafana
  • Посмотрите логи в Grafana
  • Как удалить созданные ресурсы

Плагин Yandex Cloud Logging для Grafana — расширение для Grafana, с помощью которого можно добавить Cloud Logging в качестве источника данных.

Чтобы визуализировать логи:

  1. Установите плагин.
  2. Создайте сервисный аккаунт.
  3. Создайте авторизованный ключ для сервисного аккаунта.
  4. Создайте лог-группу.
  5. Добавьте записи в лог-группу.
  6. Подключите источник данных в Grafana.
  7. Посмотрите логи в Grafana.

Если созданные ресурсы вам больше не нужны, удалите их.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

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

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость ресурсов входит плата за запись и хранение логов в лог-группе (см. тарифы Yandex Cloud Logging).

Установите плагинУстановите плагин

  1. Скачайте архив с последней версией плагина.

  2. Распакуйте архив в папку с плагинами. Расположение папки с плагинами указывается в конфигурации Grafana.

    unzip <путь_к_архиву> -d <путь_к_папке_с_плагинами>
    

    Примечание

    Если вы используете macOS, после распаковки плагина вручную запустите файл /opt/homebrew/var/lib/grafana/plugins/yandexcloud-logging-datasource/yc-logs-plugin_darwin_arm64 и в системных настройках разрешите запуск приложений от сторонних разработчиков.

  3. Разрешите загрузку плагина без подписи. Для этого в конфигурационном файле Grafana укажите название плагина в параметре allow_loading_unsigned_plugins:

    allow_loading_unsigned_plugins = yandexcloud-logging-datasource
    

    Подробнее о загрузке плагинов без подписи см. в документации Grafana.

  4. Перезапустите сервер Grafana:

    Linux
    Windows
    macOS
    sudo systemctl restart grafana-server
    
    1. Нажмите сочетание клавиш Win+R.
    2. В открывшемся окне введите services.msc и нажмите кнопку ОК.
    3. Нажмите правой кнопкой мыши строку со службой Grafana и выберите Перезапустить.
    brew services restart grafana
    

Создайте сервисный аккаунтСоздайте сервисный аккаунт

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог, в котором хотите создать сервисный аккаунт.
  2. В списке сервисов выберите Identity and Access Management.
  3. Нажмите кнопку Создать сервисный аккаунт.
  4. Введите имя сервисного аккаунта: grafana-plugin.
  5. Нажмите Добавить роль и выберите роль logging.reader.
  6. Нажмите кнопку Создать.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Создайте сервисный аккаунт grafana-plugin:

    yc iam service-account create --name grafana-plugin
    

    Результат:

    id: nfersamh4s**********
    folder_id: b1gc1t4cb6**********
    created_at: "2023-09-26T10:36:29.726397755Z"
    name: grafana-plugin
    

    Сохраните идентификатор сервисного аккаунта grafana-plugin (id) и каталога, в котором его создали (folder_id).

  2. Назначьте сервисному аккаунту роль logging.reader на каталог:

    yc resource-manager folder add-access-binding <идентификатор_каталога> \
      --role logging.reader \
      --subject serviceAccount:<идентификатор_сервисного_аккаунта>
    

    Результат:

    done (1s)
    

Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

  1. Опишите в конфигурационном файле параметры сервисного аккаунта:

    resource "yandex_iam_service_account" "grafana-plugin" {
      name        = "grafana-plugin"
      folder_id   = "<идентификатор_каталога>"
    }
    
    resource "yandex_resourcemanager_folder_iam_member" "reader" {
      folder_id = "<идентификатор_каталога>"
      role      = "logging.reader"
      member    = "serviceAccount:${yandex_iam_service_account.grafana-plugin id}"
    }
    

    Где:

    • name — имя сервисного аккаунта. Обязательный параметр.
    • folder_id — идентификатор каталога. Необязательный параметр. По умолчанию будет использовано значение, указанное в настройках провайдера.
    • role — назначаемая роль.

    Более подробную информацию о параметрах ресурса yandex_iam_service_account в Terraform, см. в документации провайдера.

  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

    2. Выполните проверку с помощью команды:

      terraform plan
      

    Если конфигурация описана верно, в терминале отобразится информация о сервисном аккаунте. Если в конфигурации есть ошибки, Terraform на них укажет.

  3. Разверните облачные ресурсы.

  4. Если в конфигурации нет ошибок, выполните команду:

    terraform apply
    
  5. Подтвердите создание сервисного аккаунта: введите в терминал слово yes и нажмите Enter.

    После этого будет создан сервисный аккаунт. Проверить появление сервисного аккаунта можно в консоли управления или с помощью команды CLI:

    yc iam service-account list
    

Чтобы создать сервисный аккаунт, воспользуйтесь методом create для ресурса ServiceAccount или вызовом gRPC API ServiceAccountService/Create.

Чтобы назначить сервисному аккаунту роль logging.reader на каталог, воспользуйтесь методом setAccessBindings для ресурса ServiceAccount или вызовом gRPC API ServiceAccountService/SetAccessBindings.

Создайте авторизованный ключ для сервисного аккаунтаСоздайте авторизованный ключ для сервисного аккаунта

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог, которому принадлежит сервисный аккаунт.
  2. В списке сервисов выберите Identity and Access Management.
  3. На панели слева выберите Сервисные аккаунты.
  4. В открывшемся списке выберите сервисный аккаунт grafana-plugin.
  5. Нажмите кнопку Создать новый ключ на верхней панели.
  6. Выберите пункт Создать авторизованный ключ.
  7. Выберите алгоритм шифрования.
  8. Задайте описание ключа, чтобы потом было проще найти его в консоли управления.
  9. Нажмите кнопку Создать.
  10. В открывшемся окне нажмите кнопку Скачать файл с ключами.
  11. Нажмите кнопку Закрыть.

Создайте авторизованные ключи для сервисного аккаунта grafana-plugin:

yc iam key create --service-account-name grafana-plugin -o authorized_key.json

В случае успеха в файл authorized_key.json будет записан закрытый ключ (privateKey) и идентификатор открытого ключа (id).

Пример файла с ключом:

{
   "id": "lfkoe35hsk**********",
   "service_account_id": "ajepg0mjt0**********",
   "created_at": "2023-10-10T10:04:56Z",
   "key_algorithm": "RSA_2048",
   "public_key": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----\n",
   "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
}
  1. Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:

    • service_account_id — идентификатор сервисного аккаунта. Обязательный параметр.
    • description — описание ключа. Необязательный параметр.
    • key_algorithm — алгоритм генерации ключа. Необязательный параметр. По умолчанию используется алгоритм RSA_2048. Допустимые значения параметра см. в документации API.

    Пример структуры конфигурационного файла:

    resource "yandex_iam_service_account_key" "sa-auth-key" {
      service_account_id = "<идентификатор_сервисного_аккаунта>"
      description        = "<описание_ключа>"
      key_algorithm      = "<алгоритм_генерации_ключа>"
    }
    

    Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.

  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

    2. Выполните проверку с помощью команды:

      terraform plan
      

    Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.

  3. Разверните облачные ресурсы.

    1. Если в конфигурации нет ошибок, выполните команду:

      terraform apply
      
    2. Подтвердите создание ресурсов: введите в терминал слово yes и нажмите Enter.

      После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления, а также с помощью команды CLI:

      yc iam key list --service-account-id <идентификатор_сервисного_аккаунта>
      

Чтобы создать ключ доступа, воспользуйтесь методом REST API create для ресурса Key или вызовом gRPC API KeyService/Create.

Пример запроса с помощью cURL для метода REST API create:

curl --request POST \
  --header 'Content-Type: application/json' \
  --header "Authorization: Bearer <IAM-токен>" \
  --data '{"serviceAccountId": "<идентификатор_сервисного_аккаунта>"}' \
  https://iam.api.cloud.yandex.net/iam/v1/keys

Где:

  • <IAM-токен> — IAM-токен пользователя, у которого есть права на создание ключей для указанного сервисного аккаунта.
  • <идентификатор_сервисного_аккаунта> — идентификатор сервисного аккаунта, для которого создаются ключи.

В случае успеха в ответе сервера будет указан закрытый ключ (privateKey) и идентификатор открытого ключа (id). Сохраните эти данные. Получить значение ключа снова будет невозможно.

Пример ответа сервера:

{
    "key": {
        "createdAt": "2023-10-10T10:55:00+00:00",
        "description": "",
        "id": "lfkoe35hsk**********",
        "keyAlgorithm": "RSA_2048",
        "publicKey": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----\n",
        "serviceAccountId": "ajepg0mjt0**********"
    },
    "privateKey": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
}

Создайте лог-группуСоздайте лог-группу

Консоль управления
CLI
Terraform
API
  1. В консоли управления перейдите в каталог, в котором создали сервисный аккаунт grafana-plugin.
  2. Выберите сервис Cloud Logging.
  3. Нажмите кнопку Создать группу.
  4. Введите имя лог-группы: grafana-plugin.
  5. Укажите срок хранения записей в лог-группе.
  6. Нажмите кнопку Создать группу.

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

yc logging group create \
  --name=grafana-plugin \
  --retention-period=<срок_хранения> \

Где:

  • --name — имя лог-группы.
  • --retention-period — срок хранения записей в лог-группе.

Результат:

done (1s)
id: af3flf29t8**********
folder_id: aoek6qrs8t**********
cloud_id: aoegtvhtp8**********
created_at: "2023-09-26T09:56:38.970Z"
name: grafana-plugin
status: ACTIVE
retention_period: 3600s
  1. Опишите в конфигурационном файле параметры лог-группы:

    provider "yandex" {
      token     = "<OAuth-токен>"
      cloud_id  = "<идентификатор_облака>"
      folder_id = "<идентификатор_каталога>"
      zone      = "ru-central1-a"
    }
    
    resource "yandex_logging_group" "grafana-plugin" {
      name             = "grafana-plugin"
      folder_id        = "<идентификатор_каталога>"
      retention_period = "1h"
    }
    

    Где:

    • name — имя лог-группы.
    • folder_id — идентификатор каталога.
    • retention_period — срок хранения записей в лог-группе.

    Более подробную информацию о параметрах ресурса yandex_logging_group в Terraform, см. в документации провайдера.

  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

    2. Выполните проверку с помощью команды:

      terraform plan
      

    Если конфигурация описана верно, в терминале отобразится список создаваемых ресурсов и их параметров. Если в конфигурации есть ошибки, Terraform на них укажет.

  3. Разверните облачные ресурсы.

  4. Если в конфигурации нет ошибок, выполните команду:

    terraform apply
    
  5. Подтвердите создание ресурсов: введите в терминал слово yes и нажмите Enter.

    После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления или с помощью команды CLI:

    yc logging group list
    

Чтобы создать лог-группу, воспользуйтесь методом REST API create для ресурса LogGroup или вызовом gRPC API LogGroupService/Create.

Добавьте записи в лог-группуДобавьте записи в лог-группу

CLI
API

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

  • Linux, macOS:

    yc logging write \
      --group-name=grafana-plugin \
      --message="My message" \
      --level=INFO
    
  • Windows (cmd):

    yc logging write ^
      --group-name=grafana-plugin ^
      --message="My message" ^
      --level=INFO
    
  • Windows (PowerShell):

    yc logging write `
      --group-name=grafana-plugin `
      --message="My message" `
      --level=INFO
    

    Где:

    • --group-name — имя лог-группы, в которую вы хотите добавить записи.
    • --message — сообщение.
    • --level — уровень логирования.

Примечание

Флаги --group-name и --message можно опустить и указать только значения параметров. Например: grafana-plugin "My message".

Чтобы добавить записи в лог-группу, воспользуйтесь вызовом gRPC API LogIngestionService/Write.

Подключите источник данных в GrafanaПодключите источник данных в Grafana

  1. В браузере перейдите по адресу http://localhost:3000/.

    Примечание

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

  2. На панели слева выберите Connections → Add new connection.

  3. В списке источников выберите Yandex Cloud Logging.

  4. Нажмите кнопку Add new data source.

  5. В блоке Secret config, в поле API Key, вставьте содержимое файла с авторизованными ключами authorized_key.json.

  6. В блоке SDK config, в поле Folder ID, укажите идентификатор каталога, в котором находится лог-группа grafana-plugin.

  7. Нажмите кнопку Save & test.

Посмотрите логи в GrafanaПосмотрите логи в Grafana

  1. В интерфейсе Grafana на панели слева выберите Explore.

  2. В левом верхнем углу выберите из выпадающего списка источник данных Yandex Cloud Logging.

  3. В редакторе запросов для источника:

    1. В поле Group выберите идентификатор лог-группы grafana-plugin.

    2. В поле Filter query введите запрос на языке фильтрующих выражений.

    3. В правом верхнем углу нажмите кнопку Run query.

      В блоке Logs volume отобразится гистограмма с записями из лог-группы.

Как удалить созданные ресурсыКак удалить созданные ресурсы

Чтобы перестать платить за созданные ресурсы, удалите лог-группу.

Была ли статья полезна?

Предыдущая
Автоматическое копирование объектов из одного бакета Object Storage в другой
Следующая
Канареечный релиз функции Cloud Functions
Проект Яндекса
© 2025 ООО «Яндекс.Облако»