Как извлечь поля из журналов приложений kubernetes - efk stack - PullRequest
0 голосов
/ 14 января 2020

Я использую FluentD (развернутый как DaemonSet) для потоковой передачи журналов приложений (контейнеров) k8s вasticsearch. я хочу извлечь указанные c ключи из строки ключей 'log' в elasti c, например, logKey: ... или statusCode: .. (внутри ключа 'log' ниже)

Пожалуйста, посмотрите журнал, который я пытаюсь проанализировать:

я увидел, что мне нужно использовать плагин FluentD для анализа журнала перед его отправкой в ​​elasti c, но, к сожалению, я не нашел способа чтобы сделать это.

это мой текущий раздел контейнеров ConfigMap:

<source>
  @type tail
  path /var/log/containers/*.log
  pos_file /var/log/app.log.pos
  tag kubernetes.*
  read_from_head true
  <parse>
    @type json
    time_format %Y-%m-%dT%H:%M:%S.%NZ
  </parse>
</source>

Большое спасибо за вашу помощь.

1 Ответ

0 голосов
/ 15 января 2020

Вы пробуете это дополнение?
Кажется, уже настроена конфигурация fluentd.
https://github.com/kubernetes/kubernetes/blob/8568d1843daababe70763b30ae897388710b2216/cluster/addons/fluentd-elasticsearch/fluentd-es-configmap.yaml

Является ли ваша ConfigMap, добавленный выше ConfigMap?

...