fluent / fluent-bit

Fast and Lightweight Logs and Metrics processor for Linux, BSD, OSX and Windows
https://fluentbit.io
Apache License 2.0
5.89k stars 1.59k forks source link

out_parseable: Plugin for sending logs to Parseable #9622

Open AdheipSingh opened 1 week ago

AdheipSingh commented 1 week ago

Send kubernetes logs to https://www.parseable.com/


Enter [N/A] in the box, if an item is not applicable to your change.

Testing Before we can approve your change; please submit the following in a comment:

If this is a change to packaging of containers or native binaries then please confirm it works for all targets.

Documentation

Backporting


Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.

edsiper commented 1 week ago

can you please provide the link to the API spec ?

AdheipSingh commented 1 week ago
  inputs: |
    [INPUT]
        Name tail
        Path /var/log/containers/*.log
        multiline.parser docker, cri
        Tag kube.*
        Mem_Buf_Limit 10MB
        Skip_Long_Lines On

    [INPUT]
        Name systemd
        Tag host.*
        Systemd_Filter _SYSTEMD_UNIT=kubelet.service
        Read_From_Tail On

  ## https://docs.fluentbit.io/manual/pipeline/filters
  filters: |
    [FILTER]
        Name kubernetes
        Match kube.*
        Merge_Log On
        Keep_Log Off
        K8S-Logging.Parser On
        K8S-Logging.Exclude On

  ## https://docs.fluentbit.io/manual/pipeline/outputs
  outputs: |
    [OUTPUT]
         Name parseable
         Match kube.*
         P_Server parseable.parseable.svc.cluster.local
         P_Port 80
         P_Username admin
         P_Password admin
         P_Stream $NAMESPACE 
AdheipSingh commented 1 week ago

Does this build for all targets and do we need any extra dependencies? We probably need some unit tests at least too.

I think at the moment you've not actually enabled it to build, only for the container but then we don't test or exercise that in unit tests or builds.

Please suggest some examples on unit tests and what can be done on building the ideal way. I'll implement this. ( i am not an expert in C codebase, so whatever is the best practice, ill will try to adhere to it ).