Свободный бит - Плагин TCP Output - Постоянное соединение и поток JSON - PullRequest
0 голосов
/ 16 января 2020

Я пытался настроить Бит Fluent для плагина вывода TCP. Насколько я мог видеть, Fluent bit инициировал и закрывал TCP-соединение с сервером назначения в каждом JSON журнале flu sh. Тем не менее, мы хотели бы иметь постоянное соединение и потоковые журналы по нему.

Ближайшая конфигурируемая опция - «Формат json_stream» для выходного плагина TCP. Предполагается, что Fluentbit устанавливает sh и поддерживает соединение с потоком через TCP, или каждый грипп sh требует нового подключения?

Это набор демонов, состоящий из контейнера Fluentbit, связывающегося через локальный сервер с контейнером сервера.

Очень благодарен за любую помощь в этом!

 "filter-kubernetes.conf" = <<-EOT
    [FILTER]
        Name                kubernetes
        Match               app.*
        Kube_URL            https://kubernetes.default.svc:443
        Merge_Log           On
        Merge_Log_Trim      On
        Keep_Log            Off
        K8S-Logging.Parser  Off
    [FILTER]
        Name                grep
        Match               app.*
        Regex               stream stdout
    [FILTER]
        Name                record_modifier
        Match               app.*
        Remove_key          annotations
EOT
"fluent-bit.conf"        = <<-EOT
    [SERVICE]
        Flush               1
        Log_Level           info
        Daemon              off
        Parsers_File        parsers.conf
        HTTP_Server         On
        HTTP_Listen         0.0.0.0
        HTTP_Port           2020
    @INCLUDE input-sources.conf
    @INCLUDE filter-kubernetes.conf
    @INCLUDE output-nats.conf
EOT
"input-sources.conf"     = <<-EOT
    [INPUT]
        Name                tail
        Tag                 app.*
        Path                /var/log/containers/*.log
        Parser              docker
        DB                  /var/log/flb_kube.db
        Mem_Buf_Limit       5MB
        Skip_Long_Lines     On
        Refresh_Interval    10
EOT
    [OUTPUT]
        Name                tcp
        Match               *car*
        Format              json_stream
        json_date_format    iso8601
        json_date_key       timestamp
        Host                127.0.0.1
        Port                1111
EOT
"parsers.conf"           = <<-EOT
    [PARSER]
        Name                docker
        Format              json
        Time_Key            time
        Time_Format         %Y-%m-%dT%H:%M:%S.%L
        Time_Keep           On
EOT
  }
}
...