如何自定义落盘日志所部属的镜像配置文件,需要修改filebeat.yml配置文件,使其不按每行输出日志信息,并且如何区分某一个容器内部的多个日志文件

你好,2.1版本sidecar容器中的filebeat暂时只支持全局配置。你可修改kubesphere-logging-system下的logsidecar-injector-configmap进行全局配置。后续版本将开放个性化配置。

另外,进行全局配置时,可进行如下输出控制,以对日志所属文件暂做区分,后续将对此进行优化

    xulai 感谢您的回复,还有一些问题:
    1、这个配置修改之后如何让其生效,我重新启动了那个配置了落盘日志的容器,进入到filebeat镜像中查看配置还是原来的配置
    2、日志文件的权限问题,root用户具有rw两个权限,但是filebeat显示没有读取.log文件的权限

      xuzhi7162 先将kubesphere-logging-system下的部署logsidecar-injector重启一下,然后再将落盘日志的负载重启,后续会优化一下这个问题

        xuzhi7162 权限问题,你确认一下配置落盘日志的存储卷时,是否配置了读写权限,以及查看一下最终pod的配置

        xulai 现在输出的日志中的堆栈信息都是按行显示的,不能一条记录完整的将堆栈信息显示出来,我在配置里面加上了
        multiline.pattern: ‘[0-2][0-9]:[0-5][0-9]:[0-5][0-9]’
        multiline.negate: true
        multiline.match: after
        这些配置,在本地配置可能一条记录保存一个完整的异常堆栈信息

          xulai 按照配置修改,日志打印出来的还是按行显示,不能显示完整的堆栈信息,另外,收集起来的日志发送到那个es下

          5 天 后

          xuzhi7162 落盘日志 Sidecar 会将日志文件转成 Sidecar 容器的 stdout。Fluent Bit 会读这个 stdout,然后推送。只要配置好了就开始推送

            huanggze Fluent Bit读取stdout后会将异常的堆栈信息按条输出到了ES中,这个地方可以配置吗,而且从stdout里面看到的日志信息要远远多于ES中的信息,ES中的日志信息并不完整

              xuzhi7162

              这个地方可以配置吗

              请问是指什么配置?期望的效果是怎样?

              从stdout里面看到的日志信息要远远多于ES中的信息

              暂不清楚你的描述问题,从 Fluent Bit 的工作原理上看,应该不可能会大量丢失日志。除非 Fluent Bit 挂了

                huanggze stdout控制台输出的日志量比ES中插入的数据量多,如果fluent bit挂掉,那ES里面不应该有当前应用的任何一条日志信息吧,而且Java异常堆栈信息在ES中是按行插入的,不能在一条记录中显示出一个完整的堆栈信息,