如何在Sumo Logic中按task_id分组汇总指标最大值之和
解决方案
要实现按task_id分组,汇总每组内所有时间序列的最大值之和,需要分两步完成聚合计算:
- 提取每个独立时间序列的最大值:同一个
task_id下通常对应多个不同的时间序列(比如不同的Kafka分区、TaskManager实例等),先对每个序列计算其最大值,保留task_id和区分序列的标签。 - 按
task_id汇总最大值:将同一task_id下的所有最大值相加,得到最终结果。
针对你的场景,可使用以下查询语句:
metric=flink_taskmanager_job_task_operator_KafkaProducer_record_send_total namespace="flink" deployment="flink-job" | max by * # 对每个唯一标签组合(包含task_id)计算最大值 | sum by task_id # 按task_id汇总所有最大值
如果明确知道区分序列的具体标签(比如partition、instance),可以把max by *替换为更精准的max by task_id, partition(根据实际标签调整),这样能避免不必要的标签干扰,提升查询效率。
以你提到的6cdc开头的task_id为例,第一步会提取出8800、8669、0、6217、7277这些最大值,第二步就会将它们求和得到30963,完全符合你的需求。
内容的提问来源于stack exchange,提问作者Yaniv
相关产品推荐
相关产品推荐

