环境:KubeSphere 版本 : v4.1.2

已安装WhizardTelemetry 日志组件,当前日志系统运行良好

原因与需求:部分系统老旧还是GBK字符,输出的日志内容为GBK,中文在日志系统中显示会乱码,需要在抓取日志后,对日志进行清洗,转换字符集GBK->UTF-8 ,解决日志中文乱码问题

当前对环境梳理和查看了下,只发现配置文件whizard-logging-agent-logsidecar-injector-configmap 里面的vector.yaml模板文件是相关的配置,但是这个梳理只想针对特定的容器组,所以不能直接在上面修改,想问一下vector如何指定模板文件,或者修改哪个CRD资源可以实现,当前未找到对应的CRD资源对象

  • 已编辑

如果你想自己增加vector配置,你可以在kubesphere-logging-system下创建带指定label的secret,这样日志组件会自动识别。secret的内容就是vector的配置,具体参考vector官方文档https://vector.dev/docs/。

    Birdhk 收到,感谢指导,我这边去试试看

    Birdhk 研究了一下,secret里面配置的vector配置文件都是针对k8s nodes的日志收集,对应的是守护进程的vector-agent,我需要转换的是pod里面的落盘日志(日志文件),vector读取日志文件后对字符集进行转换,找了下是whizard-logging-agent-logsidecar-injector-deploy实现的pod里面的自动injection,这个怎么去指定injection时的配置文件呀

    • 已编辑

    目前插件这部分没有暴露出参数来,你可以修改一下configmap,修改vector部分的配置,添加一些处理步骤,但是注意每次修改了日志插件配置会被重置,注意备份你添加的配置。后期你也可以提pr到插件仓库,将你的逻辑添加到插件里。

      Birdhk 好的,感谢回复,但是因为项目新旧交替,存在GBK和UTF-8两种字符集,直接修改单一模板可能不能支持需求,我去研究一下插件源码看看

      可以参考https://vector.dev/docs/reference/vrl/functions/#decode_charset

      商业产品与合作咨询