• 监控日志
  • 如何配置fluentbit-operator中的parser部分?

zhu733756 我的用默认的插件无法解析log中的json字符串,你的可以解析吗?传到es中是json

zhu733756 fluent-bit官方说解析json需要用到这个参数,你发的链接是源代码,我想知道怎么在kubesphere中配置这个parser,在crd中没有找到相关配置

    cyrpg520
    你需要自己定义一个parser组件,你自定义的这个parser应该需要命名为docker,将默认的那个parser组件覆盖掉,fluent文档上使用的decoder parser。kubectl explain parsers.查看怎么配置。

      zhu733756 非常感谢,我按照你的方法在CRD中成功创建了parser,但配置文件中并没有看到更新,请问是哪里配置不对吗?相关的问题和文档少之又少


        cyrpg520 我还有一个设想,现在你这个parser是通过filter插件来实现的,也就是在filter阶段进行修改了,能否把自定义的parser改到input插件,也就是输入日志的时候就给解析成你需要的格式了?我想应该也是可以的,由于我这里没有你的日志环境,方便实践一下?

          7 天 后

          zhu733756 嗯,可以的,我测试一下。还有就是ingress访问日志问题,我目前不敢开启访问日志,因为这样日志量太大了,fluent-bit采集不过来。有没有什么优化解决方案?

            3 年 后

            apiVersion: logging.kubesphere.io/v1alpha2

            kind: Parser

            metadata:

            name: log4j-parser

            namespace: kubesphere-logging-system

            spec:

            decoders:

            #parser:

            name: log4j

            format: regex

            regex: ^\[(?<time>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})\] (?<level>\w+) (?<thread>\w+) (?<logger>[^\s]+) - .*

            timeKey: time

            timeFormat: "%Y-%m-%d %H:%M:%S"

            我这样加一个Parser 为什么报错了?

            是哪里配置不对 ?

            apiVersion: logging.kubesphere.io/v1alpha2
            kind: Parser
            metadata:
            name: log4j-parser
            namespace: kubesphere-logging-system
            spec:
            decoders:
            #parser:
            name: log4j
            format: regex
            regex: ^\[(?<time>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})\] (?<level>\w+) (?<thread>\w+) (?<logger>[^\s]+) - .*
            timeKey: time
            timeFormat: "%Y-%m-%d %H:%M:%S"

            我这样加一个Parser 为什么报错了?
            请问是哪里配置不对 ?