go - 如何在 Prometheus (k8s) 中动态定义指标

标签 go kubernetes prometheus

我正在编写一个导出器,但在收集器的指标方面遇到了问题。据我所知,Prometheus 中的指标需要事先定义。有没有办法在运行时动态定义它们?在代码运行之前,我不知道我将拥有多少指标或需要哪些指标。 (例如,如果 k8s 找到连接到集群的所有卷,我需要每个卷来获得它自己的 total_capacity/available_capacity 指标)。

最佳答案

您可以使用动态标签值而不是动态指标名称来处理此问题。也就是说,您可以在运行时调用 prometheus.Register() 就好了,client_golang 不会知道其中的区别。

关于go - 如何在 Prometheus (k8s) 中动态定义指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63273252/

相关文章:

firewall - 如何在没有转发规则的情况下将 Kubernetes pod 连接到外部世界(谷歌容器引擎)

docker - 如何更改Prometheus监控的cadvisor和node-exporter中的端口号

kubernetes - 使用 Prometheus 监控自定义 kubernetes pod 指标

go - 使用 channel 发送到多个 slice 时数据丢失

go - 如何将 "try send"写入 channel ,如果 channel 已满则中止?

Kubernetes : dial tcp 127. 0.0.1:8080:连接:连接被拒绝

kubernetes - 禁止 : user cannot get path "/" (not anonymous user)

sql - 预期 slice 但得到界面

go - 将文件上传到Google存储而不将其保存到内存

python - 如何使用 prometheus 客户端从作为 uwsgi 服务器运行的 Django 应用程序导出应用程序指标?