1. 总体架构分析
核心组成
Collector
是 Prometheus 的核心接口,定义了两个主要方法:Describe(chan<- *Desc)
:用于向 Prometheus 描述指标的元数据。Collect(chan<- Metric)
:用于将具体的指标数据传递给 Prometheus。
NodeCollector
是node_exporter
的核心入口,管理了多个具体的指标收集器(如cpuCollector
、memoryCollector
等)。
NodeCollector 的职责
- 注册所有可用的 Collector:
在程序启动时,通过调用registerCollector
方法,将所有可用的Collector
注册到系统中,包括默认启用的和自定义的。 - 按需初始化 Collector:
使用NewNodeCollector
方法,根据程序的启动参数或者配置ÿ