流利的splunk-http-eventcollector插件使用格式json时Bad Request 400

时间:2018-03-29 17:34:07

标签: plugins kubernetes splunk 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>

1 个答案:

答案 0 :(得分:0)

这是我的愚蠢,我的来源不是json格式,所以splunk不喜欢它,我假设我需要在源上设置format json以获取kubernetes元数据这是错误的,所以当我设置format none并将all_items true添加到splunk-http-eventcollector时就可以了。