
本文来源 | Serverless
概述
可观测性是什么呢?维基百科中这样说:可观测性是通过外部表现判断系统内部状态的衡量方式。
在应用开发中,可观测性帮助我们判断系统内部的健康状况。在系统出现问题时,帮助我们定位问题、排查问题、分析问题;在系统平稳运行时,帮助我们评估风险,预测可能出现的问题。评估风险类似于天气预报,预测到明天下雨,那出门就要带伞。在函数计算的应用开发中,如果观察到函数的并发度持续升高,很可能是业务推广团队的努力工作导致业务规模迅速扩张,为了避免达到并发度限制触发流控,开发者就需要提前提升并发度。

可观测性包括三个方面:Logging、Metrics、Tracing
-
Logging 是日志,日志记录了函数运行中的关键信息,这些信息是离散且具体的,结合错误日志与函数代码可以迅速定位问题。 -
Metrics 是指标,是聚合的数据,通常以图表的形式展现。图表中的 tps、错误率等核心指标,可以反映函数的运行情况与健康状况。 -
Tracing 是链路追踪,是请求级别的追踪,在分布式系统中可以看到请求在各个模块的延时、分析性能瓶颈。
函数计算中的 Logging/Metrics/Tracing
1. 日志
-
简单查询:简单查询中列出每个 requestID 对应的日志,可以通过 requestID 对日志进行筛选; -
高级查询:高级查询嵌入了日志服务,可以通过 SQL 语句进行查询。
2. 指标
-
函数详情查看监控指标:FC 提供丰富的系统指标,这些指标可以不用任何配置,就可以在函数计算控制台查看。 -
配置日志大盘:日志大盘不仅可以看到函数计算提供的监控指标,而且可以与开发者日志关联,生成自定义的监控指标。
3. 链路追踪

(请求在各个链路的延时瀑布图)
-
函数计算作为整个链路中的一环,可以看到请求在函数计算上的时延,时延包括系统启动的时间和请求真正的执行时间,帮助用户分析性能瓶颈。 -
函数计算中调用 FC SDK,可以默认看到 SDK API 的调用时延。 -
开发者在函数代码中访问数据库等产品,可以手动在函数中埋点分析这段时延。
问题排查
更多精彩

识别二维码观看直播
爱奇艺在 Dubbo 生态下的微服务架构实践
分布式锁在存储系统中的技术实践


点此阅读作者更多好文!



