1

我们已经将ELK2升级到ELK6,在ELK2中,我们把每一种日志都当作一个类型,比如nginx日志,mysql日志,每一种日志都有自己的字段映射。列出一个类型的所有字段很容易,比如GET /logstash-2018.05.08/_mapping/mysql

众所周知,Elasticsearch6 有移除类型的概念,在索引中,我们的日志数据只有一种类型,称为doc. 如果我使用GET /logstash-2018.05.08/_mapping/doc,它将返回所有字段映射,包括所有日志类型,很难识别哪个字段属于 mysql 或 nginx。

而且我仍然想列出特定类型的所有字段映射。怎么做?

4

1 回答 1

1

我对此有一个想法,但我不确定这是否对你有帮助。

来自 Elastic 的人建议将每个文档类型的索引作为映射类型的替代方案之一。也许您可以转移到单独的索引并拥有:

/logstash-2018.05.08-mysql
/logstash-2018.05.08-nginx

那么您将能够获得与以前类似的字段:

/logstash-2018.05.08-mysql/_mapping/doc
/logstash-2018.05.08-nginx/_mapping/doc

稍后您可以为所有这些索引添加别名,以便在需要时搜索所有这些索引:

POST /_aliases
{
  "actions" : [
    { "add" : { "index" : "logstash-2018.05.08-*", "alias" : "logstash-2018.05.08" } }
  ]
}

这样从搜索的角度来看,您仍然可以在下面进行搜索,/logstash-2018.05.08但您将像以前一样为每个源提供单独的索引和映射。

于 2018-05-08T10:57:38.460 回答