Отправка логов в сервис
Отправка логов в сервис находится на стадии Preview. Чтобы получить возможность отправлять логи, обратитесь в техническую поддержку.
Перед началом работы
Создайте сервисный аккаунт. В блоке Доступы и роли выберите:
проект — «Пользователь сервисов»;
сервис — «logaas.writer».
Для сервисного аккаунта создайте API-ключ. В параметрах API-ключа укажите сервис «logging_as_a_service».
Срок действия API-ключа ограничен. Когда он подойдет к концу, мы отправим вам уведомление. После этого необходимо обновить API-ключ.
Отправка логов через Public API
Для отправки логов через Public API необходимо отправить запрос POST.
Эндпоинт для запросов — https://logging.api.cloud.ru/api/v1/logs.
В заголовке Authorization передайте API-ключ:
Authorization: Api-Key <user-api-key>Где <user-api-key> — API-ключ.
В теле запроса передайте:
{"logs": [{"timestamp": "2025-04-15T10:20:00.908+03:00","level": "ERROR","project_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx","log_group_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx","traceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx","serviceName": "user-service","instanceId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx","labels": {"className": "usr","serviceVersion": "2.1"},"message": "user-service error","jsonMessage": "{\"userId\":\"12345\",\"action\":\"login\",\"status\":\"failed\",\"error\":{\"code\":\"AUTH_ERR_401\",\"message\":\"Authentication failed: invalid credentials\",\"details\":{\"ip\":\"192.168.1.1\",\"device\":\"mobile\",\"browser\":{\"name\":\"Chrome\",\"version\":\"120.0.0.0\",\"os\":{\"name\":\"Android\",\"version\":\"12.0\"}}}},\"session\":{\"id\":\"a1b2c3d4\",\"startTime\":\"2025-03-07T12:55:22.123+03:00\",\"endTime\":\"2025-03-07T13:00:22.123+03:00\",\"duration\":300},\"metrics\":{\"responseTime\":500,\"cpuUsage\":{\"average\":55.5,\"max\":80.2},\"memoryUsage\":{\"used\":768,\"total\":1024}},\"tags\":[\"authentication\",\"security\",\"error\"],\"environment\":{\"stage\":\"production\",\"region\":\"eu-west-1\",\"cluster\":\"k8s-cluster-1\"},\"user\":{\"id\":\"12345\",\"name\":\"User\",\"email\":\"john.doe@example.com\",\"preferences\":{\"theme\":\"dark\",\"notifications\":{\"email\":true,\"sms\":false}}}}"}]}
Где:
timestamp — время создания лога в формате YYYY-MM-DDThh:mm:ss
±hh:mm. level — уровень лога, например: TRACE, DEBUG, INFO, NOTICE, WARN, ERROR, CRITICAL, ALERT, EMERGENCY, FATAL.
project_id — ID проекта, в который будет добавлен лог.
log_group_id — ID лог-группы, в которую будет добавлен лог.
traceId — ID трассировки для связывания различных событий или сообщений, относящихся к одному и тому же процессу.
serviceName — наименование сервиса-источника логов.
instanceId — ID конкретного экземпляра приложения, сервера или процесса, который генерирует лог.
labels — набор меток в виде списка. В метки можно записывать любые данные в формате "наименование": "значение" для фильтрации данных и быстрого поиска логов.
message — сообщение лога.
jsonMessage — структурированные поля лога в формате JSON.
После отправки запроса будет создан лог с переданными данными. Созданные логи можно посмотреть в лог-группах.
- Перед началом работы
- Отправка логов через Public API