数据加工
提供对日志数据的过滤、清洗、脱敏、富化、分发等能力。按照数据加工在数据链路中的位置、source(数据源)和sink(结果保存)不同,当前可支持以下几种数据处理的场景:
场景 | 说明 |
| 日志采集-加工-日志主题: 日志采集至 CLS,先经过数据加工(过滤、结构化),再写入日志主题。如图,数据加工在数据链路中处于日志主题之前,称之为前置数据加工。 在前置数据加工中做 日志过滤,可有效降低日志写流量、索引流量、索引存储量、日志存储量; 在前置数据加工中做 日志结构化,开启键值索引后,可使用 SQL 对日志进行分析、配置仪表盘和告警。 |
| 日志主题-加工-固定日志主题: |
| 日志主题-加工-动态日志主题: 按照源日志主题的字段值,动态地创建日志主题,并将相关日志分发至对应的日志主题中。例如源日志主题中有一个字段 Service,有"Mysql"、"Nginx"、"LB"等值,CLS 可以自动创建名字为 Mysql、Nginx、LB 等的日志主题,并将相关日志写入以上主题中。 |
基本概念
功能特性
提取结构化的数据,方便后续 BI 分析、生成监控图表(Dashboard)等。如果您的原始日志不是结构化数据,是没有办法进行 SQL 计算的,也意味着无法对日志进行 OLAP 分析、使用 CLS 仪表盘(基于 SQL 结果绘制图表)等、所以建议您使用数据加工来将非结构化的数据转为结构化的数据。如果您的日志是有规律的,也可以在日志采集时就提取结构化数据,参见 完全正则格式(单行)或者 分隔符格式。比起采集侧,数据加工提供更为复杂的结构化处理逻辑。
日志过滤,节约后续使用成本。丢弃不需要的日志数据,节约云上的存储成本、流量成本。例如后续您可能将日志投递到腾讯云 COS、Ckafka,可以有效节约投递的流量。
敏感数据脱敏,例如:将身份证、手机号码的信息脱敏。
日志分发,例如:按照日志级别:ERROR、WARNING、INFO 将日志分类,然后分发到不同的日志主题。
产品优势
简单易用,对数据分析师、运维工程师尤为友好。提供开箱即用的函数无需购置、配置、运维 Flink 集群,只需要使用我们封装的 DSL 函数就可以实现海量日志的流处理,包括清洗过滤、脱敏、结构化、分发等,更多信息请参见 函数总览。
高吞吐实时日志数据流处理。加工效率高(毫秒处理延时)、吞吐高,可达10-20MB/S/分区(源日志主题的分区)。
按量计费,使用成本低。在单日数据量不超过100GB的情况下,CLS数据加工比自建 Flink 流处理集群有明显的成本优势。假定 Flink 节点按照1C4G配置,管理需要两个节点、计算一个节点,单个计算节点每秒处理的 Message 按照2KB计算,可处理的最大数据量约为9000-12000条。因此需要购买一台4C16G的云服务器,一个月的价格约为521元(腾讯云广州地域CVM刊例价)。CLS 数据加工 VS 开源 Flink 集群的费用如下表可见:
消息数量(条/秒) | 单条消息大小(KB) | 日志量(GB/天) | 数据加工费(元/月) | 开源Flink费用(元/月) |
100 | 1 | 8.2 | 37 | 521 |
100 | 2 | 16.5 | 74 | 521 |
500 | 2 | 82.4 | 370 | 521 |
700 | 2 | 115.3 | 519 | 521 |
客户案例
数据清洗过滤:客户 A,丢弃无效日志,仅保留指定字段,补齐部分缺失的字段和字段值。当日志中没有 product_name、sales_manager 字段时,视为无效日志,丢弃该条日志。否则保留日志,并且只保留 price、sales_amount、discount 这三个字段。其它字段 drop 掉,如果该条日志缺失 discount 字段,那么新增这个字段,并给它赋一个默认值,例如“70%”。
数据转换:客户 B,原始日志中的字段值是 IP 地址,客户需要根据 IP,新增国家、城市的字段和值。例如2X0.18X.51.X5,新增字段国家:中国,城市:北京。将 UNIX 时间戳转换为北京时间,例如1675826327,转化为2023/2/8 11:18:47。
日志分类投递:客户 C,原始日志是多层级 JSON,JSON 中还包括了 Array 数组,客户C使用数据加工将多层级 JSON 的指定节点的数组提取出来作为字段值,例如从 Array[0]中提取 Auth 字段的值,然后根据 Auth 字段的值,对日志数据进行分发。当值为“SASL”时,投递到目标主题 A;当值为“Kerberos”时,投递到目标主题 B;当值为“SSL”时,投递到目标主题 C。
日志结构化:客户 D,原始日志"2021-12-02 14:33:35.022 [1] INFO org.apache.Load - Response:status: 200, resp msg: OK"通过数据加工完成结构化,结果为 log_time:2021-12-02 14:33:35.022, loglevel:info, status:200。
费用说明
如果您的业务只需要使用加工后的日志,推荐您将源日志主题的保存时间配置为3-7天,不开启源日志主题的索引,可有效节约费用。
规格与限制