背景
sls 收费存储和索引各占一部分,而且索引的收费不便宜,毕竟查看很久之前的历史数据是比较低频的操作。
为节约费用,可以将日志直接导出到归档规格的 oss,sls 本身只保留较短时间即可(比如一周)。需要查看历史日志时,再创建个临时 project 将日志从 oss 导入 sls,看完删除即可。
一、新写入日志导出到 oss
sls 可以直接开启投递到 oss,但是只支持新写入的日志
点开 logstore,在导出中选择 OSS(对象存储)
点击开启投递
填写用于保存日志的 OSS 信息
二、历史日志导出到 oss
准备信息:
源sls 的project目标 oss 的bucketAccessKey ID 和AccessKey Secret
历史日志导出到 oss 目前只能借助 dataworks 来实现
开通 dataworks 服务,在空间列表创建新工作空间
点击数据集成
进入数据源管理
点击新增数据源
添加 sls 数据源,选择 loghub,网络选择阿里云 vpc,其他根据具体信息填写即可
添加 oss 数据源,网络选择阿里云 vpc,其他根据具体信息填写即可
进入数据开发页面
点击带"+"的图标,创建业务流程
创建离线同步,目标文件夹中就是刚才创建的业务流程
配置同步信息
来源选择 loghub(sls)
注意时间戳格式
去向选择 oss
文本类型选择 text
列分隔符配置一个日志内容中不会包含的字符,可以用生僻汉字组合的 unicode
并发数根据情况设置,公共资源组的机器网络能力都是共享的 高峰时段资源会有争抢的情况,任务快慢和资源组网络能力、源、目标负载都有关系
点击保存,运行,不要点击提交,否则会周期性运行。
三、从oss 把日志导入 sls
oss 导入到 sls 有2个入口:
project/接入数据打开 project,点击右侧的接入数据
选择 OSS-对象存储
如果之前 OSS 使用的规格是归档型,这里要打开解冻,填好信息点击预览,然后点击下个配置
如果选择 oss region 时提示没有权限,需要点击提示连接授权后再继续操作