You need to enable JavaScript to run this app.
导航

从 Kafka 导入数据

最近更新时间2024.03.28 10:17:50

首次发布时间2024.01.18 09:58:32

日志服务支持 Kafka 数据导入功能,本文档介绍从 Kafka 中导入数据到日志服务的操作步骤。

背景信息

日志服务数据导入功能支持将 Kafka 集群的消息数据导入到指定日志主题。Kafka 数据导入功能通常用于业务上云数据迁移等场景,例如将自建 ELK 系统聚合的各类系统日志、应用程序数据导入到日志服务,实现数据的集中存储、查询分析和加工处理。日志服务导入功能支持导入火山引擎消息队列 Kafka 集群和自建 Kafka 集群的数据。创建导入任务后,您可以通过日志服务控制台或服务日志查看导入任务详情。
此外,日志服务还会为导入的日志数据添加以下元数据字段。

字段

说明

__content__

Kafka 消息。

__path__

字段值为空。

__source__

Kafka 集群的服务地址。

注意事项

从 Kafka 导入数据功能的限制项如下:

限制

说明

Kafka 版本

Kafka 版本需为 0.11.x 以上。

并发子任务数量

日志服务会根据 Kafka Topic 数量,创建多个子任务进行并发导入。

  • Kafka Topic 数量超过 2,000 时,日志服务会创建 16 个子任务。
  • Kafka Topic 数量超过 1,000 时,日志服务会创建 8 个子任务。
  • Kafka Topic 数量超过 500 时,日志服务会创建 4 个子任务。
  • Kafka Topic 数量小于等于 500 时,日志服务会创建 2 个子任务。

数据导入配置数量

单个日志项目中,最多可创建 100 个不同类型的数据导入配置。

费用说明

从 Kafka 导入数据涉及日志服务的写流量、日志存储等计费项。具体的价格信息请参考日志服务计费项

计费项

说明

写流量

导入 Kafka 数据到日志服务时,涉及日志服务写流量费用。

日志存储

保存 Kafka 数据到日志服务后,后端会自动对其进行压缩,存储费用以压缩后的实际大小为准。

其他

  • 推荐为已导入的数据开启索引,便于后续的查询分析与数据统计。开启索引后会产生索引存储费用。按照压缩前的日志数据被建立的索引所占用的存储空间计费。
  • 已导入的数据如果后续产生数据读取、数据加工、数据投递等操作,则按照计费标准进行收费。

前提条件

  • 已创建符合版本要求的 Kafka 集群。版本要求请参见注意事项
  • 已创建日志项目和日志主题。具体操作步骤请参考创建资源

创建导入任务

步骤一 初始配置

  1. 登录日志服务控制台

  2. 在顶部导航栏中选择日志服务所在的地域。

  3. 在左侧导航栏中选择日志服务 > 日志项目管理,并单击指定的日志项目名称。

  4. 在左侧导航栏中单击日志接入

  5. 数据导入区域选择Kafka导入

  6. 填写初始配置

    配置

    说明

    导入类型

    日志导入任务的类型,默认为从Kafka导入

    日志项目

    用于存储 Kafka 数据的日志项目。

    日志主题名称

    用于存储 Kafka 数据的日志主题名称。

    说明

    不支持将数据导入到云产品日志、服务日志等日志的专属日志主题。

    任务名称

    日志导入任务的名称。

步骤二 导入配置

  1. 填写导入配置

    配置

    说明

    服务地址

    不同类型的 Kafka 集群对应的服务地址不同,详细说明如下:

    • 火山引擎消息队列 Kafka 版:Kafka 实例的接入点,详细说明请参考查看接入点
      如果 Kafka 实例与日志服务 Project 属于同一地域,可使用私网访问,否则需使用公网访问。
    • 自建的 Kafka 集群:Kafka Broker 的 IP 地址和端口号或者域名和端口号。仅支持公网访问。

    多个服务地址之间需使用半角逗号(,)分隔。

    Kafka实例 ID

    当您使用的是火山引擎消息队列 Kafka 版时,应设置为 Kafka 实例 ID。获取方式请参考查看实例详情

    是否需要鉴权

    如果您使用的是公网服务地址,建议开启鉴权,并根据 Kafka 侧的配置完成如下配置。鉴权说明,请参见支持的安全机制

    • 协议类型:安全传输协议,可选值包括 plaintext、sasl_ssl、ssl 和 sasl_plaintext。
    • 认证机制:密码认证机制**,**可选值包括 PLAIN、SCRAM-SHA-256 和 SCRAM-SHA-512。
    • 用户名:用于身份认证的 Kafka SASL 用户名。
    • 密码:用户密码。

    Topic列表

    Kafka Topic 名称。
    多个 Kafka Topic 之间应使用半角逗号(,)分隔。

    消费组

    Kafka 消费组。
    如果不填,系统将自动创建 Kafka 消费组。

    起始位置

    数据导入的起始位置。可选值:

    • 最早数据:从指定的 Kafka Topic 中的第一条数据开始导入。
    • 最新数据:从指定的 Kafka Topic 中最新生成的数据开始导入。

    编码格式

    数据的编码格式。可选值包括 UTF-8、GBK。

    日志提取模式

    待导入数据的格式。可选值:

    • 单行全文:如果不需要对数据进行结构化处理,可选择单行全文模式。
    • JSON:如果待导入的数据为 JSON 格式,您可以选择 JSON 模式。导入任务会将数据解析为键值对格式,只解析 JSON 数据的第一层。
    • 单行完整正则:通过正则表达式解析数据,将数据解析为键值对格式。此时需要额外填写其他参数,详细说明请参考下表。

    上传解析失败日志

    是否上传解析失败的日志,默认为开启状态。

    • 开启:所有解析失败的日志,均以指定字段作为键名称(Key),原始日志内容作为值(Value)上传到日志服务。此时需要指定失败日志键名称,用于存放解析失败的日志。
    • 关闭:解析失败的日志不上传到日志服务。

    失败日志键名称

    用于存放解析失败的日志的字段。

    指定时间字段

    是否使用指定字段的值作为日志时间。默认情况下,日志服务采用数据导入时的系统时间作为日志时间。您也可以打开指定时间字段开关,开启后需要指定日志中表示时间的字段,日志服务会用该字段值作为日志时间。相关配置如下:

    • 时间键名称:时间字段的 Key。
    • 时间正则:使用正则表达式提取日志中的时间。
    • 时间转换格式:时间格式,用于解析时间字段的 Value。支持的时间格式设置请参考时间格式,例如时间字段值为 1651648409,则可配置时间转换格式%s;时间字段值为 1651648416882,则可配置时间转换格式%F;时间字段值为 2022-01-01T15:30:00.999+0800,则可配置时间转换格式%Y-%m-%dT%H:%M:%S.%f%z
    • 时区:时区配置。默认为机器所在时区,支持设置为 GMT 格式或 UTC 格式。

    默认时间来源

    关闭指定时间字段时,您可以选择系统当前时间或 Kafka 消息时间戳作为日志时间。

    如果设置日志提取模式单行完整正则,还需额外设置如下参数。您可以选择不同的提取模式,手动或自动生成正则表达式,并在提取结果区域确认正则表达式对于日志样例的提取结果。

    提取模式

    说明

    自动生成

    开启自动生成功能后,页面会根据鼠标划词自动提取正则表达式。

    1. 日志样例区域,通过鼠标自左至右划词选中需要提取的日志内容。
    2. 在弹出的文本框中确认所选值,并单击生成正则
    3. 依次划词提取所有需要采集的键值对之后,在提取结果区域设置各个字段的 Key 值。

    说明

    • 对于无需采集的字段,建议在划词时忽略。
    • 提取结果中的 Key 不可为空,且不可重复。
    • 自动生成功能仅适用于英文字符的正则表达式提取,暂不支持中文字符。

    手动设置

    关闭自动生成功能即手动设置正则表达式。设置后单击立即验证,日志服务会根据已输入的正则表达式匹配日志样例中的内容,提取键值对。
    页面提示验证成功之后,您可以在提取结果区域设置各个字段的 Key 值。

    说明

    • 请用()标识每个 kv 对应的正则表达式,日志服务将()视为捕获组,这些捕获组会被解析为键值对。
    • 对于无需采集的字段,可以不体现在正则表达式中,或提取后在提取结果中删除。
    • 提取结果中的 Key 不可为空,且不可重复。
  2. 单击预览来预览待导入的文件内容,并单击下一步
    填写导入配置之后,日志服务提供指定数据源的数据预览功能,您可以查看预览区域中的数据是否与待导入的数据相同。如果数据不同,表示数据源配置不正确,建议重新设置。

步骤三 检查索引配置

  1. 检查索引配置。
    根据页面提示,按需设置或更新索引,您也可以单击导入已有索引配置,导入其他日志主题的索引。
    • 若此日志主题未设置索引,可以参考配置索引进行设置。
    • 若此日志主题已设置索引,可以根据采集规则中解析的日志字段判断是否需要更新索引。

    说明

    • 启用索引后,您才能检索分析采集到的日志数据。
    • 更新后的索引设置仅对后续写入的新数据生效。其他检索分析的使用说明及限制请参考检索概述分析概述
  2. 单击完成:检查索引配置

查看导入任务详情

成功创建 Kafka 数据导入任务之后,您可以在日志服务控制台中查看相关信息,包括导入配置的配置详情。

  1. 登录日志服务控制台
  2. 在顶部导航栏中选择日志服务所在的地域。
  3. 在左侧导航栏中选择日志服务 > 日志项目管理,并单击指定的日志项目名称。
  4. 在左侧导航栏中单击日志接入
  5. 任务列表数据导入页签中单击日志导入任务名称,在配置详情页签中查看任务的配置信息。
    配置详情页签可查看导入任务的基本信息、数据源配置。

修改导入任务

成功创建 Kafka 数据导入任务之后,您可以随时根据业务需求修改导入任务的配置。

  1. 登录日志服务控制台
  2. 在顶部导航栏中选择日志服务所在的地域。
  3. 在左侧导航栏中选择日志服务 > 日志项目管理,并单击指定的日志项目名称。
  4. 在左侧导航栏中单击日志接入
  5. 数据导入页签下的任务列表区域,单击待编辑的导入任务。
  6. 在页面右上角,单击修改配置
    您可以参考创建导入任务中的说明,修改相关配置。

删除导入任务

如果数据导入任务遇到了故障或异常,您可以删除故障的导入任务,重新导入数据。如果已完成存量日志数据的迁移,或者不再需要导入日志到火山引擎日志服务,您可以参考以下步骤删除日志导入任务。

说明

  • 删除日志导入任务不影响已成功导入的日志数据。
  • 删除日志导入任务之后不可恢复,请谨慎操作。
  1. 登录日志服务控制台
  2. 在顶部导航栏中选择日志服务所在的地域。
  3. 在左侧导航栏中选择日志服务 > 日志项目管理,并单击指定的日志项目名称。
  4. 在左侧导航栏中单击日志接入
  5. 数据导入页签中的任务列表区域找到需要删除的日志导入任务,并在其对应的操作列单击删除
  6. 在弹出对话框中确认待删除的任务信息,并单击确定