构建可观测性系统流量分布图
作者 | 孟梁
“随着云原生技术的蓬勃发展,可观测性已成为现代应用程序开发、部署和维护的核心要素之一。2017年,Peter Bourgon的文章《 Metrics, Tracing, and Logging》将传统领域中可观测性的概念引入到云原生领域,深入剖析了指标,追踪,日志的定义、特性以及它们之间的关系,赢得了广泛认可。”
01
—
现状分析
云原生计算基金会(CNCF)目前为多种可观测性工具提供支持,涉及指标监控、日志管理和数据追踪等领域。众多企业依据CNCF推荐的产品目录,定制出符合自身业务特点的可观测体系。
在我们的公司,我们采用了VictoriaMetrics、SkyWalking和ELK,分别用于指标、追踪和日志数据的采集和分析。尽管取得了一定进展,数据整合仍是我们需要深入探索的领域。
02
—
基础数据建模
在可观测领域,数据的标准化和处理至关重要。以下是我们的数据标准化的一些规范,保证各个系统中能够保持一致性。
一方面,日志打印中的标签要符合上述规范,另一方面,日志打印出traceId和追踪数据进行关联。
追踪数据采集
建立流量模型,系统流量是由访问入口流入,经过系统内部各个服务之间流转,最后进入各个中间件,或者到下游系统中。
03
—
数据处理和存储
1)按时间聚合数据(一分钟,五分钟,十分钟)
2)处理不同可用区的数据
3)抽象访问入口数据
4)识别微服务和数据信息
我们选择ClickHouse作为我们的数据存储引擎。它具有高效的列存储结构,快速地数据分析能力和低延迟的查询性能。
04
—
数据可视化
3)增加图示说明
将数据按实际流量归一化为五个等级,使得流量图整体信息简洁清晰。
按可用区维度展示:
05
—
结论