日志服务支持投递日志到 Kafka 中,本文档介绍创建投递配置的操作流程。
前提条件
- 已开通日志服务,并成功采集到日志数据。详细说明请参考快速入门。
- 已开通火山引擎消息队列 Kafka 版,并在指定日志主题的同一地域创建了 Kafka 实例和 Topic。详细操作步骤请参考创建 Kafka 实例和创建 Topic。
说明
为保证 Shard 内数据的顺序性,日志服务会将一个 Shard 内的数据投递到一个 Kafka Topic Partition 内,因此建议创建的Kafka Topic Partition 数量大于等于日志服务 Topic Shard 数量。
- 如果 Kafka 实例开启了白名单功能,则您需要在白名单中添加网段
100.64.0.0/10
。详细操作步骤请参考修改白名单。 - 首次使用日志投递到 Kafka 功能之前,需要完成云资源访问授权,即授予日志服务产品访问并写入 Kafka 实例的权限。日志服务会在控制台创建投递配置时引导您进行操作,推荐使用火山引擎账号进行授权,相关说明请参考跨服务访问授权。
操作步骤
登录日志服务控制台。
在左侧导航栏中选择日志服务 > 日志项目管理。
找到指定的日志项目,单击项目名称。
在左侧导航栏中,单击日志投递。 如果是首次使用日志投递功能,您需要根据控制台提示完成云资源访问授权,授予日志服务产品访问并写入 Kafka 实例的权限。推荐使用火山引擎账号进行操作。
填写投递配置的基本信息。
配置 | 说明 |
---|
配置名称 | 日志投递配置的名称。 |
源日志主题 | 在下拉列表中选择数据源所在的日志主题。 |
填写投递配置的投递对象信息。
配置 | 说明 |
---|
Kafka实例 | 日志投递目的端 Kafka 实例的名称。
如果没有合适的 Kafka 实例,可以根据页面提示在 Kafka 控制台创建一个。 |
目标Topic | 在下拉列表中选择数据源所在的日志主题。
如果没有合适的 Kafka Topic,可以根据页面提示在 Kafka 控制台创建一个。 |
压缩类型 | 日志数据支持根据指定的压缩格式压缩后再投递到 Kafka 实例中,帮助您节省读流量费用。压缩类型支持以下设置: |
投递格式 | 投递到 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 格式投递时,需要指定待投递的所有字段名称(Key)。 - 您可以在字段列表中选择需要投递到 Kafka 实例中的字段名称。
- 除日志源中定义的字段以外,支持投递 __source__ 等日志服务为每条日志默认添加的元数据字段。
|
投递时间范围 | 设置待投递日志的时间范围。日志时间为指定范围内的日志数据才会被投递到 Kafka 实例中。 - 未填写结束时间,表示持续投递最新写入的日志数据。
- 支持投递历史日志数据,即保存时长以内的日志数据都可以投递到 Kafka 实例中。
- 创建后不支持修改投递的时间范围。
|
单击提交,完成投递配置的配置。
成功创建日志投递配置后,您可以在投递配置列表中查看已创建的投递配置信息。投递配置状态默认为开启。