如何使用AmazonES的Logstash插件向ES发送json事件?
我是新手。正在尝试使用向ES发送json事件 但是,当我给出以下配置时,它不识别任何事件如何使用AmazonES的Logstash插件向ES发送json事件?,json,amazon-web-services,
elasticsearch,logstash,codec,Json,Amazon Web Services,
elasticsearch,Logstash,Codec,我是新手。正在尝试使用向ES发送json事件 但是,当我给出以下配置时,它不识别任何事件 input { file { path => "C:/Program Files/logstash-2.3.1/transactions.log" start_position => beginning codec => "json_lines"
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认为您的文件已被处理。开始位置仅适用于以前未见过的文件。如果正在测试,请将sincedb_path设置为/dev/null,或者手动管理注册表文件
- 您有映射问题。Elasticsearch将在字段映射不正确时删除文档(尝试将字符串插入数字字段等)。如果您可以在AWS上找到elasticsearch日志,则应将其显示在日志中
- 调试非常冗长。如果你真的什么都没有得到,那么你就没有收到任何输入。请参见第一个项目符号
- 在工作正常之前,添加stdout{}输出是一个好主意。这将显示logstash发送给elasticsearch的内容