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

如何使用Logstash循环发送单个文件中的数据?

Logstash循环读取预制日志实现负载测试:可行方案

完全可行,针对你的负载测试需求,有两种实用的实现方式:

方式1:用exec插件定时读取文件

通过exec插件定期执行读取文件的命令,每次执行都会完整发送目标日志文件的内容,适合固定间隔的循环场景。

配置示例:

input {
  exec {
    command => "cat /path/to/your/test-log.log"
    interval => 30  # 自定义循环间隔,比如每30秒发送一次
  }
}

filter {
  # 按需添加日志解析、过滤规则
}

output {
  # 配置你的输出目标(如Kafka、Elasticsearch等)
}

方式2:基于file插件配合定时触发

如果习惯用file输入插件,可以通过禁用读取位置记录+定时触发文件更新的方式实现循环:

  1. Logstash配置:
input {
  file {
    path => "/path/to/your/test-log.log"
    start_position => "beginning"
    sincedb_path => "/dev/null"  # 不保存读取进度,Linux/macOS用这个,Windows用"NUL"
    stat_interval => 5  # 每5秒检查文件状态
  }
}
  1. 定时触发文件更新:
    在Linux系统中添加cron定时任务,每隔一段时间更新文件的时间戳,触发Logstash重新从头读取:
*/30 * * * * touch /path/to/your/test-log.log

Windows则可以用任务计划程序执行类似的copy /b test-log.log +,,命令来更新文件时间戳。

注意点

  • 若日志文件体积较大,要合理设置循环间隔,避免给Logstash或下游系统带来过载风险
  • 多个场景的预制日志可以通过配置多组输入规则分别处理

内容的提问来源于stack exchange,提问作者dorony

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 14:35:59