根据 Splunk 的可观测性全球调研报告,可观测性当前主流技术 Tracing、Logging、Metrics 已经在更多机构广泛的被使用起来了, 并取得了不错的效果。但是机构可观测性的成熟度仍然面临着以下的挑战:
-
Struggling with the ability to correlate data from multiple sources in a timely fashion (according to 29%, up from 23% a year ago).
-
Collecting an amount of data that exceeds human capacity to digest (27%, up from 21%).
-
Experiencing a lack of visibility across distributed environments (26%, up from 20%).
-
Using legacy tools that lack visibility to cloudnative environments (26%, flat year-over-year, but unseated as the most frequently cited challenge).
第三点和第四点,我们认为当前的 skywalking、prometheus 工具只要能够广泛使用起来,就能满足这个挑战。但是第一点和第二点当前可观测性工具是很难直接解决的,当前可观测性用户很容易迷失在指标迷阵当中,不知该在什么时间查看何种指标,如何理解大规模细粒度的指标。
为了帮助大家理解这个价值和挑战,可以想象如果您是开发者,分布式追踪 Tracing 工具定位到某个节点实例的问题之后,会不会经历如下灵魂拷问:
-
“这个时间段好像这个指标有点异常,线下看看能不能重现出来”
-
“这很有可能是网络波动导致的,费这个劲研究干啥?等下次出现的时候再查吧”
-
“这个时候大概率产生了 GC,把 GC 日志打开再观察一段时间,GC 的时间好像并不久呀?接下来咋办”
-
“所有指标看上去都没有问题,那多加点日志,打日志总能找出问题的代码块”
-
“有问题的代码段终于找到了,也给出了合理的解释,但是仍然解释不了为什么其他实例没有问题呢?生产环境不只一个实例呀”
我们认为基于 eBPF 可观测性摄像头能够将这些问题迎刃而解,除了这些问题以外,还能够帮助用户解决以下问题:
-
了解程序异常退出最后现场——哪些线程在干什么
-
了解程序执行时,依赖资源(网络、存储)是否正常响应