VK Private Cloud logo
Помощь
Обновлена 17 июля 2026 г. в 15:55

Cloud logging (BETA)

VK Private Cloud Logging (LaaS) — сервис для работы с журналами событий. Предоставляет сбор, хранение, чтение, отображение и обработку журналов событий в едином интерфейсе в Платформе.

Общие сведения

Cloud logging предназначен для диагностики и оперативного решения ошибок в работе сервисов.

Сервис агрегирует логи узлов и облачных сервисов. Это позволяет:

  • Отслеживать аномальное поведение.
  • Получать сведения, которые могут помочь поддерживать стабильную работу, увеличить доступность и производительность сервисов.

Интеграция с сервисом

Для записи логов используется плагин vkcloudlogs-fluent-bit-plugin.

Функционал плагина — сбор, агрегация, фильтрация и отправка логи из источника данных в сервис Cloud logging.

Чтобы настроить логирование для ВМ:

  1. Установите Fluent Bit, если этого не было сделано ранее.

  2. Установите плагин vkcloudlogs-fluent-bit-plugin.

    CentOS 7.X, CentOS 8.X, AlmaLinux 9
    # sudo rpm -i https://cloudlogging.hb.ru-msk.vkcs.cloud/vkcloudlogs-fluent-bit-plugin/vkcloudlogs-fluent-bit-plugin-0.1.3-1.x86_64.rpm
    Ubuntu 22.X, Astra Linux SE 1.7.2 «Орел»
    # curl -sSLo vkcloudlogs-fluent-bit-plugin_0.1.3_amd64.deb https://cloudlogging.hb.ru-msk.vkcs.cloud/vkcloudlogs-fluent-bit-plugin/vkcloudlogs-fluent-bit-plugin_0.1.3_amd64.deb# sudo dpkg -i vkcloudlogs-fluent-bit-plugin_0.1.3_amd64.deb
    AltLinux Server p10
    # sudo apt-get install https://cloudlogging.hb.ru-msk.vkcs.cloud/vkcloudlogs-fluent-bit-plugin/vkcloudlogs-fluent-bit-plugin-0.1.3-1.x86_64.rpm

    Будет установлен агент сбора логов vkcloudlogs-fluent-bit.service. По умолчанию он отключён.

    Агент vkcloudlogs-fluent-bit.service работает с файлами:

    • /etc/vkcloudlogs-fluent-bit-plugin/vkcloudlogs-fluent-bit.conf — основной файл конфигурации сервиса с описаниями источников и путей назначения для логирования (подробнее — в официальной документации).
    • /etc/vkcloudlogs-fluent-bit-plugin/vkcloudlogs-fluent-bit-plugins.conf — конфигурация подключения плагина.
  3. Настройте плагин для отправки логов в сервис Cloud Logging:

    1. Подготовьте авторизационные данные для вашего проекта:

      • auth_url — точка доступа Keystone.
      • project_id — идентификатор проекта в OpenStack.
      • server_host_port — адрес сервиса Cloud Logging.
      • user_id — имя пользователя, от которого будут записываться логи.
      • password — пароль пользователя.
      • service_id — идентификатор сервиса в системе логирования (по умолчанию default). При необходимости создайте новые идентификаторы в Портале самообслуживания в разделе МониторингЛогированиеНастройкиПрочие ресурсы.
    2. Укажите параметры подключения для плагина в файле vkcloudlogs-fluent-bit.conf.

      [INPUT]   Name            systemd   Systemd_Filter  _SYSTEMD_UNIT=ssh.service   Lowercase       On   Read_From_Tail  On   Tag             system.*[OUTPUT]   Name              vkcloudlogs   Match             system.*   auth_url          <ТОЧКА_ДОСТУПА_KEYSTONE>   project_id        <PID_ПРОЕКТА>   server_host_port  <АДРЕС_СЕРВИСА>   user_id           <ID_ПОЛЬЗОВАТЕЛЯ>   password          <ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ>
  4. Включите агент сбора логов vkcloudlogs-fluent-bit.service:

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

      # sudo systemctl enable vkcloudlogs-fluent-bit.service# sudo systemctl start vkcloudlogs-fluent-bit.service
    2. Подождите несколько минут для сбора данных.

    3. Проверьте наличие логов в Портале самообслуживания в разделе МониторингЛогирование.

Просмотр журналов событий

Чтобы просмотреть журнал событий ВМ, кластеров Kubernetes и СУБД в Портале администратора:

  1. Перейдите в раздел АналитикаЛогирование.
  2. Нажмите кнопку Поиск и фильтры и настройте фильтры отображения журналов логирования.
  3. Нажмите кнопку Найти.

Чтобы уточнить результаты поиска, используйте язык поисковых запросов.

Примеры поисковых выражений:

  • Сообщение содержит строку:

    some messagemessage: "some message"message: "error: \"some message\"
  • Использование времени, уровня логирования и нагрузки (payload):

    level >= debug AND (timestamp <= "2023-04-10T10:20:00Z" OR payload.code = 200)
  • Использование операторов AND, NOT, EXISTS:

    service_id <> databases AND NOT message: hello AND payload.status EXISTS

Диагностика

DBaaS и ВМ

Конфигурационные файлы Cloud Logging на ВМ расположены в директории /etc/cloudlogs/.

Для передачи логов используется сервис Fluent Bit (td-agent-bit) с плагином vkcloudlogs-fluent-bit.service.

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

# sudo systemctl status cloudlogs.service

Основные настройки и учётные данные расположены в файле /etc/cloudlogs/output_cloudlogs.conf. Они передаются через userdata в cloud-init на ВМ при создании инстанса.

Кластеры Kubernetes

Сервисы запущены на ВМ в пространстве имён logaas-integration.

Чтобы посмотреть логи:

# sudo kubectl -n logaas-integration get pods

Сервисы Платформы

Сервисы расположены в пространстве имён coiiot-vkcloud.

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

# sudo kubectl -n coiiot-vkcloud get pods

Для Портала администратора поды reader-api и writer-api продублированы с суффиксом -sa.

У сервисных учётных записей (cloudlogs_…) в Keystone должна быть роль monitoring_agent.

Логи (events) можно посмотреть на узлах хранения пользовательских метрик в Clickhouse.

Настройка глубины хранения логов

Для управления настройками глубины хранения логов в сервисе Cloud Logging используются параметры:

  • SERVICE_MIN_TTL — минимальное время хранения логов в днях. По умолчанию 1 день.
  • SERVICE_MAX_TTL — максимальное время хранения логов в днях. По умолчанию 30 дней.
  • SERVICE_DEFAULT_TTL — время хранения логов для всех проектных сервисов в днях по умолчанию. По умолчанию, 3 дня. Пользователь может выставлять любые значения в пределах SERVICE_MIN_TTL и SERVICE_MAX_TTL для каждого типа сервиса.

Чтобы настроить эти параметры на уровне Платформы, обновите или добавьте соответствующие переменные сервиса laas-admin в Ansible inventory и обновите его (подробнее — в п. Изменение конфигурации на узлах).

Чтобы изменить конфигурацию сервиса laas-admin на узлах:

  1. В конфигурационном файле ~/inventory/vkcloud/group_vars/vkcloud_kube/laas-admin-api.yml внесите изменения в параметры helm_laas_admin_api_SERVICE_MIN_TTL, helm_laas_admin_api_SERVICE_MAX_TTL и helm_laas_admin_api_SERVICE_DEFAULT_TTL, и сохраните его.

  2. Перезагрузите конфигурацию с помощью Ansible playbook:

    $ ansible-playbook -i vkcloud.yml -e env=vkcloud ../ansible-openstack/playbooks/helm-laas-admin.yml -D

Настройка SMTP-сервера для отправки уведомлений

В ~/inventory/vkcloud/group_vars/vkcloud_kube/cloud-alerting.yml задайте значения параметров:

  • helm_cloud_alerting_smtp_host — хост SMTP-сервера.
  • helm_cloud_alerting_smtp_port — порт SMTP-сервера.
  • helm_cloud_alerting_smtp_user — имя пользователя для подключения к SMTP-серверу.
  • helm_cloud_alerting_smtp_password — пароль для подключения к SMTP-серверу.
  • helm_cloud_alerting_smtp_from_addr — email отправителя уведомления.