您可以将OSS Bucket中的日志文件,通过数据导入方式导入到日志服务,实现日志的查询分析、加工等操作。目前日志服务只支持导入5 GB以内的OSS文件,压缩文件大小按照压缩后的大小计算。
费用说明
日志服务不针对导入功能收取费用,但导入功能需要访问OSS API,会产生OSS的流量费用和请求费用。相关计费项的定价详情,请参见OSS定价。导入OSS数据时,每天产生的OSS费用的计算公式如下:
前提条件
已上传日志文件到OSS Bucket中。具体操作,请参见控制台上传文件。
已创建Project和Logstore。具体操作,请参见创建项目Project和创建Logstore。
已经完成云资源访问授权,即已授权日志服务使用AliyunLogImportOSSRole角色访问您的OSS资源。
账号具有oss:ListBuckets权限,用于访问oss bucket资源。具体操作,请参见为RAM用户授权自定义的权限策略。
如果您使用的是RAM用户,还需授予RAM用户PassRole权限,授权策略如下所示。具体操作,请参见创建自定义权限策略和为RAM用户授权。
{ "Statement": [ { "Effect": "Allow", "Action": "ram:PassRole", "Resource": "acs:ram:*:*:role/aliyunlogimportossrole" }, { "Effect": "Allow", "Action": "oss:GetBucketWebsite", "Resource": "*" }, { "Effect": "Allow", "Action": "oss:ListBuckets", "Resource": "*" } ], "Version": "1" }
创建数据导入配置
针对更新过的OSS文件,数据导入任务会重新进行全量导入。即之前已导入过的文件,又追加了部分内容,那么这个文件中数据将再次被全部导入。
登录日志服务控制台。
在接入数据区域的数据导入页签中,选择OSS-数据导入。
- 选择目标Project和Logstore,单击下一步。
设置导入配置。
在导入配置步骤中,设置如下参数。
单击预览,预览导入结果。
确认无误后,单击下一步。
创建索引和预览数据,然后单击下一步。日志服务默认开启全文索引。您也可以根据采集到的日志,手动创建字段索引,或者单击自动生成索引,日志服务将自动生成字段索引。更多信息,请参见创建索引。
重要如果需要查询日志中的所有字段,建议使用全文索引。如果只需查询部分字段、建议使用字段索引,减少索引流量。如果需要对字段进行分析(SELECT语句),必须创建字段索引。
单击查询日志,进入查询和分析页面,确认是否成功导入OSS数据。
等待1分钟左右,如果有目标OSS数据导入,则说明导入成功。
相关操作
创建导入配置成功后,您可以在控制台中查看已创建的导入配置及生成的统计报表。
在Project列表区域,单击目标Project。
在 中,选择目标日志库下的 ,单击配置名称。
查看任务
在导入配置概览页面,查看导入配置的基本信息和统计报表。
修改任务
单击修改配置,修改导入配置的相关信息。更多信息,请参见设置导入配置。
删除任务
单击删除配置,删除该导入配置。
警告删除后不可恢复,请谨慎操作。
停止任务
单击停止,停止该导入任务。
常见问题
问题 | 可能原因 | 解决方法 |
预览时显示无数据。 | OSS Bucket中没有文件、文件中没有数据或者没有符合过滤条件的文件。 |
|
数据中存在乱码。 | 数据格式、压缩格式或编码格式配置不符合预期。 | 确认OSS文件的真实格式,然后调整数据格式、压缩格式或编码格式等配置项。 如果需要修复已有的乱码数据,请创建新的Logstore和导入配置。 |
日志服务中显示的数据时间和数据本身的时间不一致。 | 设置导入配置时,没有指定日志时间字段或者设置时间格式、时区有误。 | 设置指定的日志时间字段以及正确的时间格式和时区。更多信息,请参见创建数据导入配置。 |
导入数据后,无法查询和分析数据。 |
| |
导入的数据条目数量少于预期。 | 部分文件存在单行数据大小超过3 MB的数据,导致数据在导入过程被丢弃。更多信息,请参见采集限制。 | 写入数据到OSS文件时,避免单行数据大小超过3 MB。 |
文件数量和总数据量都很大,但导入数据的速度不及预期(正常情况下,可达到80 MB/s)。 | Logstore Shard数量过少。更多信息,请参见性能限制。 | Logstore Shard数量较少时,请尝试增加Shard的个数(10个及以上),并观察延迟情况。具体操作,请参见管理Shard。 |
创建导入配置时,无法选择OSS Bucket。 | 未完成AliyunLogImportOSSRole角色授权。 | 参见文本中的前提条件完成授权。 |
部分文件没有导入。 | 过滤条件设置存在问题或者存在单个文件大小超出5 GB的文件。更多信息,请参见采集限制。 |
|
归档文件没有导入。 | 未打开导入归档文件开关。更多信息,请参见采集限制。 |
|
多行文本日志解析错误。 | 首行正则表达式或尾行正则表达式设置错误。 | 检查首行正则表达式或尾行正则表达式的正确性。 |
新文件导入延迟大。 | 存量文件太多(即符合文件路径前缀过滤的文件数量太多) 且导入配置中没有打开使用OSS元数据索引开关。 | 如果符合文件路径前缀过滤条件文件数量太多(超过100万),需要在导入配置中打开使用OSS元数据索引开关。否则,发现新文件的效率非常低。 |
错误处理机制
错误项 | 说明 |
读取文件失败 | 读文件时,如果遇到文件不完整的错误(例如由网络异常、文件损坏等导致),导入任务会自动重试,重试3次后仍然读取失败,将跳过该文件。 重试间隔和检查新文件周期一致。如果检查新文件周期为永不检查,则重试周期为5分钟。 |
压缩格式解析错误 | 解压文件时,如果遇到文件压缩格式无效的错误,导入任务将直接跳过该文件。 |
数据格式解析错误 |
|
OSS Bucket不存在 | 导入任务会定期重试,即重建Bucket后,导入任务会自动恢复导入。 |
权限错误 | 从OSS Bucket读取数据或者写数据到日志服务Logstore存在权限错误时,导入任务会定期重试,即修复权限问题后,导入任务会自动恢复。 遇到权限错误时,导入任务不会跳过任何文件,因此修复权限问题后,导入任务会自动将Bucket中还未被处理的文件中的数据导入到日志服务Logstore中。 |
OSS投递接口
操作 | 接口 |
创建OSS导入任务 | |
修改OSS导入任务 | |
获取OSS导入任务 | |
删除OSS导入任务 | |
启动OSS导入任务 | |
停止OSS导入任务 |