Перейти к основному содержимому
Версия: 8.3

Fluent Bit

Пример настройки потока данных с внешним сервисом сбора логов - "Fluent Bit".

Такой инструмент, как Fluent Bit способен обрабатывать различные форматы. Ниже рассмотрен прием UDP syslog и чтение локального лога файлов docker (см. подробнее о других способах приема данных).

Схема отправки данных в Monq:

Изображение

  1. На стороне Monq создайте два потока данных и скопируйте их API-ключи.

  2. Сконфигурируйте Fluent Bit следующим образом:

    cat /etc/td-agent-bit/td-agent-bit.conf

    [SERVICE]
    flush 5
    daemon Off
    log_level info
    parsers_file parsers.conf
    plugins_file plugins.conf
    http_server On
    http_listen 0.0.0.0
    http_port 2020
    storage.metrics on

    @INCLUDE inputs.conf
    @INCLUDE outputs.conf
    @INCLUDE filters.conf

    cat /etc/td-agent-bit/inputs.conf

    [INPUT]
    Name syslog
    Parser syslog-rfc3164
    Listen 0.0.0.0
    Port 514
    Mode udp
    Tag syslog

    [INPUT]
    Name tail
    Tag docker
    Path /var/lib/docker/containers/*/*.log
    Parser docker
    DB /var/log/flb_docker.db
    Mem_Buf_Limit 10MB
    Skip_Long_Lines On
    Refresh_Interval 10

    cat /etc/td-agent-bit/outputs.conf

    [OUTPUT]
    Name http
    Host ${MONQ-FQDN}
    Match syslog
    URI /api/public/cl/v1/stream-data
    Header x-smon-stream-key ${KEY1}
    Header Content-Type application/x-ndjson
    Format json_lines
    Json_date_key @timestamp
    Json_date_format iso8601
    allow_duplicated_headers false

    [OUTPUT]
    Name http
    Host ${MONQ-FQDN}
    Match docker
    URI /api/public/cl/v1/stream-data
    Header x-smon-stream-key ${KEY2}
    Header Content-Type application/x-ndjson
    Format json_lines
    Json_date_key @timestamp
    Json_date_format iso8601
    allow_duplicated_headers false

    ${MONQ-FQDN} – адрес вашего пространства Monq.

    ${KEY1}, ${KEY2} – API-ключи, скопированные на странице потоков данных Monq.

  3. После изменения конфигурационных файлов перезапустите Fluent Bit для применения настроек.

В примере используются стандартные парсеры, поставляемые с Fluent Bit.
При необходимости, вы можете реализовать новый парсер и разместить его в конфигурации (см. подробнее).