需要使用fluentd采集kubernet的日志,并将日志存储在elasticsearch中。并使用grafana来显示日志和摘要。但是,docker的容器id是64个字符。如何设置fluentd,或者elasticsearch,或者grafana,在grafana中只显示容器id的前12个字符?
发布于 2019-05-06 15:53:46
在containers.input.conf的末尾尝试这样的东西
<filter kubernetes.**>
@type record_transformer
enable_ruby
<record>
docker.container_id ${record["docker.container_id"][0,12]}
</record>
</filter>发布于 2021-11-15 00:45:56
如果可以只存储12个字符的is,可以添加fluent filter解析器(仅使用Fluent Bit进行测试):
parsers.conf
[PARSER]
Name dockerid_parser
Format regex
Regex ^(?<container_id>.{12})fluent-docker.conf
[SERVICE]
...
Parsers_File /full/path/to/parsers.conf
...
[FILTER]
Name parser
Match *
Key_Name container_id
Parser dockerid_parser
Reserve_Data On
...https://stackoverflow.com/questions/55998171
复制相似问题