【发布时间】:2018-03-29 17:34:06
【问题描述】:
我正在尝试使用 fluentd 作为守护程序集将日志从 Kubernetes 推送到 splunk。
当我设置 format none 并推动 splunk 时,它可以工作。但我想添加 kubernetes_metadata,所以我更新为 format json 并添加了 kubernetes_metadata 过滤器。
然后,我收到 400 Bad Request
{"text": "Invalid data format", "code": 6, "invalid-event-number": 0 }
这是我的 fluent.conf 文件
# Ignore fluentd log messages
<match fluent.**>
@type null
</match>
<source>
@type tail
path /var/log/containers/*.log
pos_file /fluentd/log/docker-containers.log.pos
tag kubernetes.*
format json
read_from_head true
</source>
<filter kubernetes.**>
@type kubernetes_metadata
</filter>
<match kubernetes.**>
@type splunk-http-eventcollector
server <host>:8088
protocol https
verify false
token ***
source fluentd-kube-containers
sourcetype _json
host "#{ENV['HOSTNAME']}"
buffer_chunk_limit 700k
batch_size_limit 1000000
buffer_type file
buffer_path /fluentd/log/fluentd-buffer
flush_interval 10s
</match>
【问题讨论】:
-
不是您原始问题的答案。但可以作为您试图解决的问题的答案。如果您对付费解决方案感到满意 - outcoldsolutions.com 我们提供了一个预构建的应用程序来监控 Kubernetes,并且还解决了从富含 Kube 元数据的 Kubernetes 容器转发日志的问题。安装需要几分钟。
-
那么,我收到一个 400 Bad Request 你从谁那里得到这个 400?来自 Splunk?如果是这样,splunk 日志中是否有相应的错误说明 what 它收到的数据格式错误?
标签: plugins kubernetes splunk fluentd