k8s环境的fluentd故障处理篇-dump an error event: error_class=ArgumentError error=“message does not exist“
报错详情2021-01-07 17:35:16 +0800 [warn]: #0 fluent/log.rb:350:warn: dump an error event: error_class=ArgumentError error=“message does not exist” location=nil tag=“kubernetes.forward” time=1970-01-01 08:
报错详情
2021-01-07 17:35:16 +0800 [warn]: #0 fluent/log.rb:350:warn: dump an error event: error_class=ArgumentError error=“message does not exist” location=nil tag=“kubernetes.forward” time=1970-01-01 08:33:41.209632975 +0800 record={“log”=>“2021-01-07 09:34:54.209 [INFO][50] felix/int_dataplane.go 1300: Applying dataplane updates\n”, “stream”=>“stdout”, “docker”=>{“container_id”=>“4743a8375ea3672b3ad148536928f2c6af2ef920148e77c05f50779b5560bbc6”}, “kubernetes”=>{“container_name”=>“calico-node”, “namespace_name”=>“kube-system”, “pod_name”=>“calico-node-mvt2z”, “container_image”=>“calico/node:v3.16.3”, “container_image_id”=>“docker-pullable://calico/node@sha256:c9fff18476540e191fcc151494e40e2431453a80605ec72407449b59a33f4b95”, “pod_id”=>“02336891-d38f-4813-a15b-defe0da4aa51”, “labels”=>{“controller-revision-hash”=>“bbdcd589b”, “k8s-app”=>“calico-node”, “pod-template-generation”=>“1”}, “host”=>“iz2ze1ekr957o0xu55p48yz”, “master_url”=>“https://10.96.0.1:443/api”, “namespace_id”=>“e6abc9c5-54db-45f8-8d70-230b52cc0416”}}
解释
刚遇到上面的报错我有点蒙,因为他百度根本搜不到信息。下面是我的部分配置,也是出错的配置:
<filter kubernetes.**>
@id multi-filter
@type parser
key_name message
<parse>
@type multi_format
<pattern>
format json
</pattern>
<pattern>
format regexp
expression /^(?<sw-kind>.+) (?<sw-moudle>.+) (?<sw-use>.+)/
</pattern>
</parse>
</filter>
配置的格式和语法没有错误,错误在 key_name
这个字段,大家可以看看报文中的record根本不包含message
,所以才报这个错。
解决办法
key_name 后面应该填写record包含的字段
更多推荐
所有评论(0)