前言
Prometheus/Zabbix告警可以让运维人员知道发生了什么故障?
可观测性平台的建立是让开发/运维人员知道发生了什么故障? 故障导致的根因? 进而根据故障根因,采取正确的紧急预案措施;
想要实现以上目标就需要构建1个可观测性平台;
可观测性平台定位
可观测性(Observability)是指针对1个复杂的系统;
能够通过监控、日志(Logs)、指标(Metrics)、微服务调用链接追踪(Traces)3类遥测数据,快速地发现故障根因的平台。
如何做到在1个复杂系统中快定位故障根因?
需要通过手动/自动/EBPF无侵入埋点的方式采集到丰富的遥测数据,结合业务需求从不同纬度出发对遥测数据进行Tag打标,使采集到的Metrics、Traces、Logs具有关联性,才能从Traces层面开始不断向下深入分析,最终定位到故障根因。
Opentelemetry
Opentelemetry是一套由CNCF主导的可观测性的标准框架,统一了可观测性数据采集的标准;
Opentelemetry可以实现对遥测数据的生成、采集、处理、传输,但不对遥测数据进行存储;
Opentelemetry的优势在于对遥测数据采集、传输规范的统一;
- 遥测数据数据生成、采集、传输规范的制定
- 遥测数据传输协议的统一
- 多语言遥测数据采集SDK的实现 用户可以使用SDK进行代码自动注入和手动埋点,同时对其他三方库(Log4j、LogBack等)进行集成支持
- 数据收集系统的实现,包括Agent和Collector。