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

如何配置Fluentd仅将log对象内的元素通过HTTP发送?

解决方案

要实现仅发送log对象内的元素,你可以通过添加**parser过滤器**来解析log字段的JSON内容,并替换整个日志记录为该内容,具体配置修改如下:

完整配置示例

<source>
  @type tail
  path /var/log/containers/*.log, /var/log/pods/*.log
  exclude_path ["/var/log/containers/fluentd-*.log", "/var/log/containers/argocd-*.log", "/var/log/containers/cilium-*.log", "/var/log/containers/csi-*.log", "/var/log/containers/cpc-*.log", "/var/log/containers/hubble-*.log", "/var/log/containers/kube-*.log", "/var/log/containers/cert-manager-*.log", "/var/log/containers/core-dns-*.log", "/var/log/containers/ingress-*.log"]
  pos_file /var/log/fluentd-containers.log.pos
  tag container_logs
  format /(?<log>\{[^{}]*"message"\s*:\s*"(?<message>[^"]*)"[^{}]*"level"\s*:\s*"(?<level>[^"]*)"[^{}]*"traceId"\s*:\s*"(?<traceId>[^"]*)"[^{}]*"namespace"\s*:\s*"(?<namespace>[^"]*)"[^{}]*"requestId"\s*:\s*"(?<requestId>[^"]*)"[^{}]*"service"\s*:\s*"(?<service>[^"]*)"[^{}]*\})/
</source>

<!-- 添加这个过滤器解析log字段并替换记录 -->
<filter container_logs>
  @type parser
  key_name log          # 指定要解析的字段是log
  reserve_data false    # 丢弃原有的所有字段,只保留解析后的内容
  <parse>
    @type json          # 按JSON格式解析log字段的内容
  </parse>
</filter>

<match container_logs>
  @type http
  endpoint https://events.baselime.io/v1/logs
  headers {"x-api-key":"xxx", "baselime-data-source": "fluentd/k8s"}
  open_timeout 2
  json_array true
  <format>
    @type json
  </format>
</match>

配置说明

  1. parser过滤器的作用:
    • key_name log:告诉Fluentd要解析日志记录中的log字段(该字段是JSON字符串格式)
    • reserve_data false:解析完成后,会清除原来的log字段以及其他可能存在的冗余字段,只保留解析后的JSON结构(也就是log对象内的所有元素)
  2. 修改match块的tag为container_logs,确保只处理经过过滤器处理后的日志

如果你的log字段已经是解析完成的JSON对象(而非字符串),可以改用record_transformer过滤器直接替换记录:

<filter container_logs>
  @type record_transformer
  <record>
    ${record['log']}
  </record>
</filter>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 11:17:32