You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Logstash File Input异常:修改日志文件后无输出问题排查

Logstash容器无响应问题排查与解决

核心问题点

  1. 配置文件挂载方向错误
    Docker的-v参数规则是本地路径:容器内路径,你当前命令里把容器内的配置文件路径写在了前面,导致Logstash根本没加载到你本地的logstash.conf,而是使用了容器默认配置。

  2. 输入输出文件未挂载到容器
    你配置里指定的日志文件和输出文件都是本地路径,但容器是隔离环境,无法直接访问本地文件系统,必须通过挂载把本地路径映射到容器内部,否则Logstash找不到目标文件,自然不会有输出。

修正步骤

1. 调整Docker运行命令

修正挂载方向,同时挂载日志文件和输出目录:

docker run -it \
  -v /Users/igunel/Desktop/logstash.conf:/usr/share/logstash/config/logstash.conf \
  -v /Users/igunel/Desktop/SpringBootELK.log:/usr/share/logstash/SpringBootELK.log \
  -v /Users/igunel/Desktop:/usr/share/logstash/output \
  --name myLogstash \
  --network=elastic-network \
  -e "ssl_certificate_verification=false" \
  logstash:8.8.1

2. 修改Logstash配置文件

把路径改成容器内的挂载路径,同时可选添加start_position参数读取已有内容:

input {
  file { 
    path => '/usr/share/logstash/SpringBootELK.log'
    start_position => "beginning" # 首次运行时读取文件现有内容,默认只监听新追加内容
  }
}
output {
  file {
    path => '/usr/share/logstash/output/output.txt'
    codec => rubydebug
  }
}

3. 前置操作

运行新容器前,先清理旧容器:

docker stop myLogstash && docker rm myLogstash

额外注意事项

  • 确保本地的SpringBootELK.log文件存在,且本地目录权限允许容器读取
  • 修改日志文件时要追加内容(比如用echo "test log" >> SpringBootELK.log),直接编辑替换内容可能不会触发Logstash的文件监听

内容的提问来源于stack exchange,提问作者İlkay Gunel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 13:52:35