Плагин fluentd splunk-http-eventcollector Bad Request 400 при использовании формата json

Я пытаюсь отправить журналы в splunk из Kubernetes, используя fluentd в качестве набора демонов.

Когда я устанавливаю 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>

person anupshrestha    schedule 29.03.2018    source источник
comment
Не ответ на ваш первоначальный вопрос. Но может быть ответом на проблему, которую вы пытаетесь решить. Если вас устраивают платные решения — outcoldsolutions.com мы предоставляем готовое приложение для мониторинга Kubernetes, а также решить проблему пересылки логов из контейнеров Kubernetes, обогащенных метаданными Kube. Требуется несколько минут для установки.   -  person outcoldman    schedule 29.03.2018
comment
Затем я получаю 400 Bad Request от кого вы получаете эти 400? из Спланка? Если да, есть ли в журнале splunk соответствующие ошибки, говорящие о том, какой неверный формат данных он получил?   -  person mdaniel    schedule 30.03.2018


Ответы (1)


Это я был глуп, мой источник был не в формате json, поэтому splunk это не понравилось, мое предположение, что мне нужно установить format json в источнике, чтобы получить метаданные kubernetes, было неверным, поэтому, когда я установил format none и добавил all_items true к splunk-http-eventcollector это сработало.

person anupshrestha    schedule 30.03.2018