Проблемы с полем containerName на панели инструментов Dockerbeats

У меня есть dockerbeats, настроенные на локальном кластере, на котором работает стек ELK и некоторые другие. докеры (все контейнеры управляются через kubernetes). Я настроил панель инструментов Ingensi (панель инструментов Ingensi dockerbeat) для кибаны и столкнулся с проблема с полем containerNames при настройке графиков. Теперь, для контекста, мои контейнеры докеров имеют такие имена:

k8s_dockerbeats.79c42f90_dockerbeats-796n9_default_472faa11-1b3a-11e6-8bf4-28924a2bffbf_2832ea88

(а также поддержка контейнеров для kubernetes с похожими именами контейнеров) [2]: http://i.stack.imgur.com/hvIUG.png k8s_POD.6d00e006_dockerbeats-796n9_default_472faa11-1b3a-11e6-8bf4-28924a2bffbf_3ddcfe44

Когда я настраиваю панель инструментов в кибане, у меня возникает проблема, когда я получаю несколько имен контейнеров из одного и того же контейнера. Например, вместо одного вывода containerName я получаю containerName, разделенное на более мелкие сегменты:

k8s_dockerbeats
79c42f90_dockerbeats
796n9
28924a2bffbf_3ddcfe44

и так далее...

Я предполагаю, что формат имени контейнера сбивает с толку панель инструментов (возможно, из-за того, как она анализирует информацию об имени), и я, вероятно, мог бы переименовать каждый контейнер в более разумное имя.

Но прежде чем я это сделаю, есть ли способ настроить панель мониторинга таким образом, чтобы я читал всю строку имени контейнера, чтобы она не разбивалась, как на первом изображении? (при условии, что мне придется копаться в файлах .json из упомянутого выше репозитория)

Заранее спасибо, если кто ответит на это.


person Mic De Duiwel    schedule 16.05.2016    source источник


Ответы (1)


Похоже, Elasticsearch анализирует имя контейнера. Вам нужно убедиться, что поле имени контейнера помечено как not_analyzed в шаблоне индекса Elasticsearch. Это можно сделать, установив шаблон индекса, предоставленный Dockerbeat.

Пометка поля как not_analyzed гарантирует, что данные не размечены и будут проиндексированы как есть. Он будет доступен для поиска, только указав точную строку.

Вам нужно будет удалить ваши текущие индексы после установки нового шаблона индекса, чтобы изменить сопоставления.

Установите предоставленный шаблон индекса:

Удалите существующие индексы:

  • curl -XDELETE 'http://elasticsearch:9200/dockerbeat-*'

Вы можете просмотреть свои текущие сопоставления, запросив Elasticearch:

  • curl http://elasticsearch:9200/dockerbeat-*/_mapping
person A J    schedule 16.05.2016
comment
Спасибо, это решило мою проблему. (до сих пор я не знал, что делает docker.template) - person Mic De Duiwel; 17.05.2016