alias - 如何使用 logstash 在两个索引上创建别名?

标签 alias logstash logstash-grok elasticsearch

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

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

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

提前致谢

最佳答案

据我所知,没有办法直接使用 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 中将该别名设置为索引,一切都会正常进行。

关于alias - 如何使用 logstash 在两个索引上创建别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29941296/

相关文章:

对 C 限制限定符感到困惑

indexing - Elasticsearch:自动索引删除/过期

elasticsearch - 只允许索引模板中的字段

regex - 根据Logstash中的另一个字段创建索引

php - 将列结果存储在变量中

sql - 计算 sum() 两个别名命名的列 - 在 sql 中

hadoop - logstash 非法状态异常?

elasticsearch - 从日志消息中提取时间戳

javascript - Node.js Babel 构建和 npm 模块别名

elasticsearch - 如何使用 Elasticsearch 为窗口配置logstash?