Логирование и аудит
Для записи логов и аудита VK Dev Platform используется пакет Bitnami компонента Fluent Bit (подробнее о пакете — в официальной документации).
VK Dev Platform сохраняет следующие события аудита:
-
Создание, редактирование и удаление:
- Проектов разработки.
- Репозиториев исходного кода.
- Хранилищ артефактов.
- Досок.
- Вебхуков.
- Раннеров.
- Анализаторов кода.
- Пользовательских групп.
-
Назначение, изменение и отзыв ролей пользователей в проектах разработки.
VK Dev Platform по умолчанию собирает метрики логирования для следующих компонентов:
- Postgres Cluster.
- PGBouncer.
- MySQL Cluster.
- Redis.
- GitLab Gitaly.
- GitLab Shell.
- Gitlab Praefect.
- GitLab Sidekiq.
- GitLab Webservice.
- Nexus.
- SonarQube.
- DevProm.
- OIDC Proxy.
- Samsara.
- Konf-fu.
Чтобы добавить компонент:
-
В переменной
fluentbit_inputsукажите значения параметров:component— название компонента.container_name— название контейнера компонента.pod_pattern— название паттерна пода Kubernetes.service_id— идентификатор источника логов.stream_id— идентификатор Сервиса в системе логирования.
Пример описания...fluentbit_inputs:- component: samsaracontainer_name: samsarapod_pattern: samsaraservice_id: defaultstream_id: samsara... -
Перезапустите плейбук:
$ ansible-playbook -i inventories/<INVENTORY_NAME> pb-data-plane.yaml --vault-id <PASSWORD_FILE> --tags fluenbit-roleгде:
<INVENTORY_NAME>— имя Inventory.<PASSWORD_FILE>— файл с паролем.
Логирование и аудит настраиваются при установке VK Dev Platform (подробнее — в документе Руководство по установке VK Dev Platform).
События аудита передаются в сервис Private Cloud Logging (LaaS) (подробнее о работе с сервисом — в документах Руководство администратора Private Cloud 4.1, Руководство пользователя Private Cloud 4.1).
Для поиска логов аудита используйте следующий запрос в интерфейсе Private Cloud 4.1:
(stream_id=<ID_SERVICE>) AND (payload.msg=audit)
где <ID_SERVICE> — идентификатор сервиса в системе логирования.
{"auditEvent": {"Action": "ACTION_CODE_REPOSITORY_CREATE","Message": "Code repository created","Resource": {"ID": "<ID_RESOURCE>","Metadata": {},"Name": "Stalker","Type": "code repository"},"Severity": "INFO","StatusCode": 201,"Subject": {"DisplayName": "<USER_NAME>","Email": "<USER_EMAIL>","ID_IAM": "<ID_IAM>","IsEnabled": true,"IsService": false,"SignedInAt": "2024-09-02T14:09:35.844512Z"}},"caller": "logaudit/log_audit.go:13","logtag": "F","msg": "audit","node_name": "<NODE_NAME>","stream": "stderr","time": "2024-09-04T12:00:23.971738074+00:00","ts": 1725451223.9716341}
Передача событий аудита в сторонний сервис настраивается при установке VK Dev Platform (подробнее — в документе Руководство по установке VK Dev Platform).