天天看点

批量导入历史文件到日志服务

批量导数据的场景

日志服务主要接收实时写入日志,通过在机器上安装logtail,在控制台配置logtail配置,就能够实时收集到新产生的日志。但是对于一下场景

  • 新接入SLS的用户,希望把老的数据导入SLS。
  • 用户误操作造成的数据没有收集,需要补数据。
  • 日志不是实时产生,但需要批量导入,比如mysql binlog。

对于以上场景,用户需要使用日志服务的批量导数据工具才能够把数据写入日志服务。

导数据操作步骤

以下以导入/var/log/nginx/error_log.1到日志服务的nginx_log这个logstore为例,介绍导入历史数据的操作流程:

  1. 下载导数据工具 地址1 到你需要导数据的机器上.
  2. 在控制台为logstore(nginx_log)配置logtail配置,如果已经有了logtail配置,请忽略该步骤。logtail配置只需要正则式和时间格式能够匹配文件内容,不要求路径和文件名匹配。
  3. 把logtail配置应用到机器组上,机器组列表要包含导数据的机器ip、
  4. 在机器上执行
./import_log  --dir=/var/log/nginx/ --file=error_log.1 --begin_time=1443567661 --end_time=1448838061 \
--sls_region=cn-yunlei --project=ali-slsyunlei-scmg --logstore=nginx_error_log --topic=  \
--use_system_time=false  --quota_mb_per_min=500 --quota_qps=200   --dry_run=false           

命令参数介绍

  • 文件相关参数
    • 目录名 --dir
    • 文件名 --file
    • 起始时间表示从哪个时间点开始导入数据 --begin_time
    • 结束时间表示导入数据截至到哪个时间点 --end_time
  • 日志服务参数,分别表示导入到哪个sls_region下的哪个project的logstore中,topic是什么
    • sls_region
    • project
    • logstore
    • topic
  • 系统参数
    • quota_qps 每分钟发送次数
    • quota_mb_per_min 每分钟数据量Mb
    • use_system_time=true 使用系统时间
    • dry_run=true 调试,把日志打印到终端
  • Region地址
    + cn-hangzhou  
    + cn-qingdao 
    + cn-beijing 
    + cn-shenzhen