- 已编辑
我需要将容器日志通过json结构上传到es中,方便日志分析,但fluent-bit无法解析log日志中json。
通过fluent-bit官网得知需要进行parser配置,但不知道ks中怎么配置parser
我需要将容器日志通过json结构上传到es中,方便日志分析,但fluent-bit无法解析log日志中json。
通过fluent-bit官网得知需要进行parser配置,但不知道ks中怎么配置parser
cyrpg520
这是一个一个默认的input插件:
kubectl -n kubesphere-logging-system get inputs.logging.kubesphere.io tail -oyaml
tail:
db: /fluent-bit/tail/pos.db
dbSync: Normal
excludePath: /var/log/containers/*_kubesphere-logging-system_events-exporter*.log,/var/log/containers/kube-auditing-webhook*_kubesphere-logging-system_kube-auditing-webhook*.log
memBufLimit: 5MB
parser: docker
path: /var/log/containers/*.log
refreshIntervalSeconds: 10
skipLongLines: true
tag: kube.*
cyrpg520
你可以定义parser插件: https://github.com/fluent/fluentbit-operator/blob/master/api/fluentbitoperator/v1alpha2/parser_types.go#L37
Decode_Field_as 这个字段是必须的吗? 你可以提交pr增加这个字段.
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 为什么报错了?
请问是哪里配置不对 ?