我正在编写一个导出器,但在收集器的指标方面遇到了问题。据我所知,Prometheus 中的指标需要事先定义。有没有办法在运行时动态定义它们?在代码运行之前,我不知道我将拥有多少指标或需要哪些指标。 (例如,如果 k8s 找到连接到集群的所有卷,我需要每个卷来获得它自己的 total_capacity/available_capacity 指标)。
最佳答案
您可以使用动态标签值而不是动态指标名称来处理此问题。也就是说,您可以在运行时调用 prometheus.Register()
就好了,client_golang 不会知道其中的区别。
关于go - 如何在 Prometheus (k8s) 中动态定义指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63273252/