Logstash输出到错误的Elasticsearch索引,日期字段无效的原因及解决方案

135次阅读
没有评论

问题描述

在使用ElasticSearch 7.0和Logstash 7.0的组合时,遇到了一个问题:尽管在Logstash配置中使用了默认的索引模式,但是日志仍然只被输出到一个名为logstash的索引中,而不是按照日期生成对应的索引。用户怀疑AWS是否在其他配置文件中覆盖了这些设置,同时也想知道是否有命令行选项可以追踪设置的来源。

解决方案

在解决这个问题之前,请确保你已经按照以下步骤进行了检查:

  1. 确保Elasticsearch和Logstash的版本是7.0,以确保解决方案适用。
  2. 检查你的Logstash配置文件,确保输出插件中的索引模式设置是正确的。

以下是解决问题的步骤和建议:

步骤1:启用Elasticsearch的调试模式

  1. 打开Elasticsearch的配置文件。根据你的安装方式,配置文件的位置可能会有所不同。
  2. 找到日志配置部分,通常在logging.yml文件中。你可以按照Elasticsearch的日志记录文档配置调试模式。
  3. 在日志配置中,将日志级别设置为debug,以便获取更详细的日志信息。
  4. 重新启动Elasticsearch服务。

步骤2:检查Logstash配置文件

  1. 打开你的Logstash配置文件,通常命名为logstash.conf
  2. 确保输出插件部分的配置与你之前提供的配置一致,特别是索引模式部分:
    yaml
    output {
    elasticsearch {
    hosts => [ "localhost:9200" ]
    index => "logstash-%{+YYYY.MM.dd}" # 确认此处配置正确
    }
    }

步骤3:调试Logstash配置

  1. 在Logstash的命令行选项中,可以使用--config.debug来启用调试模式,以便查看Logstash配置的详细信息。
    bash
    bin/logstash --config.test_and_exit --config.debug -f your_logstash_config.conf
  2. 检查命令行输出,确保配置被正确加载。

步骤4:检查Elasticsearch日志

  1. 查看Elasticsearch的日志,根据启用的调试模式级别,你应该能够看到更多关于索引操作的详细信息。检查是否有关于索引创建的错误或警告。

步骤5:检查其他可能的配置干扰

  1. 检查是否有其他的配置文件、环境变量或AWS相关设置干扰了你的Logstash和Elasticsearch配置。
  2. 确保你的AWS EC2实例上没有其他的配置覆盖了你的Logstash设置。

如果你在以上步骤中找到了问题,你应该能够解决Logstash输出到错误索引的问题。请确保仔细检查配置文件,并参考Elasticsearch和Logstash的官方文档进行调试和配置。

注意:如果问题仍然存在,你可能需要查看更详细的日志信息,或者进行更深入的配置检查。

正文完