Versions Compared
compared with
Key
- This line was added.
- This line was removed.
- Formatting was changed.
在介绍框架的监控告警之前,我们离不开业内可观测性的标准介绍,
OpenTelemetry
关于监控告警这块的设计,以及相关规范。OpenTelemetry
在这块的内容也比较多,我们选择一些重点来介绍一下。OpenTelemetry Metrics
我们来看一张OpenTelemetry
组件的关系图,在OpenTelemetry Metrics
标准的实现中,主要包含以下组件。
Image Added
在标准化文档的落地时,各个组件通常都是采用接口化设计,以提高可扩展性:
Meter Provider
用于接口化管理全局的Meter
创建,相当于全局的监控指标管理工厂。
Meter
用于接口化创建并管理全局的Instrument
,不同的Meter
可以看做是不同的程序组件。例如框架中的各个组件可以看做是不同的Meter
,比如gclient
和ghttp
就是两个不同的Meter
。
Instrument
用于管理不同组件下的各个不同类型的指标,例如在ghttp
下,就会有http.server.request.duration
、http.server.request.body_size
等指标。
Measurements
对应指标上报的具体的DataPoint
指标数据,是一系列的数值项。
View
实现对Measurements
的计算、汇总、过滤、修改等操作,通常指标都是数值类型,所以这个通常都使用默认的View
即可。
Metric Reader
用于实现对指标的数据流读取,内部定义了具体操作指标的数据结构。OpenTelemetry
官方社区提供了多种灵活的Reader
实现,例如PeridRader
、ManualReader
等。
Metric Exporter
Exporter
用于暴露本地指标到对应的第三方厂商,定义了具体是push
还是pull
的数据传输方式。Exporter
需要用到Reader
,其中Reader
只有几种方式,但是Exporter
会根据厂商而定,会有很多,例如:promtheus
、zipkin
等。
Panel | ||
---|---|---|
| ||
|