kubernetes - 使用fluentd,我只想从json数据中输出一个关键数据
问题描述
我想将 kubernetes 日志输出到文件中。但是,我只能将其输出为 json 数据。我只想将“消息”部分输出到文件。
如何选择“消息”进行打印?我应该选择哪种过滤器?
<match output_tag>
@type rewrite_tag_filter
<rule>
key $['kubernetes']['labels']['app']
pattern ^(.+)$
tag app.$1
</rule>
</match>
<match app.tom1>
@type file
path /logs/tom1
</match>
Execute result:--->
2019-10-30T00:46:05+09:00 app.tom1 {
..
"message": "2019-10-29 15:46:05,253 DEBUG [org.springframework.web.servlet.DispatcherServlet] Successfully completed request",
"kubernetes": {
"labels": {
"app": "tom1",
..
}
Desired result: --->
2019-10-29 15:46:05,253 DEBUG [org.springframework.web.servlet.DispatcherServlet] Successfully completed request
感谢!
解决方案
试试single_value
<formater>
插件:https ://docs.fluentd.org/formatter/single_value
<match app.tom1>
@type file
path /logs/tom1
<format>
@type single_value
message_key message
</format>
</match>
推荐阅读
- c# - C# 应用程序进程中的 COM 线程单元(STA、MTA)管理
- python - 如何在 terraform “local-exec” 块中运行 sudo
- android - 如何为通知视图设置带有时间戳的模式
- javascript - 如何复制拖放事件?
- oracle - 从关键字在 PL-SQL 中未找到预期的位置
- mysql - 如何使用 SQL 查询获得正确的库存演变?
- javascript - 在 Nativescript Playground 中导入 npm 包
- html - 如何使用 AngularJs 将数据删除到 REST 服务
- docker - 如何附加到 dockerfile 或 docker run 中的路径
- delphi - 返回结果集后发生 SQL 错误时如何强制 TADOConnection 抛出异常