解析Json错误Logstash

问题描述 投票:1回答:1

我试图读取日志通知json并将结果吐出到stdout与logstash我的json文件如下:

我想知道如何在json下解析

{"shoppers" : [
{
"type": "login",
"source": "user",
"triggered_at": "Login Screen",
"triggered_by": "Login Button",
"api_url": "<URL>",
"username": "Shopper123",
"timestamp": "17.04.2017 13:37:57"
},
{
"type": "logout",
"source": "user",
"triggered_at": "Account Screen",
"triggered_by": "User Pressed Logout Button",
"api_url": "<URL>",
"username": "Shopper123",
"timestamp": "17.04.2017 13:37:57"
}
]}

我的logstash conf示例文件如下所示:正如您所看到我正在读取s3存储桶而我正在使用json过滤器,但结果总是显示我_parsejsonerror

input {
    s3 {
        access_key_id => '<access_key>'
        secret_access_key => '<secret_key>'
        bucket => 'some-bucket'
        region => 'eu-west-2'
        type => 'shopper_app'
        delete => true
        sincedb_path => "/home/user/logstash/last-s3-file"
        codec => json_lines
    }
}


filter {

    json {
        source => "message"
        add_field => ["type", "%{[message][type]}"]
    }
}



output
{
    stdout {codec => rubydebug}
}
logstash
1个回答
0
投票

实际上我解决了问题是由于格式错误的json文件引起的。 json文件不应包含新行,应如下所示:

[{"type": "login","source": "user","triggered_at": "Login Screen","triggered_by": "Login Button","api_url": "<URL>","username": "Shopper123","timestamp": "17.04.2017 13:37:57"},{"type": "logout","source": "user","triggered_at": "Account Screen","triggered_by": "User Pressed Logout Button","api_url": "<URL>","username": "Shopper123","timestamp": "17.04.2017 13:37:57"}]

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.