Docker, systemd и файлы через агент
Агент читает stdin, отправляет события без дискового spool и посылает heartbeat каждые 20 секунд.
Порядок настройки
- Соберите ./bin/logoric-agent командой make build (нужны Go/Node). Поместите бинарник на машину с доступом к логам; подберите сборку под её OS/архитектуру.
- Установите LOGORIC_ENDPOINT и LOGORIC_SOURCE_TOKEN в окружении процесса агента. Токен берите из своего источника, endpoint — корневой URL сервера.
- Выберите один вход: docker logs --follow --since 1m CONTAINER 2>&1; journalctl --follow --output cat --unit SERVICE; либо tail -n 0 -F /path/app.log. Передайте stdout в агент.
- Для постоянной работы настройте systemd/container supervisor и рестарт. Агент не сохраняет позицию чтения и не гарантирует повторную доставку; при ошибке сети событие отбрасывается.
- Проверьте heartbeat при спокойном приложении. Агент — лёгкий вариант; для сложного парсинга/маршрутизации используйте Collector с собственным контролем буферов.
Ожидаемый результат
Агент работает рядом с источником и поддерживает heartbeat даже без новых строк.
Если не получается
Нет сигналов из docker stderr — добавьте 2>&1 до pipe. Нет доступа к journal/file — настройте права ОС. Не выдавайте privileged контейнеру только для чтения логов.