prometheus 自定義服務發現的幾種實現方法


prometheus 具有強大的生態系統,同時也已經內置了好多服務發現的支持(file,consul,k8s,ec2,dns,openstack,....)

自己開發自定義的服務發現機制

官方提供了參考的說明文檔,主要的問題是我們需要修改prometheus 的代碼,同時自己進行構建,很多時候我們會失去新特性的支持 
很不靈活

與現有內置的服務發現機制做適配

方法就很多了,我們可以通過api 將需要監控的節點信息寫入consul,或者基於文件的服務發現模式寫好標准的文件,使用prometheus 內置 
的特性,可以靈活的擴展

使用類似vmagent push 模式的工具

vmagent 是一個很不錯的prometheus 周邊擴展,可以將pull 模式修改為push,這樣我就剋一不用修改prometheus 了,需要做的只是調整agent 
pushgateway 也是一個選擇的方案,實際我們可以結合實際使用的工具以及場景,選擇不同的工具,vmagent是一個不錯的選擇,但是如果使用了 
vmagent我們就需要使用一個支持prometheus remote 協議的存儲系統了

說明

如果需要進行自定義服務發現的開發,還是比較推薦的基於與內置服務發現適配的模式,這樣方便系統的升級以及保持與上游的同步

參考資料

https://prometheus.io/blog/2018/07/05/implementing-custom-sd/#custom-sd-implementation 
https://github.com/prometheus/prometheus/blob/master/prompb/remote.proto 
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write 
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_read 
https://prometheus.io/docs/prometheus/latest/storage/ 
https://github.com/VictoriaMetrics/VictoriaMetrics/wiki/vmagent 
https://github.com/prometheus/pushgateway 
https://github.com/prometheus/prometheus/tree/master/documentation/examples/remote_storage/remote_storage_adapter


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM