使用 OpenTelemetry 构建可观测性 06 - 生态系统
OpenTelemetry 生态系统概览:作为 CNCF 第二活跃项目,介绍 OTel 官网、Slack 社区、GitHub 仓库组织结构以及 Registry 注册表,帮助开发者快速入门并参与社区。
汇总 Flashcat 博客中归属于 OpenTelemetry专栏 分类的文章,方便按内容类型连续阅读产品实践、客户案例和可观测性方法。
OpenTelemetry 生态系统概览:作为 CNCF 第二活跃项目,介绍 OTel 官网、Slack 社区、GitHub 仓库组织结构以及 Registry 注册表,帮助开发者快速入门并参与社区。
OpenTelemetry 传播与行李机制详解:通过 Propagation 传递 TraceID 和 SpanID 实现分布式链路追踪,使用 Baggage 在微服务间传递自定义上下文数据。
OpenTelemetry Collector 详解:介绍接收器、处理器、导出器组件,DaemonSet 和 Sidecar 两种 Kubernetes 部署方式,以及使用 ocb 工具构建自定义收集器分发版。
OpenTelemetry SDK 导出详解:介绍 TracerProvider 链路追踪生产者、Resource 资源元数据、OTLP Exporter 导出器的配置,实现遥测数据从应用到收集器的传输。
OpenTelemetry 埋点详解:讲解手动埋点创建 Span、设置属性和事件,以及使用 Flask、MySQL 自动埋点零代码获取链路追踪数据,快速实现应用可观测性。
OpenTelemetry 入门指南:介绍 OTel 的 API、SDK、Collector 组件,以及 Traces、Metrics、Logs 三大可观测性支柱,通过购物车示例应用演示分布式链路追踪实现。
相较于传统的单体应用,以及过去相对静态化的基础设施,现代的应用架构,是一种松耦合的、动态变化的、数量巨大的微服务构成的网络。为了看清楚网络中众多不同的服务之间的依赖关系,以及看清楚一次请求经过的路径上各个节点之间的耗时等信息,传统监控,已经无力应对了。这个网络的每个节点,都有可能是出问题的风险点,tracing 能够追踪每个请求在全生命周期过程中所经过的每个节点的信息,成为了云原生时代和微服务架构下构建可观测体系的关键一环。
Logs 是“可观测性三支柱”中历史包袱最重的监控数据类型,日志的格式更随意,缺乏标准和规范。推荐在应用研发阶段,按照 OTel Logs 规范打印日志。