火山引擎日志服务提供多种跨服务的数据迁移方案,支持从阿里云日志服务 SLS 消费指定时间范围的日志,导出结构化的日志数据,写入火山引擎日志服务。
在跨服务数据迁移、主备切换、日志存档等场景中,需要从阿里云日志服务 SLS 消费已采集的日志数据,并写入到火山引擎日志服务中,以供日志查询分析、消费或长期归档。从 SLS 导入日志时,火山引擎日志服务通过 SLS 提供的消费组消费功能拉取并消费 SLS 中的日志数据,并通过 PutLogs 接口上传到火山引擎日志服务中,SLS 中指定 Logstore 的数据会写入指定的日志主题。导入时支持指定消费的起始位置,即可消费历史数据或实时消费新增日志。
SLS 在采集日志中,为原始日志添加的 __time__
等部分保留字段支持导入到火山引擎日志服务中,__time__
、__source__
字段默认直接导入,__tag__:_pod_name_
等部分字段将转换字段名称后再导入,其他字段不支持导入。
支持导入的字段包括:
SLS 元数据字段 | 火山引擎日志服务对应字段 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
创建 SLS 日志导入任务的操作步骤如下:
登录日志服务控制台。
在顶部导航栏中,选择日志服务所在的地域。
在左侧导航栏中,选择常用功能 > 日志接入。
在外站日志迁入页签下,单击阿里云SLS日志迁入。
填写基本信息。
配置 | 说明 |
---|---|
导入类型 | 日志导入任务的类型,默认为云服务日志。 |
日志项目 | 用于存储 SLS 数据的日志项目。 |
日志主题名称 | 用于存储 SLS 数据的日志主题。 |
根据页面提示,完成如下配置。
配置 | 说明 |
---|---|
任务名称 | 日志导入任务的名称。 |
数据源 | 日志的数据源,默认为阿里云。 |
网络类型 | 数据导入的网络类型,支持公有网络或私有网络传输。 说明 如果需要通过私有网络传输数据,请先通过工单系统联系技术支持沟通需求场景。 |
域名 | 阿里云日志服务 SLS 的域名,可以在日志源 Project 的项目概览页面查看。 |
Project | 日志源 Project 名称。 |
Logstore | 日志源 Logstore 名称。 |
消费组 | 消费组的名称。 |
密钥 | 阿里云账号密钥,即 AK 与 SK。火山引擎日志服务将使用此账号通过阿里云日志服务鉴权,读取并消费指定 Project 和 Logstore 的日志数据。 说明 推荐使用 RAM 用户进行鉴权,该用户应具备消费组的相关权限,授权策略示例请参考SLS RAM 授权策略示例。 |
消费起始位置 | 首次消费日志的起始位置,支持设置为:
|
按顺序消费 | 是否开启按顺序消费功能。默认为开启状态。
|
确认配置后,单击下一步。
说明
创建日志导入任务之后,日志服务随即开始消费 SLS 中的日志数据,并实时写入指定的日志主题中。您可以为日志数据开启并配置索引,以便实时检索分析日志数据。详细说明请参考配置索引。
创建日志导入任务之后,您可以在导入任务的详情页中查看已配置的导入任务基本信息及数据源信息,也可以在阿里云日志服务控制台查看每个 Shard 的消费情况。
登录日志服务控制台。
在顶部导航栏中,选择日志服务所在的地域。
在左侧导航栏中,选择常用功能 > 日志接入。
在数据导入页签中的任务列表区域,单击目标导入任务的名称。
查看任务的基本信息。
日志导入任务的详情页中展示任务名称、任务主题、导入状态等基本信息,以及数据源、消费组、网络类型等数据源信息。
导入状态说明:
状态 | 说明 |
---|---|
运行中 | 日志导入任务正常运行中。 |
SLS资源不存在 | SLS 的 Project 或 Logstore 已被删除。此时消费停止且不可恢复,需要重新创建日志导入任务。 |
SLS鉴权失败 | SLS 账号或权限异常,例如账号欠费或账号已被删除相关权限。账号或权限恢复后,稍后将恢复正常消费。 |
SLS未知异常 | SLS 服务端异常,待服务恢复后即可恢复正常运行。 |
TLS资源不存在 | 火山引擎日志服务的日志项目或日志主题已被删除。此时消费停止且不可恢复,需要重新创建日志导入任务。 |
TLS鉴权失败 | 火山引擎日志服务的账号或权限异常,例如账号欠费或账号已被删除相关权限。账号或权限恢复后,稍后将恢复正常消费。 |
阿里云日志服务控制台中提供消费状态的实时展示,您可以通过以下方式查看消费的进度信息:
如果数据导入任务遇到了故障或异常,您可以删除故障的导入任务,重新导入数据。如果已完成存量日志数据的迁移,或者不再需要导入日志到火山引擎日志服务,您可以参考以下步骤删除日志导入任务。
说明
如果使用 RAM 用户进行阿里云日志服务鉴权,读取并消费日志数据,您需要为 RAM 用户授予消费组相关的权限策略,推荐的授权策略如下:
说明
其中,${projectName}
和${logstoreName}
需要替换为实际的 Project 和 Logstore 名称。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "log:GetCursorOrData", "log:GetLogStore" ], "Resource": "acs:log:*:*:project/${projectName}/logstore/${logstoreName}" }, { "Effect": "Allow", "Action": [ "log:CreateConsumerGroup", "log:ListConsumerGroup", "log:ConsumerGroupUpdateCheckPoint", "log:ConsumerGroupHeartBeat", "log:UpdateConsumerGroup", "log:GetConsumerGroupCheckPoint" ], "Resource": "acs:log:*:*:project/${projectName}/logstore/${logstoreName}/consumergroup/*" } ] }