繁体   English   中英

如何使用适用于 Amazon ES 的 Logstash 插件将 json 事件发送到 ES?

[英]How to send json events to ES with Logstash Plugin for Amazon ES?

我是 ES 的新手。 尝试使用https://github.com/awslabs/logstash-output-amazon_es将 json 事件发送到 ES 但是,当我提供以下配置时,它无法识别任何事件?

   input {
        file {
            path => "C:/Program Files/logstash-2.3.1/transactions.log"
            start_position => beginning
            codec => "json_lines"
        }
    }
    filter {
       json {
            source => "message"
       }
    }
    
    output {
        amazon_es {
            hosts => ["endpoint"]
            region => "us-east-1"
            codec => json
            index => "production-logs-%{+YYYY.MM.dd}"
            
        }
    }

我在调试模式下运行它,但日志中没有任何内容 在开始从 Logstash 发送事件之前,我还需要创建索引吗?

下面的配置以某种方式工作,但它无法识别任何 json 字段

input {
    file {
        path => "C:/Program Files/logstash-2.3.1/transactions.log"
        start_position => beginning
    }
}

output {
    amazon_es {
        hosts => ["Endpoint"]
        region => "us-east-1"
        index => "production-logs-%{+YYYY.MM.dd}"
    }
}

这里可能有几件事情在起作用,包括:

  • Logstash 认为您的文件已被处理。 start_position 仅适用于以前未见过的文件。 如果您正在测试,请将sincedb_path 设置为/dev/null,或者手动管理您的注册表文件。
  • 你有映射问题。 当字段映射不正确(尝试将字符串插入数字字段等)时,Elasticsearch 将删除文档。 如果您可以在 AWS 上访问它们,这应该显示在 elasticsearch 日志中。
  • 调试非常冗长。 如果你真的什么也没得到,那么你就没有收到任何输入。 请参阅第一个项目符号。
  • 添加 stdout{} 输出是一个好主意,直​​到您开始工作。 这将向您展示 logstash 发送到 elasticsearch 的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM