elasticsearch,logstash,Indexing,elasticsearch,Logstash" /> elasticsearch,logstash,Indexing,elasticsearch,Logstash" />

Indexing 如何配置logstash以创建elasticsearch索引?

Indexing 如何配置logstash以创建elasticsearch索引?,indexing,elasticsearch,logstash,Indexing,elasticsearch,Logstash,elasticsearch版本:elasticsearch-2.2.0.rpm logstash版本:logstash-2.2.2-1.noarch.rpm 我启动elasticsearch,然后使用具有基本stdin/stdout的/etc/logstash/conf.d/logstash.conf进行logstash,但没有创建elasticsearch索引。如果我将以下内容添加到日志存储输出配置中,我会得到一个指示黄色状态的索引: 操作=>“创建” 索引=>“主索引” 它呈黄色且不可用的原

elasticsearch版本:elasticsearch-2.2.0.rpm logstash版本:logstash-2.2.2-1.noarch.rpm

我启动elasticsearch,然后使用具有基本stdin/stdout的/etc/logstash/conf.d/logstash.conf进行logstash,但没有创建elasticsearch索引。如果我将以下内容添加到日志存储输出配置中,我会得到一个指示黄色状态的索引:

操作=>“创建” 索引=>“主索引”

它呈黄色且不可用的原因是碎片数为5,副本数为3。如果我跑步:

curl-XPUT'-d' 索引: 碎片的数量:1 复制副本的数量:0 "

“index2”是绿色的,可以使用。我如何告诉logstash和/或elasticsearch我希望我的索引有1个碎片和0个副本,而不发出curl命令


谢谢。

例如,您可以通过以下请求创建一个小索引,只创建一个主碎片,而不创建副本碎片:

   PUT /my_index
       {
        "settings": {
            "number_of_shards" :   1,
            "number_of_replicas" : 0
       }
       }

您有三种解决方案:

  • 您覆盖Logstash使用的,并使用正确的设置,即使用
    “副本数”:0
  • 您可以使用正确的索引设置在ES中创建索引
  • elasticsearch.yml
    中,更改名为
    index.number\u of\u replica
    的设置,并将其设置为0(然后重新启动ES)
  • 为了完成此操作,以下是ES 5.x版的更新:

    解决方案3不起作用,因为配置文件中禁用了索引级别配置:“因为无法在节点配置(如elasticsearch.yaml)上设置elasticsearch 5.x索引级别设置”

    解决方案1确实有效,下面是一个示例:

    • 从下载并编辑ES 5.x的基本模板
    • 更改模板名称以匹配索引名称模式,并添加首先要更新的索引设置:

      {
        "template" : "syslog*",
        "version" : 50001,
        "settings" : {
         "index.refresh_interval" : "5s",
         "index.number_of_replicas" : 0,
         "index.number_of_shards" : 1
        },
      ...
      }
      
    • 更新日志存储配置,以便输出使用创建的模板:

      output {
        elasticsearch {
          hosts => ["localhost:9200"]
          index => "syslog%{+YYYY.MM.dd}"
          template => "path_to_your_template.json"
          template_name => "syslog*"
          template_overwrite => true
        }
      }
      
    • 重新启动服务


    索引模板是否适合您?也可能这篇文章会为你的困境提供更好的背景。。。解决方案3在5.0.1版(可能在任何5.x版)上都不起作用,因为索引级别配置在配置文件中被禁用:“因为elasticsearch 5.x索引级别设置不能在节点配置(如elasticsearch.yaml)上设置”。资料来源:Good point@sebaGra。不过,这还剩下两个解决方案;-)事实上,@Val,我刚刚尝试了选项1,工作起来很有魅力:)。我在你的答案中添加了一个例子,因为我必须从这里和那里收集一些信息才能让它工作。@sebaGra只是创建了另一个引用我的答案的例子。