【问题标题】:Logstash - won't parse JSONLogstash - 不会解析 JSON
【发布时间】:2014-07-17 14:03:37
【问题描述】:

我想使用 Logstash 将 parse 数据发送到 Elasticsearch。到目前为止,这很好用,但是当我尝试解析 JSON 文件时,Logstash 就不会做任何事情。我可以毫无例外地启动 Logstash,但它不会解析任何内容。

我的配置有问题吗? JSON文件的路径是正确的。

我的 JSON:

{
  "stats": [
    {
      "liveStatistic": {
        "@scope": "21",
        "@scopeType": "foo",
        "@name": "minTime",
        "@interval": "60",
        "lastChange": "2011-01-11T15:19:53.259+02:00",
        "start": "2011-01-18T14:19:48.333+02:00",
        "unit": "s",
        "value": 10
      }
    },
    {
      "liveStatistic": {
        "@scope": "26",
        "@scopeType": "bar",
        "@name": "newCount",
        "@interval": "60",
        "lastChange": "2014-01-11T15:19:59.894+02:00",
        "start": "2014-01-12T14:19:48.333+02:00",
        "unit": 1,
        "value": 5
      }
    },
    ...
  ]
}

我的 Logstash 代理配置:

input {
  file {
    path => "/home/me/logstash-1.4.2/values/stats.json"
    codec => "json"
    start_position => "beginning"
  }
}

output {
  elasticsearch {
    host => localhost
    protocol =>"http"
  }
  stdout { 
    codec => rubydebug 
  }
}

【问题讨论】:

    标签: json elasticsearch logstash


    【解决方案1】:

    您应该将以下行添加到您的输入中:

    start_position => "beginning"
    

    还将完整的文档放在一行中,并可能在您的文档周围添加 {} 以使其成为有效的 json 文档。

    【讨论】:

      【解决方案2】:

      好的,有两件事:

      首先,file 输入默认设置为在文件末尾开始读取。如果您希望文件从头开始读取,则需要设置 start_position。示例:

      file {
          path => "/mypath/myfile"
          codec => "json"
          start_position => "beginning"
      }
      

      其次,请记住,logstash 保留了一个 sincedb 文件,该文件记录了您已经阅读了多少行文件(以免重复解析信息!)。这通常是一个理想的功能,但对于测试静态文件(这就是您正在尝试做的事情),那么您想要解决这个问题。我知道有两种方法。

      一种方法是,您可以在每次要运行 logstash 时创建文件的新副本,并记住告诉 logstash 从该文件中读取。 另一种方法是您可以去删除 sincedb 文件,无论它位于何处。您可以使用 sincedb_path 功能告诉 logstash 在哪里写入 sincedeb 文件。

      我希望这一切都有帮助!

      【讨论】:

        猜你喜欢
        • 2015-04-29
        • 1970-01-01
        • 2021-07-03
        • 1970-01-01
        • 1970-01-01
        • 2015-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多