Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Практические руководства
    • Все руководства
    • Разграничение прав доступа для групп пользователей
    • Создание L7-балансировщика с профилем безопасности Smart Web Security через Ingress-контроллер Application Load Balancer
    • Централизованная публикация в интернете и защита приложений от DDoS
    • Передача логов с виртуальной машины в Cloud Logging
    • Запись логов балансировщика в PostgreSQL
    • Безопасное хранение паролей для GitLab CI в виде секретов Yandex Lockbox
    • Сервисный аккаунт с профилем OS Login для управления ВМ с помощью Ansible
    • Передача логов с Container Optimized Image в Cloud Logging
    • Добавление HTML-страницы для работы SmartCaptcha
    • Создание L7-балансировщика с профилем безопасности
    • Настройка алертов в Monitoring
    • Загрузка аудитных логов в MaxPatrol SIEM
    • Загрузка аудитных логов в SIEM Splunk
    • Загрузка аудитных логов в SIEM ArcSight
    • Шифрование для бакета Object Storage на стороне сервера
    • Шифрование секретов в HashiCorp Terraform
    • Управление ключами KMS с HashiCorp Terraform
    • Auto Unseal в HashiCorp Vault
    • Передача логов кластера Managed Service for Greenplum® в Yandex Cloud Logging

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

  • Перед началом работы
  • Передача данных в лог-группу по умолчанию
  • Передача данных в пользовательскую лог-группу
  1. Безопасность
  2. Передача логов кластера Managed Service for Greenplum® в Yandex Cloud Logging

Передача логов кластера Managed Service for Greenplum® в Yandex Cloud Logging

Статья создана
Yandex Cloud
Обновлена 15 мая 2025 г.
  • Перед началом работы
  • Передача данных в лог-группу по умолчанию
  • Передача данных в пользовательскую лог-группу

Вы можете настроить регулярный сбор логов о работе кластера Managed Service for Greenplum®. Логи поставляются в лог-группу в сервисе Cloud Logging. Можно выбрать лог-группу одного из двух типов:

  • лог-группа, которая используется по умолчанию в каталоге кластера;
  • пользовательская лог-группа.

Перед началом работыПеред началом работы

Создайте сервисный аккаунт c ролью logging.writer.

Передача данных в лог-группу по умолчаниюПередача данных в лог-группу по умолчанию

  1. Создайте кластер Managed Service for Greenplum® с включенными настройками логирования и созданным ранее сервисным аккаунтом:

    CLI
    Terraform
    API
    yc managed-greenplum cluster create <имя_кластера> \
       --greenplum-version=6.25 \
       --environment=PRODUCTION \
       --network-name=<имя_сети_кластера> \
       --user-name=<имя_пользователя_кластера> \
       --user-password=<пароль_пользователя_кластера> \
       --master-config resource-id=s3-c8-m32,`
                      `disk-size=10,`
                      `disk-type=network-hdd \
       --segment-config resource-id=s3-c8-m32,`
                      `disk-size=93,`
                      `disk-type=network-ssd-nonreplicated \
       --zone-id=<идентификатор_зоны_доступности> \
       --subnet-id=<идентификатор_подсети_кластера> \
       --assign-public-ip=true \
       --security-group-ids=<идентификаторы_групп_безопасности_кластера> \
       --service-account <идентификатор_сервисного_аккаунта_кластера> \
       --log-enabled \
       --log-greenplum-enabled \
       --log-command-center-enabled \
       --log-folder-id <идентификатор_каталога>
    

    Где:

    • --service_account_id — идентификатор созданного ранее сервисного аккаунта.

    • --log-greenplum-enabled — передача логов Greenplum®.

      Вы можете задать уровень логирования Greenplum® в параметре Log min messages. Подробнее о дополнительных настройках Greenplum®.

    • --log-command-center-enabled — передача логов Yandex Command Center.

      Логи Command Center передаются полностью, изменить уровень логирования нельзя.

    • --log-folder-id — идентификатор каталога, в котором создан кластер Managed Service for Greenplum®.

    1. Если у вас еще нет Terraform, установите его.

    2. Получите данные для аутентификации. Вы можете добавить их в переменные окружения или указать далее в файле с настройками провайдера.

    3. Настройте и инициализируйте провайдер. Чтобы не создавать конфигурационный файл с настройками провайдера вручную, скачайте его.

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

    5. В конфигурационном файле с описанием кластера укажите следующие параметры:

      resource "yandex_mdb_greenplum_cluster" "gp-cluster" {
        name               = "<имя_кластера>"
        environment        = "PRODUCTION"
        network_id         = "<идентификатор_сети>"
        zone               = "<идентификатор_зоны_доступности>"
        subnet_id          = "<идентификатор_подсети_кластера>"
        assign_public_ip   = true
        version            = "6.25"
        master_host_count  = 2
        segment_host_count = 2
        segment_in_host    = 2
        service_account_id = "<идентификатор_сервисного_аккаунта>"
      
        master_subcluster {
          resources {
            resource_preset_id = "s3-c8-m32" # 8 vCPU, 32 GB RAM
            disk_size          = 10          # GB
            disk_type_id       = "network-hdd"
          }
        }
      
        segment_subcluster {
          resources {
            resource_preset_id = "s3-c8-m32" # 8 vCPU, 32 GB RAM
            disk_size          = 93          # GB
            disk_type_id       = "network-ssd-nonreplicated"
          }
        }
      
        user_name          = "<имя_пользователя_кластера>"
        user_password      = "<пароль_пользователя_кластера>"
        security_group_ids = ["<идентификаторы_групп_безопасности_кластера>"]
      
        logging {
          enabled = true
          greenplum_enabled  = true
          command_center_enabled = true
          folder_id = <идентификатор_каталога>
        }
      }
      

      Где:

      • service_account_id — идентификатор созданного ранее сервисного аккаунта.

      • greenplum-enabled — передача логов Greenplum®.

        Вы можете задать уровень логирования Greenplum® в параметре Log min messages. Подробнее о дополнительных настройках Greenplum®.

      • command-center-enabled — передача логов Yandex Command Center.

        Логи Command Center передаются полностью, изменить уровень логирования нельзя.

      • folder-id — идентификатор каталога, лог-группу которого нужно использовать.

    6. Проверьте корректность файлов конфигурации Terraform с помощью команды:

      terraform validate
      

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

    7. Создайте необходимую инфраструктуру:

      1. Выполните команду для просмотра планируемых изменений:

        terraform plan
        

        Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

      2. Если вас устраивают планируемые изменения, внесите их:

        1. Выполните команду:

          terraform apply
          
        2. Подтвердите изменение ресурсов.

        3. Дождитесь завершения операции.

    В теле запроса на создание кластера (Cluster.Create в REST API или ClusterService.Create в gRPC API) укажите следующие параметры:

    {
      ...
      "serviceAccountId": "<идентификатор_сервисного_аккаунта>",
      "logging": {
        "enabled": "true",          
        "greenplumEnabled": "true",
        "commandCenterEnabled": "true",
        "folderId": "<идентификатор_каталога>"
      }
      ...
    }
    

    Где:

    • serviceAccountId — идентификатор созданного ранее сервисного аккаунта.

    • greenplumEnabled — передача логов Greenplum®.

      Вы можете задать уровень логирования Greenplum® в параметре Log min messages. Подробнее о дополнительных настройках Greenplum®.

    • commandCenterEnabled — передача логов Yandex Command Center.

      Логи Command Center передаются полностью, изменить уровень логирования нельзя.

    • folderId — идентификатор каталога, лог-группу которого нужно использовать.

  2. Проверьте передачу логов кластера в лог-группу:

    Консоль управления
    CLI
    API
    1. В консоли управления перейдите в нужный каталог.
    2. Выберите сервис Cloud Logging.
    3. Нажмите на строку с лог-группой default.

    На открывшейся странице отобразятся записи.

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

    yc logging read --group-name=default --format=json
    

    Результат:

    [
      {
        "uid": "22:********:15",
        "resource": {
          "type": "mdb.greenplum.cluster",
          "id": "c9qao2tkhbdt********"
        },
        "timestamp": "2025-04-25T07:50:21.871157Z",
        "ingested_at": "2025-04-25T07:50:24.553Z",
        "saved_at": "2025-04-25T07:50:26.125189Z",
        "level": "INFO",
        "message": "2025-04-25 10:50:20.209664 MSK,\"monitor\",\"postgres\",p29034,th1258748352,\"localhost\",\"47384\",2025-04-25 07:38:20 MSK,0,con40,cmd20190,seg-1,,,,sx1,\"LOG\",\"00000\",\"statement: \n\t\treset log_min_messages\n\t\",,,,,,,0,,\"postgres.c\",1664,",
        "json_payload": {
          "cid": "c9qao2tkhbdt********",
          "gp_host_type": "master",
          "gp_preferred_role": "primary",
          "hostname": "rc1d-jds7okr4********.mdb.yandexcloud.net",
          "segment_id": "-1",
          "username": "monitor"
        },
        "stream_name": "greenplum-logs-master-primary"
      }
    ]
    

    Чтобы посмотреть записи в лог-группе, воспользуйтесь вызовом REST API Cluster.ListLogs или gRPC API LogReadingService/Read.

    Подробнее см. в разделе Чтение записей.

Передача данных в пользовательскую лог-группуПередача данных в пользовательскую лог-группу

  1. Создайте лог-группу greenplum-log-group.

  2. Создайте кластер Managed Service for Greenplum® с включенными настройками логирования и созданным ранее сервисным аккаунтом:

    CLI
    Terraform
    API
    yc managed-greenplum cluster create <имя_кластера> \
       --greenplum-version=6.25 \
       --environment=PRODUCTION \
       --network-name=<имя_сети_кластера> \
       --user-name=<имя_пользователя_кластера> \
       --user-password=<пароль_пользователя_кластера> \
       --master-config resource-id=s3-c8-m32,`
                      `disk-size=10,`
                      `disk-type=network-hdd \
       --segment-config resource-id=s3-c8-m32,`
                      `disk-size=93,`
                      `disk-type=network-ssd-nonreplicated \
       --zone-id=<идентификатор_зоны_доступности> \
       --subnet-id=<идентификатор_подсети_кластера> \
       --assign-public-ip=true \
       --security-group-ids=<идентификаторы_групп_безопасности_кластера> \
       --service-account <идентификатор_сервисного_аккаунта_кластера> \
       --log-enabled \
       --log-greenplum-enabled \
       --log-command-center-enabled \
       --log-folder-id <идентификатор_каталога>
       --log-group-id <идентификатор_лог-группы>
    

    Где:

    • --service_account_id — идентификатор созданного ранее сервисного аккаунта.

    • --log-greenplum-enabled — передача логов Greenplum®.

      Вы можете задать уровень логирования Greenplum® в параметре Log min messages. Подробнее о дополнительных настройках Greenplum®.

    • --log-command-center-enabled — передача логов Yandex Command Center.

      Логи Command Center передаются полностью, изменить уровень логирования нельзя.

    • --log-group-id — идентификатор лог-группы, в которую будут записываться логи.

    1. Если у вас еще нет Terraform, установите его.

    2. Получите данные для аутентификации. Вы можете добавить их в переменные окружения или указать далее в файле с настройками провайдера.

    3. Настройте и инициализируйте провайдер. Чтобы не создавать конфигурационный файл с настройками провайдера вручную, скачайте его.

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

    5. В конфигурационном файле с описанием кластера укажите следующие параметры:

      resource "yandex_mdb_greenplum_cluster" "gp-cluster" {
        name               = "<имя_кластера>"
        environment        = "PRODUCTION"
        network_id         = "<идентификатор_сети>"
        zone               = "<идентификатор_зоны_доступности>"
        subnet_id          = "<идентификатор_подсети_кластера>"
        assign_public_ip   = true
        version            = "6.25"
        master_host_count  = 2
        segment_host_count = 2
        segment_in_host    = 2
        service_account_id = "<идентификатор_сервисного_аккаунта>"
      
        master_subcluster {
          resources {
            resource_preset_id = "s3-c8-m32" # 8 vCPU, 32 GB RAM
            disk_size          = 10          # GB
            disk_type_id       = "network-hdd"
          }
        }
      
        segment_subcluster {
          resources {
            resource_preset_id = "s3-c8-m32" # 8 vCPU, 32 GB RAM
            disk_size          = 93          # GB
            disk_type_id       = "network-ssd-nonreplicated"
          }
        }
      
        user_name          = "<имя_пользователя_кластера>"
        user_password      = "<пароль_пользователя_кластера>"
        security_group_ids = ["<идентификаторы_групп_безопасности_кластера>"]
      
        logging {
          enabled = true
          greenplum_enabled  = true
          command_center_enabled = true
          log_group_id = <идентификатор_лог-группы>
        }
      }
      

      Где:

      • service_account_id — идентификатор созданного ранее сервисного аккаунта.

      • greenplum-enabled — передача логов Greenplum®.

        Вы можете задать уровень логирования Greenplum® в параметре Log min messages. Подробнее о дополнительных настройках Greenplum®.

      • command-center-enabled — передача логов Yandex Command Center.

        Логи Command Center передаются полностью, изменить уровень логирования нельзя.

      • log_group_id — идентификатор лог-группы, в которую будут записываться логи.

    6. Проверьте корректность файлов конфигурации Terraform с помощью команды:

      terraform validate
      

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

    7. Создайте необходимую инфраструктуру:

      1. Выполните команду для просмотра планируемых изменений:

        terraform plan
        

        Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

      2. Если вас устраивают планируемые изменения, внесите их:

        1. Выполните команду:

          terraform apply
          
        2. Подтвердите изменение ресурсов.

        3. Дождитесь завершения операции.

    В теле запроса на создание кластера (Cluster.Create в REST API или ClusterService.Create в gRPC API) укажите следующие параметры:

    {
      ...
      "serviceAccountId": "<идентификатор_сервисного_аккаунта>",
      "logging": {
        "enabled": "true",          
        "greenplumEnabled": "true",
        "commandCenterEnabled": "true",          
        "logGroupId": "<идентификатор_лог-группы>"
      }
      ...
    }
    

    Где:

    • serviceAccountId — идентификатор созданного ранее сервисного аккаунта.

    • greenplumEnabled — передача логов Greenplum®.

      Вы можете задать уровень логирования Greenplum® в параметре Log min messages. Подробнее о дополнительных настройках Greenplum®.

    • commandCenterEnabled — передача логов Yandex Command Center.

      Логи Command Center передаются полностью, изменить уровень логирования нельзя.

    • logGroupId — идентификатор лог-группы.

  3. Проверьте передачу логов кластера в лог-группу:

    Консоль управления
    CLI
    API
    1. В консоли управления перейдите в нужный каталог.
    2. Выберите сервис Cloud Logging.
    3. Нажмите на строку с лог-группой greenplum-log-group.

    На открывшейся странице отобразятся записи.

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

    yc logging read --group-name=greenplum-log-group --format=json
    

    Результат:

    [
      {
        "uid": "22:********:15",
        "resource": {
          "type": "mdb.greenplum.cluster",
          "id": "c9qao2tkhbdt********"
        },
        "timestamp": "2025-04-25T07:50:21.871157Z",
        "ingested_at": "2025-04-25T07:50:24.553Z",
        "saved_at": "2025-04-25T07:50:26.125189Z",
        "level": "INFO",
        "message": "2025-04-25 10:50:20.209664 MSK,\"monitor\",\"postgres\",p29034,th1258748352,\"localhost\",\"47384\",2025-04-25 07:38:20 MSK,0,con40,cmd20190,seg-1,,,,sx1,\"LOG\",\"00000\",\"statement: \n\t\treset log_min_messages\n\t\",,,,,,,0,,\"postgres.c\",1664,",
        "json_payload": {
          "cid": "c9qao2tkhbdt********",
          "gp_host_type": "master",
          "gp_preferred_role": "primary",
          "hostname": "rc1d-jds7okr4********.mdb.yandexcloud.net",
          "segment_id": "-1",
          "username": "monitor"
        },
        "stream_name": "greenplum-logs-master-primary"
      }
    ]
    

    Чтобы посмотреть записи в лог-группе, воспользуйтесь вызовом REST API Cluster.ListLogs или gRPC API LogReadingService/Read.

    Подробнее см. в разделе Чтение записей.

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

Предыдущая
Kubernetes
Следующая
Все руководства
Проект Яндекса
© 2025 ООО «Яндекс.Облако»