You need to enable JavaScript to run this app.
导航
从 Kafka 导入数据
最近更新时间:2024.05.29 14:06:41首次发布时间: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 数据的日志主题名称。

    说明

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

步骤二 导入配置

  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. 在弹出对话框中确认待删除的任务信息,并单击确定