一、前言
当前软件架构演变由单体架构=>分布式架构(SOA)=>微服务架构(mircoservice)=>云原生架构(cloud native),所以架构的演变导致对系统日志、监控、链路等统称为观测性方案提出巨大的挑战。在单体架构时代,借助丰富的日志库基本满足对日志管理,但是面对分布式、微服务的架构盛行,则要求在对服务的日志、监控、链路上提供好的解决方案,OpenTelemetry则满足上述要求,所以本章开始学习OpenTelemetry,通过ASP.NET Core构建的应用程序,使用OpenTelemetry完成日志方案、监控方案、链路方案。OpenTelemetry的官网是https://opentelemetry.io
二、OpenTelemetry
1、定义
学习OpenTelemetry,首先了解清楚OpenTelemetry的是什么?定义是使用go语言编写的一个与供应商无关的开源可观测性框架,用于检测、生成、收集和导出遥测数据,如轨迹、度量、日志。目标是提供一套标准化与供应商无关的SDK、API、工具用于接收、转换数据并将数据发送到可观测系统(观测系统)后端,其允许开源或者商业。
原文:1、High-quality, ubiquitous, and portable telemetry to enable effective observability;2、OpenTelemetry is a collection of APIs, SDKs, and tools. Use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) to help you analyze your software’s performance and behavior.3、OpenTelemetry is generally available across several languages and is suitable for use.