2016-05-16 38 views
0

我在运行ELK堆栈和一些其他misc的本地集群上设置了dockerbeats。码头工(所有集装箱通过kubernetes控制)。我从Ingensi(Ingensi dockerbeat Dashboard)为kibana设置了仪表板,并在设置图表时遇到了containerNames字段的问题。现在,对于上下文,我的搬运工容器具有这样的名称:Dockerbeats仪表板containerName字段的问题

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

当我在kibana中设置仪表板时,出现了一个问题,我从同一个容器中获取多个containerNames。例如,而不是一个单一的容器名称输出我得到的容器名称分成小段:

k8s_dockerbeats 
79c42f90_dockerbeats 
796n9 
28924a2bffbf_3ddcfe44 

等等...

我认为容器名称的格式混乱的仪表板(也许以解析名称信息的方式),我可能会将每个容器重命名为更明智的名称。

但在我这样做之前,有没有一种方法来配置仪表板,以便我读取整个容器名称字符串,以便它不像第一个图像中那样分解? (假设我将不得不深入上述库中的.json文件)

如果有人回答,请提前致谢。

回答

0

听起来像Elasticsearch正在分析容器名称。您需要确保Elasticsearch索引模板中的容器名称字段标记为not_analyzed。您可以通过安装Dockerbeat提供的index template来完成此操作。

将该字段标记为not_analyzed可确保数据不被标记并且按原样获取索引。它只能通过指定确切的字符串来搜索。

安装新索引模板以更改映射后,您需要删除当前索引。

安装提供索引模板:

删除您现有索引:

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

您可以查看CURREN牛逼的映射通过查询Elasticearch:

  • curl http://elasticsearch:9200/dockerbeat-*/_mapping
+0

谢谢,这解决了我的问题。 (我不知道docker.template现在做了什么) –