【问题标题】:Logstash reads data from stdin but not from fileLogstash 从标准输入读取数据而不是从文件中读取数据
【发布时间】:2016-06-02 15:44:38
【问题描述】:

我有一个 JSON 日志文件,其中只有一行:

{"@timestamp":"2016-06-02T13:56:49.235+00:00","thread_name":"qtp485047320-228","level":"ERROR","host":"domain.com","class":"MyClass","url":"/my-url","ip":"12.122.122.122","message":"Exception caught by exception handler.","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36","stacktrace":"com.test.exceptions.NotFoundException: NotFoundException for parameter [12345678-1234]. Message: url was not found by service.]"}

这是我的 logstash.conf 文件:

input {
     # stdin {}
    file {
      path => "/Users/me/Applications/logstash-2.3.1/examples/json_input.1.log"
      start_position => "beginning"
    }
}
filter {

    json{
        source => "message"
    }

    geoip {
        source => "ip"
        target => "geoip"
    }
}
output {
    stdout { 
        codec => rubydebug 
    }
    elasticsearch { 
        hosts => ["localhost:9200"]
        index => "logstash-app-errors"
    }
}

如您所见,在输入部分我使用了标准输入(现在在评论中),后来我改为从文件中读取数据。
问题是,当我使用标准输入并粘贴 json 数据(1 行)时,一切正常,我在 elasticSearch 中看到数据,但是当我将其更改为文件时,没有任何反应...
我还将--debug 参数添加到logstash 执行命令./logstash agent -f logstash.conf --debug,但在调试输出中看不到任何可疑内容。

我错过了什么?

【问题讨论】:

  • 您检查过您的权限吗?你是如何安装/运行logstash的。 Logstash 作为服务与 logstash 用户一起运行。此用户将无法访问位于您的主文件夹中的日志文件。不幸的是,文件输入不会报告这个错误。将您的日志文件移动到其他位置(例如 /var)或(作为测试)使用 chmod 777 或其他方式让每个人都可以访问您的文件。
  • 谢谢@pandaadb,但它对我不起作用。它不是logstash即服务+今天早些时候我能够从该文件中读取。我将文件移动到 /var/log 并没有帮助,还尝试 sudo ./logstash 没有成功...
  • 还有一件事 - 在每次尝试之前我都会删除 .sincedb。

标签: json logstash elastic-stack logstash-configuration


【解决方案1】:

发现问题 - 如果输入文件只有一行数据,您应该添加一个空的新行。 这解决了我的问题。不敢相信我在那个上面花了这么多时间......

编辑:
向elastic开了一个issue,可以关注issue状态here

【讨论】:

  • 我认为这是因为默认的行分隔符是“\n”,所以当它只有一行时,没有“\n”而是EOF。我认为这就是该错误的原因。
  • 如果它是一个错误,你可能想用 logstash 提出它:)
  • 刚刚写了它们:)
猜你喜欢
  • 1970-01-01
  • 2011-02-20
  • 1970-01-01
  • 2016-09-22
  • 1970-01-01
  • 2018-07-26
  • 2019-07-26
  • 2021-11-05
  • 1970-01-01
相关资源
最近更新 更多