You need to enable JavaScript to run this app.
导航
投递日志到消息队列 Kafka版
最近更新时间:2024.08.02 11:18:45首次发布时间:2023.09.27 12:54:26

日志服务支持投递日志到 Kafka 中,本文档介绍创建投递配置的操作步骤。

前提条件

  • 已开通日志服务,并成功采集到日志数据。详细说明请参考快速入门
  • 已开通火山引擎消息队列 Kafka 版,并在指定日志主题的同一地域创建了 Kafka 实例和 Topic。详细操作步骤请参考创建 Kafka 实例创建 Topic

    说明

    • 为保证 Shard 内数据的顺序性,日志服务会将一个 Shard 内的数据投递到一个 Kafka Topic Partition 内,因此建议创建的Kafka Topic Partition 数量大于等于日志服务 Topic Shard 数量。
    • 日志投递受限于 Kakfa Topic 设置的最大消息大小, 超过此限制的日志无法投递成功。此参数默认为 10MB,修改方式可参考修改参数配置
  • 如果 Kafka 实例开启了白名单功能,则您需要在白名单中添加网段 100.64.0.0/10。详细操作步骤请参考修改白名单
  • 日志服务需要扮演 ServiceRoleForTLS 角色来实现跨服务访问其他云服务资源,即您需要授予日志服务产品访问并写入 Kafka 实例的权限。
  • 首次使用日志投递到 Kafka 功能之前,需要完成云资源访问授权,即授予日志服务产品访问并写入 Kafka 实例的权限。
    如果您还未创建 ServiceRoleForTLS 角色,日志服务会在您创建投递配置时引导您进行操作,推荐使用火山引擎账号进行授权,相关说明请参考跨服务访问授权

操作步骤

  1. 登录日志服务控制台
  2. 在顶部导航栏中,选择日志服务所在的地域。
  3. 在左侧导航栏中,选择数据处理 > 日志投递
  4. 日志投递页面,单击创建 Kafka 投递配置
  5. 创建 Kafka 投递配置页面,完成如下配置。
    1. 配置基本信息。

      参数

      说明

      配置名称

      日志投递配置的名称。

      源日志项目

      在下拉列表中选择数据源所在的日志项目。

      源日志主题

      在下拉列表中选择数据源所在的日志主题。

    2. 配置投递对象信息。

      参数

      说明

      Kafka实例

      Kafka 实例名称。
      如果没有合适的 Kafka 实例,您可以根据页面提示在 Kafka 控制台进行创建。

      目标Topic

      Kafka Topic 名称。通过此投递配置投递的所有日志数据均将被投递到该 Topic 中。
      如果没有合适的 Kafka Topic,您可以根据页面提示在 Kafka 控制台进行创建。

      压缩类型

      日志数据支持根据指定的压缩格式压缩后再投递到 Kafka 实例中,帮助您节省读流量费用。压缩类型支持以下设置:

      • 不压缩
      • snappy
      • gzip
      • lz4

      投递格式

      投递到 Kafka 实例的数据格式。支持以原始格式或 JSON 格式投递。

      • 原始格式:将日志服务采集到的原始日志直接投递到 Kafka 实例中,即日志服务结构化处理前的原始日志数据,不包括日志服务默认添加的预留字段、自定义的字段名称等信息。
      • JSON 格式:以标准 JSON 格式投递数据,每个日志字段名称及其值为一个键值对。选择 JSON 格式投递时,您可以选择要投递的预留字段。

      是否转义

      以 JSON 格式投递时,需要指定投递到 Kafka 实例的日志数据是否转义。

      • 转义:如果 JSON 第一层节点中,有字段的值为 JSON Array 或其他格式,日志服务会将其值通过转义符(\)转为 String 格式,只保留一层节点。便于后续大数据系统或流式计算平台的数据入库。
      • 不转义:日志格式为标准的 JSON 格式,日志服务不对 JSON 结构和层级做出任何修改。
        例如 JSON 格式的日志为 {"level":"info", "message":{"city":"beijing", "name":"zhangsan"}},转义后为 {"level":"info","message":"{\"city\":\"beijing\", \"name\":\"zhangsan\"}"},不转义时,则维持原文结构进行投递。

        说明

        如果 JSON 字段值不合法或者顶层是数组类型,且设置是否转义为不转义,则投递结果数据中将包含\"字符。

      投递日志字段

      以 JSON 格式投递时,可以指定要投递的预留字段。

      • 您可以在字段列表中选择需要投递到 Kafka 实例中的预留字段。
      • 除日志源中定义的字段以外,支持投递 __source__ 等日志服务为每条日志默认添加的元数据字段。

      投递时间范围

      设置待投递日志的时间范围。日志时间为指定范围内的日志数据才会被投递到 Kafka 实例中。

      • 未填写结束时间,表示持续投递最新写入的日志数据。
      • 支持投递历史日志数据,即保存时长以内的日志数据都可以投递到 Kafka 实例中。
      • 创建后不支持修改投递的时间范围。
    3. 单击提交
      成功创建日志投递配置后,您可以在投递配置列表中查看已创建的投递配置信息。投递配置状态默认为开启。