【问题标题】:Logstash File Input Not Writing to Elasticsearch Installation on AWS EC2Logstash 文件输入未写入 AWS EC2 上的 Elasticsearch 安装
【发布时间】:2020-06-23 16:12:57
【问题描述】:

我正在使用 Logstash 版本 7.8.0 和 Elasticsearch 版本 7.7.1,两者都安装在 AWS EC2 实例上。

我的conf.d 目录中有以下logstash 配置:

input {
  file {
    path => "/home/ec2-user/logs/app.log"
    type => "syslog"
    start_position => "beginning"
    sincedb_path => "/dev/null"
  }
}
output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
  }
}

但问题是它没有将日志写入 Elasticsearch logstash 索引。

日志显示它已成功连接到 Elasticsearch。

相同的配置/设置在我的本地计算机 (Ubuntu) 上运行良好,但在 AWS Amazon Linux 2 上无法运行。

【问题讨论】:

  • 能否在命令行--log.level debug使用如下开关启动Logtash并提供日志输出?
  • 当然,我在粘贴日志时遇到错误。它说正文限制为 30000 个字符,但我输入了 64000。还有其他方式发送吗?
  • 您确定您的输入文件/home/ec2-user/logs/app.log 确实存在并且您有权读取它吗?
  • 很高兴它有帮助!随意提供答案,因此有相同问题的人不必阅读所有 cmets :-)

标签: elasticsearch logstash elastic-stack elk


【解决方案1】:

在为此浪费了 3.5 天之后,因为即使您将日志记录设置为 Trace 也没有指示问题的日志,我发现问题在于包含输入的目录(包括该目录的所有父目录)日志文件必须对“世界”开放“读取”和“执行”权限,以便“logstash”程序在 Elasticsearch 中读取和索引这些文件。

要获取trace 日志,请执行以下操作:

在“/etc/logstash/logstash.yml”中,添加: log.level: trace

在'/etc/logstash/conf.d/your-config-file.conf'中,添加:

output {
stdout { codec => rubydebug }
}

【讨论】:

    猜你喜欢
    • 2012-12-09
    • 1970-01-01
    • 2016-08-19
    • 2018-12-07
    • 1970-01-01
    • 2021-08-18
    • 2015-10-29
    • 2016-09-02
    • 2015-08-27
    相关资源
    最近更新 更多