日志服务数据加工: 任务状态监控与告警

本文涉及的产品
对象存储 OSS,标准 - 本地冗余存储 20GB 3个月
对象存储 OSS,内容安全 1000 次 1年
文件存储 NAS,50GB 3个月
简介: 日志服务数据加工最佳实践: 任务状态监控与告警, 介绍如何监控数据加工的任务状态, 并配置相应的监控.

作者: 唐恺

概述

对数据加工任务配置监控,可以发现数据流量、加工逻辑、系统运行的一些潜在异常,帮助业务及时做好异常恢复。

本文大部分监控指标基于“数据加工诊断”仪表盘(参考规则洞察仪表盘)。在系统层面关注:流式加工的消费延迟、是否有异常报错。业务层面上,处理日志行数或写出日志行数是可以被考虑的指标。

进入数据加工任务所属project,选择“仪表盘”-“数据加工诊断”,可以根据业务需求选择以下指标设置告警。

image

加工延迟

  1. 选择“shard消费延迟 (秒)”图表

image

  1. 设置触发条件

例如,选择阈值为120秒时告警:

[delay (s)] > 120

image

  1. 设置通知方式

本文以钉钉webhook为例,更多通知方式参考告警通知方式

image

  1. 告警通知

image

异常报错

  1. 选择“异常详情”图表

image

  1. 设置触发条件

例如,希望在出现ERROR时告警:

image

  1. 设置通知方式
  2. 告警通知

image

ERROR日志一般由加工逻辑或代码上引发,可以在修改代码并重启(停止、启动)作业后观察是否还有新的错误。

加工流量(绝对值)

  1. 选择“加工速率 (lines/s)”图表

image

  1. 设置触发条件

例如,当每秒处理日志条数少于4万行告警时告警(每种数据的流量特征不同,请根据实际情况设置有效的告警条件):

accept < 40000

image

  1. 设置通知方式
  2. 告警通知

image

加工流量(日同比)

  1. 自定义监控指标(图表)

进入数据加工任务所属project,选择logstore internal-etl-log,使用如下SQL计算每5分钟的写出日志行数与昨日同比的指标:

__topic__:  __etl-log-status__ AND __tag__:__schedule_type__:  Resident and event_id:  "shard_worker:metrics:checkpoint" | 
select dt, today, yesterday, round((today - yesterday) * 100.0 / yesterday, 3) as inc_ration from
(select dt, (case when diff[1] is null then 0 else diff[1] end) as today, (case when diff[2] is null then 0 else diff[2] end) as yesterday from 
(select dt, compare("delivered lines", 86400) as diff from 
(select date_format(__time__ - __time__ % 300, '%H:%i') as dt, sum("progress.delivered") as "delivered lines" from log group by dt order by dt asc limit 5000)
group by dt order by dt asc limit 5000))

image

保存该查询条件到仪表盘etl-monitor:

image

你还可以修改SQL以设置更精确的告警指标,例如只对任务ID:06f239b7362ad238e613abb3f7fe3c87设置告警:

__topic__:  __etl-log-status__ AND __tag__:__schedule_type__:  Resident and event_id:  "shard_worker:metrics:checkpoint" and __tag__:__schedule_id__:  06f239b7362ad238e613abb3f7fe3c87 | 
select ...
  1. 设置触发条件

例如,当日志处理速率比昨日下降40%时告警:

inc_ration < (-40)

image

  1. 设置通知方式
  2. 告警通知

image

告警相关操作

可以在告警列表中进行删除或禁用通知或修改操作:

image

更多告警使用指南请参考设置告警

进一步参考

欢迎扫码加入官方钉钉群获得实时更新与阿里云工程师的及时直接的支持:
image

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
2月前
|
Prometheus 监控 Cloud Native
基于docker搭建监控系统&日志收集
Prometheus 是一款由 SoundCloud 开发的开源监控报警系统及时序数据库(TSDB),支持多维数据模型和灵活查询语言,适用于大规模集群监控。它通过 HTTP 拉取数据,支持服务发现、多种图表展示(如 Grafana),并可结合 Loki 实现日志聚合。本文介绍其架构、部署及与 Docker 集成的监控方案。
350 122
基于docker搭建监控系统&日志收集
|
2月前
|
SQL 人工智能 监控
SLS Copilot 实践:基于 SLS 灵活构建 LLM 应用的数据基础设施
本文将分享我们在构建 SLS SQL Copilot 过程中的工程实践,展示如何基于阿里云 SLS 打造一套完整的 LLM 应用数据基础设施。
650 53
|
2月前
|
数据采集 运维 监控
不重启、不重写、不停机:SLS 软删除如何实现真正的“无感数据急救”?
SLS 全新推出的「软删除」功能,以接近索引查询的性能,解决了数据应急删除与脏数据治理的痛点。2 分钟掌握这一数据管理神器。
234 28
|
2月前
|
Prometheus 监控 Java
日志收集和Spring 微服务监控的最佳实践
在微服务架构中,日志记录与监控对系统稳定性、问题排查和性能优化至关重要。本文介绍了在 Spring 微服务中实现高效日志记录与监控的最佳实践,涵盖日志级别选择、结构化日志、集中记录、服务ID跟踪、上下文信息添加、日志轮转,以及使用 Spring Boot Actuator、Micrometer、Prometheus、Grafana、ELK 堆栈等工具进行监控与可视化。通过这些方法,可提升系统的可观测性与运维效率。
305 1
日志收集和Spring 微服务监控的最佳实践
|
2月前
|
存储 缓存 监控
用 C++ 红黑树给公司电脑监控软件的日志快速排序的方法
本文介绍基于C++红黑树算法实现公司监控电脑软件的日志高效管理,利用其自平衡特性提升日志排序、检索与动态更新效率,并结合实际场景提出优化方向,增强系统性能与稳定性。
117 4
|
3月前
|
存储 缓存 Apache
StarRocks+Paimon 落地阿里日志采集:万亿级实时数据秒级查询
A+流量分析平台是阿里集团统一的全域流量数据分析平台,致力于通过埋点、采集、计算构建流量数据闭环,助力业务提升流量转化。面对万亿级日志数据带来的写入与查询挑战,平台采用Flink+Paimon+StarRocks技术方案,实现高吞吐写入与秒级查询,优化存储成本与扩展性,提升日志分析效率。
480 1
|
3月前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL数据库的WAL日志与数据写入的过程
PostgreSQL中的WAL(预写日志)是保证数据完整性的关键技术。在数据修改前,系统会先将日志写入WAL,确保宕机时可通过日志恢复数据。它减少了磁盘I/O,提升了性能,并支持手动切换日志文件。WAL文件默认存储在pg_wal目录下,采用16进制命名规则。此外,PostgreSQL提供pg_waldump工具解析日志内容。
321 0
|
3月前
|
数据采集 运维 监控

热门文章

最新文章

相关产品

  • 日志服务
  • 下一篇
    oss云网关配置