【发布时间】:2016-12-06 22:21:31
【问题描述】:
我正在接收来自 Twitter 的 Web 服务数据并记录到文件中,之后我需要将该数据发送到 Logstash,以便将这些数据编入 Elasticsearch 的索引。
我正在使用下面的配置,这给 jsonparsefailure 异常为
JSON 解析失败。回退到纯文本 {:error=>#> LogStash::Json::ParserError: Unexpected character (':' (code 58)): 期望一个>有效值(数字、字符串、数组、对象、'true'、'false' 或 'null')
我的 logstash conf 文件看起来像:
input
{
file
{
path => ["/mnt/volume2/ELK_Prashant/at/events.json"]
codec => json
type => json
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
output
{
stdout { codec => rubydebug }
}
events.json 中的数据可以参考https://dev.twitter.com/rest/reference/get/search/tweets,示例如下:
events.json
[
{ "location": "LA, CA",
"follow_request_sent": null,
"profile_link_color": "0084B4",
"is_translator": false,
"id_str": "137238150",
"entities": {
"url": {
"urls": [
{
"expanded_url": null,
"url": ""
}
]
}
}
}
]
【问题讨论】:
-
在您的
events.json文件中,每个 JSON 事件是否都在一行中,没有任何换行符?
标签: json elasticsearch logstash logstash-file