記一次部署系列:prometheus通過pushgateway配置自定義監控項


1、部署pushgateway並配置prometheus能夠拿到pushgateway的數據,類似下圖。部署過程參考:https://www.cnblogs.com/sunnytomorrow/p/16068405.html

2、創建腳本生成監控項數據並寫入文件,然后將數據put或post到pushgateway中。注意:數據必須為數字格式。

我這里創建“存活容器數量”和“停止容器數量”的監控項

]# cat query.sh
#!/bin/bash Up_container=`docker ps -a |grep Up|wc -l` Exit_container=`docker ps -a |grep Exit|wc -l` echo -e "Up_container $Up_container\nExit_container $Exit_container" > result.txt
]# ./query.sh
]# cat result.txt
Up_container 1   # Up_container類似於為變量名
Exit_container 0
]# curl -X PUT --data-binary @result.txt http://192.168.4.67:9091/metrics/job/test_job/instance/test_instance

3、訪問prometheus界面,查看pushgateway中的數據

 

  

 這里,我們便能看到我們put上來的數據已經進入到prometheus中了。然后我們配置grafana展示我們自定義的監控項。

訪問grafana,創建dashboard,並根據變量名獲取到數據,並以圖形或數字展示,過程如下

 

可以看到,我們在輸入監控項的名字后,點擊一下空白區域,指標相關的值就以圖形展示了,這里我們還可以配置alert,以實現該監控項的告警

 我這里配置的為一分鍾內平均容器數低於1就告警,等同於當這個容器掛掉的時候就告警。然后點擊save進行保存。然后就可以看到我們自定義的監控項已經在dashboard里面了,並且還有告警機制。

郵件告警配置參考:https://www.cnblogs.com/sunnytomorrow/p/16071011.html

 待解決問題:

  1、pushgateway里的數據持久化問題,可以通過啟動時添加參數進行持久化,如果不持久化,數據將一直存儲在內存中。還有需不需要持久化問題

  2、put和post數據問題,put會覆蓋掉之前提交的同instance,同job里的所有數據,而post只會覆蓋掉同instance,同job里的同名的數據

End !


免責聲明!

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



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