1、Prometheus & Grafana 介紹
Prometheus 是一套開源的系統監控、報警、時間序列數據庫的組合,Prometheus 基本原理是通過 Http 協議周期性抓取被監控組件的狀態,而通過 Exporter Http 接口輸出這些被監控的組件信息,而且已經有很多 Exporter 可供選擇。Grafana 是一個可視化儀表盤,它擁有美觀的圖標和布局展示,功能齊全的儀表盤和圖形編輯器,默認支持 CloudWatch、Graphite、Elasticsearch、InfluxDB、Mysql、PostgreSQL、Prometheus、OpenTSDB 等作為數據源。我們可以將 Prometheus 抓取的數據,通過 Grafana 優美的展示出來,非常直觀。
2、環境、軟件准備
首先必須有一個rancher部署或者管理的kubernetes集群環境。(rancher部署或者管理kubernetes集群可自行百度,這里就不在詳述。)
3、Rancher 2.x 應用商店
Rancher 2.x 提供了應用商店功能,通過應用商店,我們可以非常方便的安裝各服務到 Kubernetes 集群中,而且真的是一鍵式,非常方便了有木有。Rancher 應用商店默認支持官方認證、Helm Stable、Helm Incubator 三種類型的倉庫,當然也支持自定義類型的商店。
- 官方認證:由Rancher 維護的官方模板倉庫
- Helm Stable:由Kubernetes 社區維護的模板倉庫
- Helm Incubator:未經測試驗證的應用模板倉庫
- 自定義商店
注意:默認 Rancher 只開啟了官方認證方式,即由 Rancher 維護的官方模板倉庫,如果想也支持 Helm Stable 倉庫,那么需要將開關設置為 啟用 即可,那么 Rancher 會自動同步 Helm 模板倉庫到本地。

稍等片刻,同步完成后,就可以切換到任意集群任意 project 下應用商店頁面,點擊 啟動 就可以查看到所有支持的模板應用啦!例如下圖顯示了所有官方認證支持的模板應用。

可以看到其中有很多模板服務,找到你要部署的服務
4、一鍵式部署 Prometheus
接下來我們就可以通過 Rancher 官方提供的模板來一鍵式部署 Prometheus。登錄 Rancher UI,切換到 local-test 集群下 Default 項目下的應用商店頁面,找到 Prometheus 點擊 “查看詳情” 進入到 Prometheus 配置頁面。可以看到 Rancher 默認會將一些可配置信息已經提取出來了,例如 Image、Service Type、Ingress、Volume 等參數,我們可以根據實際應用需要來配置它們。

一切配置完畢,我們還可以點擊預覽,選擇對應的模板,看下修改配置后的模板文件是怎樣的,最后點擊 “啟動” 就會開始自動部署啦!稍等片刻,拉取鏡像會費點時間,如果一切部署正常,在工作負荷、負載均衡、服務發現頁面下 prometheus 命令空間下可以看到如下:



此時,切換到應用商店頁面,就可以列舉出來我們已經部署的模板服務。

點擊應用名稱 prometheus 進入到該模板服務詳情頁面,這里可以看到該服務所有啟動的資源以及一些注釋說明信息。

5、驗證 Prometheus + Grafana
5.1、NodePort 方式
最后,我們來驗證一下通過模板倉庫部署的 Prometheus 服務是否能夠正常運行並訪問。首先本地通過 NodePort 方式訪問一下 Grafana 頁面,Grafana 服務自動分配的端口號為 30424,本地訪問 http://192.168.134.130:31578 地址,使用上邊配置的 Grafana Admin password 登錄一下即可。

默認安裝的 Grafana 已經配置好了 8 個 Dashboard,涉及到 Deployment、Nodes、Pods、Kubernetes Cluster Status 等監控儀表盤。

我們選擇 Kubernetes Capacity Planning Dashboard 監控一段時間,得到的監控圖像如下,妥妥沒問題。

接下來,本地訪問一下 http://192.168.134.130:30309 地址,Prometheus 服務自動分配的端口號為 30773,也是妥妥沒有問題的。


最后,本地訪問一下 http://192.168.134.130:30005 地址,上邊 Alertmanager 配置的 NodePort 端口號為 30005,也是妥妥沒有問題的。

