You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Fluentd解析syslog仅提取JSON内容适配GCP结构化日志要求

处理方案

你可以通过google-fluentd自带的过滤器插件完成日志解析,直接提取syslog前缀后的业务JSON结构,具体配置步骤如下:

  • 首先在fluentd配置文件中新增第一个parser过滤器,通过正则拆分syslog前缀和业务JSON内容
<filter 你的日志输入tag>
  @type parser
  # 你的日志原始内容存在的字段名,默认syslog输入为message
  key_name message
  # 不需要保留前缀相关字段时设为false
  reserve_data false
  <parse>
    @type regexp
    # 匹配标准syslog前缀,将后续JSON内容捕获到raw_json字段
    expression /^[A-Z][a-z]{2}\s+\d{1,2}\s+\d{2}:\d{2}:\d{2}\s+\S+\s+\S+\[\d+\]:\s*(?<raw_json>{.*})$/
  </parse>
</filter>
  • 新增第二个parser过滤器,将捕获的raw_json字段解析为结构化JSON,作为最终输出
<filter 你的日志输入tag>
  @type parser
  key_name raw_json
  reserve_data false
  # 处理异常字符避免解析失败
  replace_invalid_sequence true
  <parse>
    @type json
  </parse>
</filter>
  • 配置修改完成后执行fluentd -c 你的配置文件路径 --dry-run验证配置语法,无误后重启google-fluentd服务即可生效。

如果需要保留syslog前缀中的主机名、进程号等信息,可调整正则表达式捕获对应字段,同时将reserve_data参数改为true即可。

内容的提问来源于stack exchange,提问作者BIlly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:36:08