Сбор логов
Перевод в процессе / Translation in progress. See русская версия.
Flaree агент собирает логи из нескольких источников: текстовые файлы
(tail), unix-сокеты и syslog (UDP/TCP). Пайплайн обработки единый —
mask → filter → sample — и не зависит от источника. Поддерживаются
форматы auto, json, logfmt, nginx-combined, apache-common,
plaintext.
Предварительные требования
- агент Flaree версии ≥ 1.0 с валидным токеном в
agent.yamlили переменной${FLAREE_TOKEN} - файловый или сокетный источник доступен для чтения процессу агента
(как правило, group
admилиsystemd-journalна Linux) - для syslog — свободный UDP/TCP-порт (обычно
514или10514) и правило firewall, пропускающее трафик только от доверенных хостов - для multiline-логов — стабильный разделитель записей (например, timestamp в начале строки)
Минимальная конфигурация
logs:
sources:
- type: file
path: /var/log/myapp/*.log
Этого достаточно, чтобы агент начал tail-ить все файлы по glob-у, автоматически определять формат каждой записи и отправлять события в облако Flaree с дефолтной компонентной привязкой по имени хоста.
Полная конфигурация
logs:
sources:
- type: file
path: /var/log/myapp/*.log
componentRef: ${COMPONENT_ID}
format: json
multiline:
start_pattern: '^\d{4}-\d{2}-\d{2}'
timeout_ms: 500
sampling:
info: 0.1
warn: 1.0
error: 1.0
filters:
- exclude: "/healthz"
- exclude: "kube-probe"
redact:
- authorization
- password
- api_key
- type: unix_socket
path: /var/run/flaree/logs.sock
componentRef: my-app
- type: syslog
protocol: tcp
listen: 0.0.0.0:10514
componentRef: edge-router
shipping:
batch_size: 1000
timeout_sec: 5
spool_path: /var/lib/flaree/spool
Ключевые поля:
multiline— собирает многострочные stack-traces в одну запись;timeout_msзащищает от «зависших» фрагментов.sampling— per-severity sampling; при backpressure агент сохраняетerrorиwarn, сбрасывая частьinfo.filters[].exclude— regexp-чёрный список для health-checks и шумных пингов.redact— маскирует секреты на агенте; сервер не видит plaintext.shipping.batch_size/timeout_sec— баланс между latency и сетевой нагрузкой.
Проверка работы
- Запустите агент и убедитесь, что systemd-лог не содержит ошибок open/permission.
- Проверьте внутренний Prometheus-эндпоинт агента — счётчик
flaree_agent_logs_sent_totalдолжен расти. - Убедитесь, что записи появляются в дашборде
app.flaree.ruв нужном компоненте в течение ≤ 1 минуты после генерации.
# Последние сообщения агента
journalctl -u flaree-agent --since "1 min ago" | grep -iE 'logs|error'
# Счётчики отправленных записей
curl -sS http://127.0.0.1:9100/metrics | grep flaree_agent_logs_sent_total
Troubleshooting
Если записи не появляются в дашборде, пайплайн молчит или вы видите несоответствие счётчиков — следуйте сценарию нет данных.
Для syslog и unix-сокета процесс агента должен иметь права на bind и
read; проверьте systemctl status flaree-agent и что User= в
unit-файле входит в нужные группы (adm, systemd-journal).