做了十多年的架构师,系统上线完成后做的最多的工作就是分析系统瓶颈,复现线上 bug,这些重复的操作搞的人身心疲惫。也曾用过一些开源的产品,比如 SkyWalking、Pinpoint,使用后没发现工作量减少多少。
一次偶然的机会接触到了观测云,这个产品深深地吸引了我。抱着试一试的态度用了几个月,效果非常不错。链路追踪只是观测云的一个功能,她能把前端、后端、日志串联起来进行分析,并能关联到这个链路发生时刻的主机、中间件的运行情况,这正是我梦寐以求的产品。也把我从只是为了减少重复的工作,带到了系统可观测的领域,真是想象限制了认知,使用观测云后境界提示了不少。
感谢观测云把我带到了可观测领域,做为回报,接下来写一下使用过的一些功能,希望能为像我一样曾经困惑的架构师们带来帮助。由于使用的时间比较短,产品的实际能力不能完全展示出来,未免是一种遗憾。废话不多说直接开干。
因缘相识观测云还要从全链路可观测说起。把前端的 Web 或者 APP 接入观测云,可对用户行为进行分析含展示。哪些前端界面最受欢迎,资源加载情况、性能如何、有什么错误等都能展示出来。我们公司的后端主要是 Java,使用 ddtrace 探针几乎无任何侵入。接入观测云后,调用链路拓扑、火焰图等可以把整个调用哪里有性能问题展示的一清二楚。使用 ddtrace 探针可以无侵入的把 trace_id 输出到日志,然后再使用 pipeline 把 trace_id 从日志中提前出来,这样就可以做到了链路与日志关联,排查问题时整个链路的日志一览无余。当然观测云不止做到了前端、后端、日志的相互关联,该链路发生时的主机性能、中间件使用情况、JVM 参数等都可以做关联。
以前做监控用的最多的是 Grafana,使用观测云的场景视图后,发现更灵活、图表更丰富。观测云使用自研的 DQL,可以把指标、日志、链路整合到一个视图上,并且不需要像 promQL 那样写复杂的语句。总结下来几个字:图美,省心。
说起监控告警,每个公司都会用到,观测云的监控器支持阈值监测、突变监测、区间监测、日志监测等等,通知对象支持钉钉、飞书、企业微信、邮件和 Webhook 自定义。其它功能像告警收敛,告警沉默更是不在话下,总结下来一个字:好用!
在同事的一致好评下,公司也与观测云签署了使用协议,如今使用观测云已经数月有余,在项目中确实帮助同事快速定位了不少问题。现在公司都在忙着向信通院申请可观测模块云原生成熟度评级,希望会给公司带来惊喜。