概述
对象存储服务(Object Storage Service,简称 OSS),是海量、安全、低成本、高可靠的云存储服务。OSS与日志服务相比,OSS存储的成本更低,不过日志服务中查询、结果展示、实时监控、数据加工等功能是OSS所不具备的。所以,可以将历史数据投递到OSS进行长期保存,SLS存储近期有查询分析需要的数据。
当历史数据有查询、分析需求时可以将OSS中的数据重新导入到SLS。
前提条件
- 已创建OSS Bucket,并将待导入的日志文件存储到OSS Bucket中,详情请参见上传文件。
- 已创建Project和Logstore,详情请参见准备流程。
- 已经完成云资源访问授权。
- 导入的OSS文件格式支持:JSON、CSV、Parquet、TEXT。
- 文件压缩格式支持:Gzip、Bzip2、Snappy,以及未压缩文件。
流程总览
- 检查导入日志服务的文件格式是否满足前提条件。
- 检查子账号是否有权限操作。主账号可以直接配置。
- 登陆日志服务配置OSS数据导入。
- 等待任务执行,查看数据及任务状态。
操作详情
测试导入的文件是之前从SLS发送到OSS的日志文件,bucket类型为标准存储。如果bucket是归档存储类型,建议提前解冻;在配置中也能进行解冻,不过解冻有一两分钟延迟,配置过程中解冻有可能误认为解冻不成功。
1. 检查OSS中待导入文件格式
在oss控制台找到文件,检查文件后缀。如图是snappy压缩格式的parquet文件,压缩格式、文件格式都是满足上述前提条件的。
![image.png image.png]()
2. 权限配置
导入配置测试使用的是主账号操作,并且已经完成云资源访问授权。子账号所需授权可以参考文档底部。
3. 创建导入配置
3.1 配置入口
首先,进入日志服务选择接入数据中的 OSS-对象存储,然后选择要写入的project、logstore之后点击下一步。如果还没有自建project、logstore可以参考 Project操作文档 以及 Logstore操作文档 进行创建。
![image.png image.png]()
3.2 配置详情
如图,配置名称自定义,OSS Region、Bucket、文件夹前缀都是需要导入文件的信息。
正则过滤是匹配的文件名称,采集目录下全部文件时可以不填,为空时默认采集全部文件。配置中也能打开解冻文件,不过由于OSS解冻文件会有几分钟的延迟,有可能导致页面超时需要刷新的情况,所以建议提前在OSS中对文件解冻。低频访问、标准存储是不需要解冻的。
![image.png image.png]()
数据格式、压缩格式支持情况如下图,根据同步的文件类型选择。
![image.png image.png]()
![image.png image.png]()
编码格式支持utf-8、gbk以及其他,选择其他时可以手动输入编码格式。
![image.png image.png]()
同步配置中可以使用的任务执行的系统时间作为日志查询的时间,不过也可以从日志内容中提取时间内容替换,Parquet、csv、json格式的日志是通过填写字段名称以及时间格式进行替换;单行文本、跨行文本需要先通过正则提取时间内容之后再填写时间格式替换。正则规则参考文档,时间格式参考文档。以下为单行文本的提取示例:
![image.png image.png]()
最后设置同步间隔就配置成功了,间隔最小是五分钟、最大是30天,设置之后就会有定时任务产生,按照最后配置的频率就行导入。如果需要立即查看,可以把立即执行的选项打开,关闭情况下需要等一个周期之后才能看到效果。
3.3 特殊配置
| 分隔符 |
CSV 文件分隔符,默认用(,)。 |
| Quote |
当字段内包含分隔符时,需要使用Quote包裹,默认用(")。 |
| 转义符 |
CSV 文件转义符,默认用(\) |
| 跨行日志最大行数 |
当一行日志跨多行时,需要指定最大行数,默认为1。 |
| 首行作为字段名称 |
是否使用CSV文件的首行作为字段列表。 |
| 跳过行数 |
在文件开始位置跳过指定行数之后才开始读取数据,默认为0。 |
| 行首正则 |
匹配正则的行作为日志的第一行,未匹配的行都是这条日志的一部分,直到达到最大行数。 |
| 行尾正则 |
匹配正则的行作为日志的最后一行,未匹配的行都是下一条日志的一部分,直到达到最大行数。 |
| 最大行数 |
一条日志的最大行数,默认为10。 |
4. 查看导入状态及操作
4.1 导入状态总览
- 单击目标Project。
- 选择目标日志库下的数据接入 > 数据导入,单击任务名称。
- 在导入配置概览页面,查看导入配置的基本信息和统计报表。
![]()
4.2 相关操作
在任务的导入配置概览页面,还可以进行如下操作:
- 修改任务单击修改配置,修改导入任务的相关配置,具体配置请参见设置导入配置。
- 删除任务单击删除配置,删除该导入任。删除后不可恢复,请谨慎操作。
权限配置
- 首先需要使用主账号点击云资源访问授权并且同意授权,授权内容是日志服务有权限访问OSS中数据资源。
![]()
2.1 授权子账号 AliyunLogFullAccess。
2.2 自定义授权策略:
{
"Version": "1",
"Statement": [
{
"Action": [
"log:ListProject"
],
"Resource": [
"acs:log:*:*:project/*"
],
"Effect": "Allow"
},
{
"Action": [
"log:Get*",
"log:List*"
],
"Resource": "acs:log:*:*:project/project-wuzy/*",
"Effect": "Allow"
},
{
"Action": [
"log:Create*"
],
"Resource": "acs:log:*:*:project/project-wuzy/job/*",
"Effect": "Allow"
}
]
}
- 2.1、2.2 步骤任选其一,passRole权限必须添加。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "log:*",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "ram:PassRole",
"Resource": "*"
}
]
}
日志时间配置参考
| Token |
Date or Time Component |
Example |
| yyyy |
4-digit year |
2012; 2016 |
| yy |
2-digit year |
12; 16 |
| MMM |
3-character month |
Jan; Mar; Dec |
| MM |
1- or 2-digit month (in a year) |
1; 01; 9; 09; 12 |
| dd |
1- or 2-digit day (in a month) |
1; 01; 16; 30 |
| a |
AM/PM (case insensitive) |
AM; PM; am; pm |
| HH |
1- or 2-digit hour (in a day, 0-23) |
2; 02; 14; 23 |
| hh |
1- or 2-digit hour (in a day, 1-12 with AM/PM) |
2; 02; 11; 12 |
| mm |
1- or 2-digit minute (in an hour) |
8; 08; 55 |
| ss |
1- or 2-digit second (in a minute) |
5; 05; 35 |
| SSS |
1-3 digit subsecond or millisecond (in decimal) |
4; 58; 944 |
| zzz |
3- letter time zone |
UTC; PST; EDT |
| ZZZZ |
RFC 822 time zone |
-0900; +0500 |
| 'Z' |
Literal Z character |
Z |
| 'T' |
Literal T character |
T |
| epoch |
10, 13, 16, 19 digit timestamp with optional . (dot) after 10 digits. |
1496756806.655123456 |
视频
实践视频链接: https://v.youku.com/v_show/id_XNDY3MjA5Nzg3Ng==.html