站酷监控告警实践

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 随着应用架构往容器化、微服务化方向发展,传统监控技术已经不能满足云原生时代运维的需求,因此,可观察性的理念被各个团队重视起来。 站酷的监控告警,经历了蛮荒发展的过程,先后推出了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 等。



相关文章
|
1月前
|
数据采集 SQL DataWorks
DataWorks产品使用合集之如何配置数据质量监控
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
数据采集 DataWorks 监控
DataWorks常见问题之监控规则是数据质量配置好钉钉机器人不报警如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
Prometheus 监控 Cloud Native
6个步骤搞定云原生应用监控和告警(建议收藏)
本文主要以springboot应用为例,讲解云原生应用监控和告警的实操,对于理论知识讲解不多。等朋友们把实操都理顺之后,再补充理论知识,就更容易理解整个体系了。
6个步骤搞定云原生应用监控和告警(建议收藏)
|
存储 数据采集 监控
无数据告警最佳实践
在对SLS的Logstore和Metricstore进行监控的过程中,有时候会出现一些无数据的情况,监控SLS的存储库中无数据的情况,是保证数据成功上传到SLS的一个重要手段,本文将介绍无数据告警的常见配置方法。
434 0
无数据告警最佳实践
|
存储 SQL Prometheus
站酷监控告警,终于有一篇文章说清楚了?
随着应用架构往容器化、微服务化方向发展,传统监控技术已经不能满足云原生时代运维的需求,因此,可观察性的理念被各个团队重视起来。      站酷的监控告警,经历了蛮荒发展的过程,先后推出了blackbox、Grafana、Prometheus、Skywalking、sentry等等工具、平台。大家在使用过程中,或多或少出现了疑问:     我们真的需要这这么多监控么?为什么这么多监控监控不到我的痛点?未来我们是否只需要部分监控告警?于是就有了这个比较诱人(唬人)的标题。那就让我们慢慢道来。
|
运维 监控 中间件
运维自动化之监控告警平台
Saturn平台可以解决多种监控平台产生的报警统一管控,类似监控中间件的功能,监控平台产生的告警发送给saturn, 通过saturn统一查询分析报警、控制报警风暴、自定义报警发送渠道(钉钉、电话告警),saturn还支持对收集到ES、云厂商日志服务中的业务日志检索并报警, saturn内置了中通天鸿呼叫中心免费1000条语音告警功能。
1088 0
运维自动化之监控告警平台
|
4月前
|
存储 数据采集 监控
【最佳实践】无数据告警配置
背景在对SLS的Logstore和Metricstore进行监控的过程中,有时候会出现一些无数据的情况,例如数据采集阶段出现故障Logtail采集异常、数据导入任务异常或者SDK写入数据出错等情况都有可能导致日志库中没有数据。业务系统出现问题例如用户的业务日志中有某个系统模块的日志,在一段时间内,由...
129 0
【最佳实践】无数据告警配置
|
运维 Prometheus 监控
告警运维中心|构建高效精准的告警协同处理体系
基于报告,ARMS 能快速的整合上下文,包括 Prometheus 监控进行监控。还有前端监控的相关数据,都会整合到报告里面,进行全方位检测来收敛相关问题。
告警运维中心|构建高效精准的告警协同处理体系
|
监控 Kubernetes 数据可视化
可观测监控方案大全-SLS全栈监控
为了便于用户快速接入和监控业务系统,SLS提供了全栈监控的APP,将各类监控数据汇总到一个实例中进行统一的管理和监控。全栈监控基于SLS的监控数据采集、存储、分析、可视化、告警、AIOps等能力构建。
1778 1
|
4月前
|
存储 运维 监控
基于业务的告警管理最佳实践
本文主要介绍了SLS告警管理中心的业务概念和功能。
226 0
基于业务的告警管理最佳实践