菜单

FileScout 使用指南

一、 FileScout 简介

FileScout 是基于 Filebeat 二次开发, 增加了 output http 和定时删除过期日志(过期时间可自定义)的日志上传工具
FileScout 主要用于将 DT 服务端 SDK 写入的日志数据实时的导入 DT server 后台, 可以自定义监控服务器日志目录, 当目录下有新文件产生时, 会实时发送至 DT server 后台
 
适用用户群体
  1. 基于各方面原因和考虑, 不方便使用客户端 SDK 上报的用户
  2. 已经使用服务端 SDK 保存 DT 格式数据的用户
  3. 对传输效率有一定要求的用户
 

二、 下载 FileScout

当前版本号: 1.0.1
发布/更新时间:2025.09.05
  1. amd:https://storage.googleapis.com/datatower-backend-storage/dt-sdk/filescout/filescout-linux-amd64.zip
  2. arm:https://storage.googleapis.com/datatower-backend-storage/dt-sdk/filescout/filescout-linux-arm64.zip
  3. mac m芯片:https://storage.googleapis.com/datatower-backend-storage/dt-sdk/filescout/filescout-mac-mchip.zip
  4. mac intel芯片:https://storage.googleapis.com/datatower-backend-storage/dt-sdk/filescout/filescout-mac-intel.zip
  5. windows:https://storage.googleapis.com/datatower-backend-storage/dt-sdk/filescout/filescout-windows.zip

三、 使用前准备(请仔细阅读)

  1. 确认上传文件的存放目录, 配置后 FileScout 会自动监测目录下文件的变化
  2. 请勿对监控目录下的文件进行重命名, 这会导致重新上传, 有可能会造成数据重复
  3. 请勿直接使用 kill -9 强杀进程, 这样程序无法正常结束正在处理的工作
  4. 确保 FileScout 可执行文件和配置文件在同一目录下
  5. 若不使用 DT 的服务端 SDK, 自行写入文件, 请确保文件名和 SDK 写入的文件名格式一致, 文件内容确保单行就是一个有效的 json, FileScout 不对数据是否在业务上合法进行任何校验
  6. 请勿删除 FileScout 目录下的文件和文件夹
  7. 请根据磁盘空间和 log 文件大小合理配置文件过期时间用以执行定时删除任务
 

四、 FileScout 安装和使用

  1. 下载对应系统的压缩包, 并解压, 修改目录下 filebeat.yml 配置文件后直接执行 ./filescout start 即可
  2. 停止程序可以使用 ./filescount stop
  3. 输入 ./filescout restart 可以重启项目
  4. 定时删除任务一个小时执行一次, log 的过期时间可以在配置项中配置
  5. Windows 版本也需要在命令行中使用
 

五、 配置文件指南

5.1 基本配置模板

请基于配置模板进行修改避免 yml 的格式错误问题, 请勿删除 - 符号
filebeat.inputs:
  - type: log
    enabled: true
    paths:
      - "/path/to/your/log/dir1/*.log"
      - "/path/to/your/log/dir2/*.log"
    json.key_under_root: true
    json.overwrite_keys: true
  - type: log
    enabled: false
    paths:
      - "/path/to/your/log/dir3/*.log"
      - "/path/to/your/log/dir4/*.log"
    json.key_under_root: true
    json.overwrite_keys: true
output.http:
  url: "https://{api_server_url}/sync"
  retry_interval: 5
  batch_size: 100
  app_id: "dt_xxxxxxxx"
  token: "xxxxx"
sweeper:
  unit: "hour"
  offset: 1
 
 

5.2配置参数说明

5.2.1 配置项目列表

配置项
类型
示例
必填
说明
filebeat.inputs
List[Object]
 
数据源列表
output.http
Object
 
上报相关配置
sweeper
Object
 
定时删除配置, 默认值为 24 小时
 

5.2.2 数据来源 (filebeat.inputs)

配置项
类型
示例
必填
说明
type
String
log
说明数据源类型, 暂时只支持 DT 服务端 SDK 的 log 文件
enabled
Bool
true/false
该数据源是否启用, false 不会发送目录下数据
paths
List[String]
 
监控的日志目录
json.key_under_root
Bool
 
请勿修改, 将 json 序列化后的 key 放入根 output 对象下
json.overwrite_keys: true
Bool
 
请勿修改, 覆盖之前的同名 key
 
close_inactive
String
1m
主动释放大于这个时间未变更的文件的文件描述符
close_removed
Bool
true/false
主动释放被删除的文件的文件描述符, 若该项为 false, 则 clean_removed 也必须为 false
clean_removed
Bool
true/false
主动从注册表中清除被删除的文件
 

5.2.3 上报相关 (output.http)

配置项
类型
示例
必填
说明
url
String
 
上报地址,"https://report.roiquery.com/sync"
retry_interval
Int
5
上报请求失败后重试的间隔秒数
batch_size
Int
100
将多少个 event 合并上报, 减少请求次数
app_id
String
 
和数据上报的 app_id 无关, 只用作校验, 只需要满足 DT 后台存在该 app_id 并启用即可
token
String
 
线上服务使用的校验 token,请联系DT工作人员进行申请
 

5.2.4 定时删除相关 (sweeper)

配置项
类型
示例
必填
说明
unit
String
"hour"
定时删除的单位, 仅支持 "hour" 和 "day"
offset
Int
5
定时删除的偏移量, 正整数, 超过 unit * offset 的 log 文件会被视作过期被删除
  • sweeper 可以不填写, 默认 unit 为 "hour", offset 为 24, 即 24 小时
  • 若 sweeper 填写错误, 会使用默认配置
  • 定时删除任务为每隔一个小时一次执行一次, 在 FileScout 启动时会执行一次
  • 例如 FileScout 启动时间为 5:01pm, 启动时执行完删除任务后, 下一次删除任务的启动时间是 6:01pm
 
使用示例:
  1. unit 为 "hour", offset 为 3, 定时删除启动时间为 12 号 5:30pm, 则 12 号 2:30pm 之前的文件都会被删除
  2. unit 为 "day", offset 为 3, 定时删除启动时间为 12 号 5:30pm, 则 9 号 5:30pm 之前的文件都会被删除
上一个
数据导入
下一个
辅助文档
最近修改: 2025-09-05