站酷监控告警实践

简介: 随着应用架构往容器化、微服务化方向发展,传统监控技术已经不能满足云原生时代运维的需求,因此,可观察性的理念被各个团队重视起来。 站酷的监控告警,经历了蛮荒发展的过程,先后推出了blackbox、Grafana、Prometheus、Skywalking、sentry等等工具、平台。大家在使用过程中,或多或少出现了疑问:我们真的需要这这么多监控么?为什么这么多监控监控不到我的痛点?未来我们是否只需要部分监控告警?


 

    随着应用架构往容器化、微服务化方向发展,传统监控技术已经不能满足云原生时代运维的需求,因此,可观察性的理念被各个团队重视起来。

    站酷的监控告警,经历了蛮荒发展的过程,先后推出了blackboxGrafanaPrometheusSkywalkingsentry等等工具、平台。大家在使用过程中,或多或少出现了疑问:我们真的需要这这么多监控么?为什么这么多监控监控不到我的痛点?未来我们是否只需要部分监控告警?

一、可观测性

 

    可观察性的三大支柱及其之间的关系,Peter Bourgon 20172月撰写了一篇简明扼要的文章, 叫 "Metrics, tracing, and logging" [3]

    详细阐明了可观测性三大支柱:

    维恩图的方式展现三者关系时,会正巧展现出一个附加效应。在这三个功能域中,metric倾向于更节省资源,因为他会天然的压缩数据。相反,日志倾向于无限增加的,会频繁的超出预期的容量。容量的需求趋势:metrics低到logging高, 而trace可能处于他们两的中间位置

 

1. 指标数据(Metrics Data

特点是可累加的:他们具有原子性,每个都是一个逻辑计量单元,或者一个时间段内的柱状图。例如:队列的当前深度可以被定义为一个计量单元,在写入或读取时被更新统计;

输入HTTP请求的数量可以被定义为一个计数器,用于简单累加; 请求的执行时间可以被定义为一个柱状图,在指定时间片上更新和统计汇总。

描述具体某个对象某个时间点的值。在 Prometheus 中,指标有四种类型,分别 Counter(计数器)、Gauge(瞬时值)、Histogram(直方图)和 Summary (概要), 通过这四种类型,可以实现指标的高效传输和存储。

2. 日志数据 ( Logging Data)

它描述一些离散的(不连续的)事件。 例如:应用通过一个滚动的文件输出debugerror信息,并通过日志收集系统,存储到Elasticsearch中; 审批明细信息通过Kafka,存储到数据库(BigTable)中;又或者,特定请求的元数据信息,从服务请求中剥离出来,发送给一个异常收集服务。

描述某个对象的是离散的事情,例如有个应用出错,抛出了NullPointerExcepction,或者是完成了一笔转账,个人认为 Logging Data 大约等同于 Event Data,所以告警信息在我认为,也是一种 Logging Data。但是也有技术团队认为,告警应该算是可观察性的其中一个支柱。

3. 跟踪数据(Tracing Data

它在单次请求的范围内,处理信息。 任何的数据、元数据信息都被绑定到系统中的单个事务上。例如:一次调用远程服务的RPC执行过程;一次实际的SQL查询语句;一次HTTP请求的业务性ID

Tracing Data 这词貌似现在还没有一个权威的翻译范式,有人翻译成跟踪数据,有人翻译成调用数据,我尽量用 Tracing 这个词。Tracing 的特点就是在单次请求的范围内处理信息,任何的数据、元数据信息都被绑定到系统中的单个事务上。

一个 Trace 有一个唯一的 Trace ID ,并由多个 Span 组成。下图详细说明了Tracing的发展史:

聊了这么多可观测性,那么我们站酷的这些监控,分别是做什么用的呢?

 

二、站酷监控梳理

上图说明:图中可以看到,我们的各个监控所处的位置,其中冗余项,我们倾向于优先发展绿色的这几个项目。即

Metrics

    ASM监控:无需业务开发,只要接入容器即可享受完善的监控图表(本质上是SLS来画图)。

Logging

    Sentry:排查详细问题,少不了详细的错误日志。

    Alerting:上文说到,告警信息大多是logging metrics

Tracing

    同 ASM监控,使用 ASM的链路追踪(本质是Ali Trace)。

 

三、监控所处在容器化的位置

如图可以看到:

ASM监控+SLSAliTrace,是在服务网格的istio后面做的,业务无感知。

其他的是在容器里做的,需要业务添加sdk

所以各个业务同学根据上面两张图,即可选购你心爱的监控了。

 

四、监控告警截图+手册

1.ASM日志+ASM链路+网格的SLS日志(metrics纬度+Logging

在企业空间(cmdb首页)即可看到监控页面。

企业微信截图_f00ed68a-87ff-43bc-9253-0c58db35909a.png

 

2.SentryLogging这个纬度)

Sentry 是一个开源的实时错误追踪系统,可以帮助开发者实时监控并修复异常问题。 提供了对多种主流语言和框架的支持,包括 React、AngularNodeDjangoRoRPHPLaravelAndroid.NETJAVA 等。



相关文章
|
3月前
|
存储 人工智能 文字识别
实战对比:百炼知识库与钉钉知识库的全方位对比
百炼知识库依托通义千问大模型,具备强大的多模态处理能力,支持实时知识更新与深度文档解析,适用于复杂业务场景;钉钉知识库则深度集成钉钉办公生态,侧重流程化办公场景,适合日常办公需求。两者在智能引擎、格式兼容、文档解析、交互体验、知识精准度、成本结构及管理流程等方面各有优势,企业可根据自身需求选择合适的知识管理工具。
|
4月前
|
人工智能 自然语言处理 机器人
AI Compass前沿速览:Jetson Thor英伟达AI计算、Gemini 2.5 Flash Image、Youtu腾讯智能体框架、Wan2.2-S2V多模态视频生成、SpatialGen 3D场景生成模型
AI Compass前沿速览:Jetson Thor英伟达AI计算、Gemini 2.5 Flash Image、Youtu腾讯智能体框架、Wan2.2-S2V多模态视频生成、SpatialGen 3D场景生成模型
AI Compass前沿速览:Jetson Thor英伟达AI计算、Gemini 2.5 Flash Image、Youtu腾讯智能体框架、Wan2.2-S2V多模态视频生成、SpatialGen 3D场景生成模型
|
4月前
|
弹性计算 运维 安全
了解权限管理:数字化时代的安全基石
在数字化时代,权限管理作为信息安全的核心机制,通过定义“谁”能对“什么”执行“何种操作”,有效防范未授权访问与数据泄露,广泛应用于个人设备、企业系统与云端服务。它不仅保障安全,还提升业务效率与合规性,是数字化转型的关键支撑。
444 12
|
5月前
|
存储 人工智能 自然语言处理
AI代理内存消耗过大?9种优化策略对比分析
在AI代理系统中,多代理协作虽能提升整体准确性,但真正决定性能的关键因素之一是**内存管理**。随着对话深度和长度的增加,内存消耗呈指数级增长,主要源于历史上下文、工具调用记录、数据库查询结果等组件的持续积累。本文深入探讨了从基础到高级的九种内存优化技术,涵盖顺序存储、滑动窗口、摘要型内存、基于检索的系统、内存增强变换器、分层优化、图形化记忆网络、压缩整合策略以及类操作系统内存管理。通过统一框架下的代码实现与性能评估,分析了每种技术的适用场景与局限性,为构建高效、可扩展的AI代理系统提供了系统性的优化路径和技术参考。
325 4
AI代理内存消耗过大?9种优化策略对比分析
|
7月前
|
存储 算法 安全
JWT深度解析:现代Web身份验证的通行证为什么现在都是JWT为什么要restful-优雅草卓伊凡
JWT深度解析:现代Web身份验证的通行证为什么现在都是JWT为什么要restful-优雅草卓伊凡
419 41
JWT深度解析:现代Web身份验证的通行证为什么现在都是JWT为什么要restful-优雅草卓伊凡
|
4月前
|
存储 分布式计算 算法
【交替方向乘子法】梯度下降法与交替方向乘子法(ADMM)求解LASSO问题研究(Matlab代码实现)
【交替方向乘子法】梯度下降法与交替方向乘子法(ADMM)求解LASSO问题研究(Matlab代码实现)
181 0
|
7月前
|
网络协议 区块链 KVM
Arista vEOS 4.30.10M - 虚拟化的数据中心和云网络可扩展操作系统
Arista vEOS 4.30.10M - 虚拟化的数据中心和云网络可扩展操作系统
228 2
Arista vEOS 4.30.10M - 虚拟化的数据中心和云网络可扩展操作系统
|
7月前
|
云安全 运维 监控
客户案例 | EF实现本土化服务,构建完整客户360
EF Education First 借助阿里云上的 Salesforce 的 CRM 产品,构建高性能、本地化的完整客户360解决方案,实现全面的客户关系管理。同时通过 Salesforce 互联网关 (Connected Experiences Gateway) ,EF 成功打造了智能呼叫中心,并实现营销自动化,大幅降低了托管和运维成本。Salesforce 互联网关整合多个本地渠道,并与 CRM 无缝衔接,能更加快捷地支持 EF 的数字化转型业务需求。
|
Java 微服务 Spring
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(八) saas平台篇-解决不同租户针定制化开发问题 -完整代码以及案例方案(1)
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(八) saas平台篇-解决不同租户针定制化开发问题 -完整代码以及案例方案(1)
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(八) saas平台篇-解决不同租户针定制化开发问题 -完整代码以及案例方案(1)
|
SpringCloudAlibaba 安全 Java
SpringCloud Alibaba微服务实战十四 - SpringCloud Gateway集成Oauth2.0
SpringCloud Alibaba微服务实战十四 - SpringCloud Gateway集成Oauth2.0
595 0