当前位置: 首页 > 知识库问答 >
问题:

如何配置logstash来创建elasticsearch索引?

华炜
2023-03-14

elasticsearch版本:elasticsearch-2.2.0。rpm logstash版本:logstash-2.2.2-1。诺奇。转速

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

行动=

它是黄色的并且不可用的原因是因为分片的数量是5,副本是3。如果我运行:

curl-XPUT'http://localhost:9200/index2/“-d”索引:碎片数:1副本数:0”

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

谢谢

共有3个答案

凌博实
2023-03-14

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

   PUT /my_index
       {
        "settings": {
            "number_of_shards" :   1,
            "number_of_replicas" : 0
       }
       }
陈功
2023-03-14

为了完成Val的回答,这里是ES版本5的更新。x:

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

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

>

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

    {
      "template" : "syslog*",
      "version" : 50001,
      "settings" : {
       "index.refresh_interval" : "5s",
       "index.number_of_replicas" : 0,
       "index.number_of_shards" : 1
      },
    ...
    }
    

    更新logstash配置,以便输出使用创建的模板:

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

    重新启动服务

  • 隗俊誉
    2023-03-14

    你有三种解决方案:

    1. 您可以覆盖Logstash使用的默认索引模板,并为自己提供适当的设置,即使用“副本数”:0
    2. 使用正确的索引设置在ES中创建索引模板
    3. elasticsearch中。yml,您可以更改名为索引的设置。复制副本的数量,并将其设置为0(然后重新启动ES)

     类似资料:
    • 我正在尝试使用logstash配置在kibana中可视化mongodb数据。下面是我的配置。我在终端中得到一些输出,它永远循环。我看不到由配置文件中提到的名称创建的任何索引,如果索引是生成的,也没有任何数据。在discover选项卡中没有匹配的结果。如何在Kibana中使配置可视化数据? http://localhost:9200/ayesha_logs/_search?漂亮 终端日志:D,[20

    • 问题内容: 我正在使用logstash将日志输入ElasticSearch。我将logstash输出配置为: 我注意到,一旦启动logstash,它就会在ES中创建一个映射(日志),如下所示。 如何防止Logstash创建此映射? 更新: 我现在也解决了此错误。 “ [logs]的对象映射试图解析为对象,但是得到了EOF,是否提供了具体的价值?” 正如John Petrone在下面所述,定义映射后

    • 问题内容: 在我的工作主要有两个指标集群,比方说和,但是这两个指标每一天索引,以便normaly我有和。 我要的是有一个别名,其收集和在一起,并命名。 有谁知道如何使用logstash在一个别名中收集两个索引? 先感谢您 问题答案: 据我所知,没有办法直接用logstash做到这一点。您可以使用Elasticsearch API从外部程序执行此操作:http : //www.elastic.co/

    • 我对Elasticsearch完全陌生 我知道elasticsearch的索引不是mongobd的索引,它们就像mongodb的集合 我在elasticsearch中有一些索引(相当于MongoDB的集合),我想确保其中的特定字段将被索引(检索它们的速度将得到提高等等)。 我该怎么做? 在mongoDB中,它非常简单,因为我可以在集合上使用createindex()和ensureindex()方法

    • 问题内容: 我需要为索引禁用自动索引创建,但需要允许另一个索引。如何仅通过Elasticsearch禁用特定索引的自动索引创建?我试过了 在elasticsearch.yml文件中,但似乎禁用了所有的所有自动索引。有人可以帮我吗? 问题答案: 除了true / false值之外,“ action.auto_create_index”有点复杂。我们可以使用索引名称中出现的模式进行识别,并可以指定是否

    • 问题内容: 这听起来像是一个非常笼统的问题,但这是正确的。 我有一个要求,以创建我的应用程序配置脚本,将生成的这种配置的结果(基本,,)。我的问题是,我应该从哪里开始构建?有没有我可以效仿的例子? 问题答案: 要创建标准的“配置”脚本,您需要GNU autoconf。您可能还需要GNU automake和libtool。 有大量的文档和指导。谷歌搜索“ autoconf automake howt