| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
**Summary**
Реализован новый входной плагин `agent_logs` для отправки логов самого агента в пайплайн unified\_agent. Это решает проблему доступа к логам агента в production окружении, где требовались права System developer для доступа к файлам на дисках.
## **What's Changed** {#whats-changed}
### **New Plugin: `agent_logs_input`** {#new-plugin-agent_logs_input}
Добавлен новый входной плагин, который:
* Перехватывает логи агента через кастомный `TLogBackend`
* Отправляет логи в пайплайн стриммингово (не пулингом)
* Поддерживает фильтрацию по уровню логов (настройка **level**, по умолчанию `NOTICE`)
### **Implementation Details** {#implementation-details}
**Основные компоненты:**
1. **TAgentLogsBackend** - кастомный log backend:
* Наследуется от `TLogBackend`
* Перехватывает все логи агента через метод `WriteData()`
* Фильтрует логи по приоритету
* Отправляет отфильтрованные логи в `IMessageConsumer`
* Поддерживает graceful stop
2. **TPlugin** - основной класс плагина:
* Управляет lifecycle плагина
* Создает сессию с ID `agent_logs`
* Передает конфигурацию в session handler
3. **TSessionHandler** - обработчик сессии:
* Создает и регистрирует `TAgentLogsBackend`
* Добавляет backend в глобальный logger через `AddLog()`
* Управляет остановкой backend'а
**Пример конфигурации:**
```
routes:
- input:
plugin: agent_logs
config:
level: INFO
channel:
pipe:
- filter:
plugin: format_otel_logs
output:
# https://nda.ya.ru/t/YexxO8Qf7NZMzy
plugin: otel_logs
config:
url: "collector.logs.yandex-team.ru:443"
project: hobbit_test_project
service: logs
# https://nda.ya.ru/t/o4MQT5rI7NZMzz
oauth:
secret:
env: TEST_LOGS_OAUTH
agent_log:
priority: INFO
rate_limit_bytes: 100000
```
commit_hash:c6f115ab98c30a47845ce9f9f8a58ef89973d422
|
| |
|
|
|
|
|
| |
fintech, games, geobase, infra, ipreg, juggler, kernel, keyboard, laas, library, logbroker, logos, mail
If you think that this pr has broken something for you, roll it back
commit_hash:df8e48b2a4ecbbc74a504aa3ff62ebb8f464218d
|