前言
Prometheus Exporter 是连接监控目标与 Prometheus 的桥梁。选择合适的架构模式对于系统的可靠性和可维护性至关重要。
常见架构模式
1. 直接采集模式
最简单的模式,Exporter 直接调用目标系统的 API。
func (e *Exporter) Collect(ch chan<- prometheus.Metric) {
stats := e.client.GetStats()
ch <- prometheus.MustNewConstMetric(
e.requestsTotal,
prometheus.CounterValue,
float64(stats.Requests),
)
}2. 子进程架构
对于 JMX 等需要特定运行时的场景,使用子进程隔离。
# 启动 WebLogic Exporter
./weblogic-exporter --config=config.yamlWarning
子进程架构需要额外处理进程管理和健康检查。
总结
根据目标系统特点选择合适的架构模式,是构建可靠 Exporter 的关键。