Kubernetes 開源桌面監(jiān)控工具 - KubeScrape
KubeScrape 是一個開源監(jiān)控工具,旨在幫助 Kubernetes 用戶跟蹤集群的健康狀況、查看實時指標(biāo)和查看結(jié)構(gòu),該應(yīng)用程序目前有 5 個直觀的頁面。

安裝
該應(yīng)用程序是一個桌面應(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 實例后,需要在本地能夠通過 30000 端口訪問,這是因為目前 KubeScrape 是通過該端口進(jìn)行 API 調(diào)用的,后續(xù)會提供讓用戶輸入 Prometheus 地址的功能。 (可選)如果配置了 Prometheus 的報警規(guī)則,KubeScrape 的 Alerts 選項卡會只顯示報警相關(guān)的信息。
我這里在 Kubernetes 集群中安裝了 Prometheus,并且有一個 Service 暴露服務(wù):
??kubectl?get?svc?-n?kube-mon????????????????????????????????????????????
NAME???????????TYPE????????CLUSTER-IP???????EXTERNAL-IP???PORT(S)???????AGE
prometheus?????ClusterIP???10.108.206.232???????????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 倉庫來輕松部署,包括報警規(guī)則。
特性
上面的需求滿足后,在本地直接打開 KubeScrape 應(yīng)用即可正常使用了,首頁提供了集群運(yùn)行狀況和一些重要的集群指標(biāo)信息概述:


點(diǎn)擊一個節(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 頁面還會顯示 Prometheus 中處于 Firing 狀態(tài)的報警規(guī)則,按照報警名稱進(jìn)行分組:

Visualizer 頁面可以展示 kubernetes 集群對象的關(guān)系圖,按命名空間組織。
總體來說該項目還處于較早期階段,功能也略顯雞肋,但是如果作為開發(fā)學(xué)習(xí)的范例則是一個非常好的案例。
項目倉庫:https://github.com/oslabs-beta/KubeScrape
