
CLS 支持将日志投递到对象存储 COS 进行长期归档,或投递到消息中间件 Ckafka 实现实时消费。本文详解两种投递方式的工作原理、配置方法和适用场景,帮助用户根据业务需求选择合适的日志流转方案。
在完整的日志处理链路中,采集和存储只是第一步。采集到 CLS 的日志需要根据不同的使用场景流转到下游系统:有些日志需要长期保存以满足合规要求,有些需要实时传输给流计算引擎进行分析,还有些需要导入数据仓库进行离线挖掘。
CLS 提供的投递与消费能力正是为了解决这些需求。通过将日志投递到腾讯云的其他产品,用户可以构建完整的日志数据处理体系,充分发挥各云产品的专业优势。
对象存储 COS 是腾讯云提供的分布式存储服务,具有成本低、可靠性高、容量无限扩展等特点。对于需要长期保存的日志数据,直接存储在 CLS 中的成本相对较高,而投递到 COS 可以大幅降低存储费用。
特别是当日志数据超过了 CLS 中的检索活跃期后,这些数据被查询的概率很低,但仍然需要保留以满足审计或合规要求。此时将数据投递到 COS 是最经济的选择。
通过 CLS 投递到 COS 的方式适用于多种日志来源。凡是支持投递日志到 CLS 的腾讯云产品,都可以通过 CLS 进一步投递到 COS 进行持久化存储。这包括负载均衡 CLB、API 网关 APIGateway、云函数 SCF、容器服务 TKE、云直播 CSS 等产品产生的日志。
需要注意的是,部分云产品如云审计 CA 和消息队列 CKafka 支持直接将日志投递到 COS,无需经过 CLS 中转。用户可以根据实际需求选择合适的路径。
配置 COS 投递任务时,有几个关键参数需要注意:
合规审计归档:金融行业和互联网企业需要满足等保合规要求,日志数据需要保留一定年限。通过投递到 COS,可以以较低的成本实现长期保存,同时利用 COS 的生命周期管理功能进一步降低成本。
离线数据分析:将历史日志投递到 COS 后,可以使用大数据工具(如 Hive、Spark)进行离线分析。这种方式适合对实时性要求不高但需要深度挖掘的场景。
灾备备份:COS 提供了更高的数据持久性保障,将 CLS 中的重要日志投递到 COS 可以作为额外的数据备份手段。
消息队列 Ckafka 是腾讯云提供的分布式消息中间件,基于 Apache Kafka 构建,具有高吞吐、低延迟、可扩展的特点。将 CLS 日志投递到 Ckafka 后,可以被各种流处理框架实时消费,实现日志数据的即时分析和处理。
这种架构特别适合需要将日志数据与其他数据源进行关联分析的场景,也适合需要将日志接入已有大数据生态的情况。
CLS 向 Ckafka 投递日志的过程是实时的。当日志写入 CLS 日志主题后,投递任务会将新产生的日志数据按配置的规则推送到指定的 Ckafka Topic 中。下游消费者订阅该 Topic 即可实时获取日志数据。
当前仅支持实时日志投递,不支持历史日志的投递。这意味着开启投递功能之前的已有数据不会被回溯投递,只有开启之后的新增日志才会被推送。
在配置投递到 Ckafka 之前,需要完成以下准备工作:
如果 Ckafka 开启了 ACL,需要注意版本限制。Ckafka 1.X 版本需在 1.1.1 及以上,Ckafka 2.X 版本需在 2.4.2 及以上。其他版本开启 ACL 可能导致投递失败,可通过关闭 ACL 解决。
投递到 Ckafka 时支持两种内容格式:
用户可以根据下游消费者的处理能力选择合适的格式。
实时流计算:将日志投递到 Ckafka 后,使用 Flink、Oceanus 等流计算引擎进行实时处理。例如实时统计接口调用量、检测异常访问模式、计算业务指标等。
多系统数据集成:当日志数据需要同时被多个下游系统使用时,通过 Ckafka 的消息分发能力,可以将同一份日志数据传递给不同的消费者,每个消费者根据自身需求进行处理。
自建大数据平台对接:对于已经搭建了 Hadoop、Elasticsearch 等大数据基础设施的企业,可以通过 Ckafka 将 CLS 日志接入现有平台,实现统一的数据管理和分析。
除了投递到 Ckafka 外,CLS 还支持直接使用 Kafka 协议消费日志数据。这一功能让用户无需购买 Ckafka 实例,就可以利用 Kafka 生态的消费工具读取 CLS 中的日志。
使用 Kafka 协议消费日志适合以下场景:
CLS 支持多个版本的 Kafka 协议,从 0.11.0.X 到 3.X.X 均有覆盖。支持的压缩方式包括 gzip、snappy 和 lz4。用户可以根据自身的技术栈选择合适的版本和压缩方式。
使用 Kafka 协议消费时需要配置 CLS 的 Kafka 访问信息,包括域名地址、Topic 名称(即日志主题 ID)、用户名(即日志集 ID)和密码(密钥组合)。根据访问方式的不同,内网和外网使用不同的域名和端口。
如果对数据的实时性要求较高,需要在日志产生后立即进行处理和分析,建议选择投递到 Ckafka 或使用 Kafka 协议实时消费。如果主要关注历史数据的长期保存和偶尔的离线分析,投递到 COS 更为合适。
COS 的存储单价远低于 CLS 标准存储,适合大规模历史数据的长期保存。Ckafka 作为消息中间件,其成本主要体现在消息吞吐量和存储空间上,适合有持续消费需求的场景。
在实际应用中,COS 归档和 Ckafka 实时消费并不互斥。常见的做法是将同一份日志同时进行两种投递:实时数据流向 Ckafka 供即时分析使用,全量数据同步投递到 COS 用于长期保存和离线挖掘。这种组合方式兼顾了实时性和持久性,是企业级日志平台的推荐架构。
想要搭建 CLS 完整的日志投递体系,新用户开通即可领取 10U × 3 个月 免费资源包用于体验,首单特惠最低至 0.8 折起;新老用户购买资源包常规档位最低可享 6.3 折优惠。如需了解更多详情或领取优惠,可访问 腾讯云 CLS 产品页 及 特惠活动页。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。