Kubernetes 開源桌面監(jiān)控工具 - KubeScrape
KubeScrape 是一個(gè)開源監(jiān)控工具,旨在幫助 Kubernetes 用戶跟蹤集群的健康狀況、查看實(shí)時(shí)指標(biāo)和查看結(jié)構(gòu),該應(yīng)用程序目前有 5 個(gè)直觀的頁面。
安裝
該應(yīng)用程序是一個(gè)桌面應(yīng)用程序,只需要從 github release 頁面(https://github.com/oslabs-beta/KubeScrape/releases)點(diǎn)擊下載與你操作系統(tǒng)兼容的可執(zhí)行文件,在本地運(yùn)行即可。
但是要使用該應(yīng)用程序需要滿足一些先決條件:
- (必須)首先必須在你的 Kubernetes 集群中安裝 Prometheus,并且提供了 node-exporter、kube-state-metrics 指標(biāo)數(shù)據(jù)。
- (必須)安裝了 Prometheus 實(shí)例后,需要在本地能夠通過 30000 端口訪問,這是因?yàn)槟壳?KubeScrape 是通過該端口進(jìn)行 API 調(diào)用的,后續(xù)會(huì)提供讓用戶輸入 Prometheus 地址的功能。
- (可選)如果配置了 Prometheus 的報(bào)警規(guī)則,KubeScrape 的 Alerts 選項(xiàng)卡會(huì)只顯示報(bào)警相關(guān)的信息。
我這里在 Kubernetes 集群中安裝了 Prometheus,并且有一個(gè) Service 暴露服務(wù):
? kubectl get svc -n kube-mon
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
prometheus ClusterIP 10.108.206.232 <none> 9090/TCP 45d
然后我可以在本地通過 kubectl port-forward 將 Prometheus 服務(wù)暴露在 30000 端口上:
? kubectl port-forward service/prometheus 30000:9090 --address 0.0.0.0 --namespace=kube-mon
Forwarding from 0.0.0.0:30000 -> 9090
此外如果你沒有安裝相關(guān)的指標(biāo),可以通過 https://github.com/annechanchan/KubeScrape_PrometheusManifests 倉庫來輕松部署,包括報(bào)警規(guī)則。
特性
上面的需求滿足后,在本地直接打開 KubeScrape 應(yīng)用即可正常使用了,首頁提供了集群運(yùn)行狀況和一些重要的集群指標(biāo)信息概述:
點(diǎn)擊一個(gè)節(jié)點(diǎn)可以路由到節(jié)點(diǎn)詳細(xì)信息頁面,可以獲取有關(guān)該節(jié)點(diǎn)上正在運(yùn)行的 pod 信息:
同樣點(diǎn)擊 Pod 則可以路由到 Pod 的詳細(xì)信息頁面,在該頁面可以查看 CPU、內(nèi)存等資源的相關(guān)使用情況:
此外 Alerts 頁面還會(huì)顯示 Prometheus 中處于 Firing 狀態(tài)的報(bào)警規(guī)則,按照?qǐng)?bào)警名稱進(jìn)行分組:
Visualizer 頁面可以展示 kubernetes 集群對(duì)象的關(guān)系圖,按命名空間組織。
總體來說該項(xiàng)目還處于較早期階段,功能也略顯雞肋,但是如果作為開發(fā)學(xué)習(xí)的范例則是一個(gè)非常好的案例。