日志服务支持投递日志到 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 的权限。
如果您还未创建 ServiceRoleForTLS 角色,日志服务会在您创建投递配置时引导您进行操作,推荐使用火山引擎账号进行授权,相关说明请参考跨服务访问授权。
操作步骤
- 登录日志服务控制台。
- 在顶部导航栏中,选择日志服务所在的地域。
- 在左侧导航栏中,选择数据处理 > 日志投递。
- 在日志投递页面,单击创建 Kafka 投递配置。
- 在创建 Kafka 投递配置页面,完成如下配置。
配置基本信息。
参数 | 说明 |
---|
配置名称 | 日志投递配置的名称。 |
源日志项目 | 在下拉列表中选择数据源所在的日志项目。 |
源日志主题 | 在下拉列表中选择数据源所在的日志主题。 |
配置投递对象信息。
参数 | 说明 |
---|
Kafka实例 | Kafka 实例名称。
如果没有合适的 Kafka 实例,您可以根据页面提示在 Kafka 控制台进行创建。 |
目标Topic | Kafka Topic 名称。通过此投递配置投递的所有日志数据均将被投递到该 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 格式投递时,可以指定要投递的预留字段。 - 您可以在字段列表中选择需要投递到 Kafka 实例中的预留字段。
- 除日志源中定义的字段以外,支持投递 __source__ 等日志服务为每条日志默认添加的元数据字段。
|
投递时间范围 | 设置待投递日志的时间范围。日志时间为指定范围内的日志数据才会被投递到 Kafka 实例中。 - 未填写结束时间,表示持续投递最新写入的日志数据。
- 支持投递历史日志数据,即保存时长以内的日志数据都可以投递到 Kafka 实例中。
- 创建后不支持修改投递的时间范围。
|
单击提交。
成功创建日志投递配置后,您可以在投递配置列表中查看已创建的投递配置信息。投递配置状态默认为开启。