日志服务 投递与消费可观测

投递与消费可观测是 CLS 为投递任务与日志消费提供的运行时观测能力。相关任务在运行过程中会持续上报运行状态、处理量、时延等运行数据,这些运行数据以服务日志的形式存储到 CLS 内置的服务日志主题(cls_service_log),可通过日志检索、SQL 分析、告警策略实时观测每一个任务的运行状态。

相关产品
日志服务 产品页,含版本规格、价格与购买入口。

一、概述

这篇按模块分章节介绍各自的服务日志字段与观测用法:

·投递 Splunk

·日志消费

注意:说明:

注意:服务日志主题 cls_service_log 汇聚了数据加工、定时 SQL、投递、日志消费等多个模块的运行日志。查询某个模块时,按该模块对应的字段前缀(如投递 Splunk 为 splunk_task_*、日志消费为 k_consumer_*)过滤即可。后续新增的投递类型(如投递 Azure)将以新章节形式补充到这篇。

二、前提条件与默认配置

·已创建对应的 投递 Splunk 任务 或 日志消费。

·任务已开启服务日志开关:服务日志开关默认开启,可在对应任务的配置页面查看和调整该开关。

三、投递量与结果统计

通过 splunk_task_success_count(成功投递的事件条数)与 splunk_task_size(本批次投递数据量,字节)观察投递吞吐;splunk_task_dessert_size、splunk_task_dessert_sample_count 观察被丢弃的数据量,判断是否存在数据校验不通过被丢弃的情况。

四、投递耗时观测

通过 splunk_task_send_time 与 splunk_task_arrived_time 的差值(结束处理单批次时间 − 开始处理单批次时间,均为秒级时间戳)衡量单批次投递的耗时。耗时持续升高通常意味着目标端写入变慢或网络链路存在瓶颈。

五、投递状态监控与故障定位

通过 splunk_task_status 观察投递任务状态,异常时结合 splunk_task_msg 定位原因:

·Running:正常运行中。

·InvalidMessage:无效的数据(样本校验不通过,被丢弃)。

·UploadFailed:上报数据到目标失败。

六、异常告警建议

·投递失败(splunk_task_status = UploadFailed)。

·数据被丢弃(splunk_task_dessert_count > 0)。

·投递耗时超阈值(splunk_task_send_time − splunk_task_arrived_time 超过业务容忍值)。

七、服务日志字段说明

字段名 描述 示例值
splunk_task_uin 用户账号 ID(UIN)。 1254139626
splunk_task_topic_id 源日志主题 ID。 XXXXXX-d122-43cf-bb74-39a4c9ec79bb
splunk_task_task_id 投递任务 ID。 XXXXXX-61d1-4aff-b503-9a647379a107
splunk_task_status 投递任务状态:Running:正常运行中InvalidMessage:无效的数据,样本校验不通过被丢弃。UploadFailed:上报数据到目标失败。 Running
splunk_task_success_count 成功投递的事件条数。 10
splunk_task_size 本批次投递的数据量(字节)。 540
splunk_task_dessert_count 投递本次丢弃行数。 0
splunk_task_dessert_size 投递本次丢弃样本的数据量(字节)。 0
splunk_task_dessert_sample_count 投递本次丢弃样本点数量。 0
splunk_task_send_time 投递任务结束处理单批次数据的时间(秒级时间戳),与 splunk_task_arrived_time 的差值用于衡量投递耗时。 1732691546
splunk_task_arrived_time 投递任务开始处理单批次数据的时间(秒级时间戳)。 1732691538
splunk_task_region 投递任务所属地域。 ap-guangzhou
splunk_task_target_address 投递目标地址。 http://10.1.1.8:8088/services/collector
splunk_task_msg 投递任务信息:invalid msg error:数据无效,样本校验不通过,丢弃该样本。upload data error:上报数据到目标失败。 invalid msg error

八、常用 SQL 查询示例

以下 SQL 需在服务日志主题 cls_service_log 中查询,并按字段前缀 splunk_task_* 过滤。

·每小时成功投递条数:

splunk_task_task_id: 你的任务 ID | select date_trunc('hour', __TIMESTAMP__) AS time, sum(splunk_task_success_count) AS success_count group by time order by time

·投递耗时 P95 / P99:

splunk_task_task_id: 你的任务 ID | select approx_percentile(splunk_task_send_time – splunk_task_arrived_time, 0.95) AS p95_cost, approx_percentile(splunk_task_send_time – splunk_task_arrived_time, 0.99) AS p99_cost

·丢弃数据统计:

splunk_task_dessert_count > 0 | select splunk_task_task_id, sum(splunk_task_dessert_count) AS dessert_total group by splunk_task_task_id order by dessert_total desc limit 10

九、监控查看入口

日志消费(Kafka 协议消费)的运行监控内置在日志主题管理页中,查看步骤如下:

1. 登录 日志服务控制台,在左侧导航栏中选择日志主题。

2. 单击需要使用 Kafka 协议消费的日志主题 ID / 名称,进入日志主题管理页面。

3. 选择投递和消费 > Kafka 协议消费页签,切换页面至监控区域。

4. 监控分为消费主题与消费组两个维度:

·消费主题维度:查看该日志主题下的消费日志条数(对应 k_consumer_line_count)、消费流量(对应 k_consumer_flow_count)。若同时开启多个消费组,流量与条数为各消费组之和。

·消费组维度:查看消费延迟(对应 k_consumer_delay_s),支持按消费组颗粒度(整体延迟)和分区颗粒度(单分区延迟)进一步下钻。

5. 可在图表上方选择监控数据的时间区间;单击图表右上角的告警图标可直接配置告警。

注意:说明:

注意:配置告警需先打开服务日志开关,并拥有服务日志主题 cls_service_log 的读写权限。

十、消费量统计

通过 k_consumer_flow_count(消费的流量)与 k_consumer_line_count(消费的条数)观察日志消费吞吐。

十一、消费延迟观测

通过 k_consumer_delay_s(消费延迟时间,单位秒)观察消费端相对生产端的滞后程度。延迟持续升高通常意味着消费能力不足、消费端处理变慢或分区数据倾斜。

十二、消费分布分析

通过 k_consumer_group_id、k_consumer_partition_id、k_consumer_topic_name 聚合,识别各消费组、各分区的消费量与延迟分布,辅助排查数据倾斜与扩容规划。

十三、异常告警建议

·消费延迟超阈值(k_consumer_delay_s 超过业务容忍值)。

·消费量持续为 0(k_consumer_line_count = 0 持续多个周期)。

十四、服务日志字段说明

字段名 描述 示例值
k_consumer_topic_name 消费主题名称。 XXXXXX-3d16a85a-b9cc-48a6-885f-b4215354c6c0
k_consumer_delay_s 消费延迟时间,单位秒。 0
k_consumer_flow_count 消费的流量。 0
k_consumer_line_count 消费的条数。 0
k_consumer_group_id 消费组 ID。 test-sql-result-1-4
k_consumer_logset_id 消费日志集 ID。 XXXXXX-1254139626
k_consumer_partition_id 消费主题分区 ID。 2

十五、常用 SQL 查询示例

以下 SQL 需在服务日志主题 cls_service_log 中查询,并按字段前缀 k_consumer_* 过滤。

消费延迟 Top N 分区示例:

k_consumer_group_id: 你的消费组 ID | select k_consumer_partition_id, max(k_consumer_delay_s) AS max_delay group by k_consumer_partition_id order by max_delay desc limit 10

赞 (0)
上一篇 4天前
下一篇 4天前