【问题标题】:How to create an alias on two indexes with logstash?如何使用logstash在两个索引上创建别名?
【发布时间】:2015-07-08 14:16:57
【问题描述】:

在我正在处理的集群中有两个主要索引,比如说indexAindexB,但这两个索引每天都会被索引,所以我有indexA-{+YYYY.MM.dd}indexB-{+YYYY.MM.dd}

我想要的是有一个别名,将indexA-{+YYYY.MM.dd}indexB-{+YYYY.MM.dd} 聚集在一起并命名为alias-{+YYYY.MM.dd}

有谁知道如何使用 logstash 在一个别名中收集两个索引?

提前谢谢你

【问题讨论】:

    标签: alias logstash logstash-grok elasticsearch


    【解决方案1】:

    据我所知,没有办法直接使用logstash。您可以使用 elasticsearch API 从外部程序执行此操作:http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html

    例如:

    curl -XPOST 'http://localhost:9200/_aliases' -d '
    {
        "actions" : [
            { "add" : { "index" : "indexA-2015.01.01", "alias" : "alias-2015.01.01" } },
            { "add" : { "index" : "indexB-2015.01.01", "alias" : "alias-2015.01.01" } }
        ]
    }'
    

    另一个选项(不符合您将其命名为alias-yyyy.mm.dd 的要求)是使用索引模板,该模板会在创建索引时自动添加别名。

    http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html:

    curl -XPUT localhost:9200/_template/add_alias_template -d '{
      "template" : "index*",
      "aliases" : {
        "alias" : {}
        }
      }
    }'
    

    这会将alias 的别名添加到每个名为index* 的索引中。

    然后您可以针对别名执行所有查询。您可以在 Kibana 中将该别名设置为索引,然后一切正常。

    【讨论】:

      猜你喜欢
      • 2020-03-20
      • 2015-05-27
      • 2021-01-26
      • 2021-03-19
      • 2015-11-15
      • 1970-01-01
      • 2014-08-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多