我们可以看到,在将 Flink Metrics 暴露给 Prometheus 等外部系统时,Flink 使用 Pushgateway 而不是 Prometheus 通常的 pull 模型进行一般指标收集。
@Override
public void report() {
try {
pushGateway.push(CollectorRegistry.defaultRegistry, jobName);
} catch (Exception e) {
log.warn("Failed to push metrics to PushGateway with jobName {}.", jobName, e);
}
}
然而,从下面的 Prometheus 官方文档中,它指出“Prometheus 从检测作业中直接或通过中介推送网关为短期作业抓取指标”,显然 Flink Streaming 作业不是短期作业,那么为什么 Flink 使用 Pushgateway而不是普罗米修斯通常用于一般指标收集的拉模型?
Flink 提供PrometheusPushGatewayReporter和通常更合适的基于拉取的PrometheusReporter。Prometheus 在 Flink 用户中非常受欢迎,社区对支持这两种类型的连接很感兴趣。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句