UCP Dashboard Shows 'No Data'?
之前曾經處理過一個關於容器平台監控儀表板的問題,寫在這邊作爲記錄並分享。
具體問題狀況:在一個 UCP 叢集環境下,共安裝設定了 10 個節點,包含 UCP manager 以及 UCP worker,而且爲了支持 HA,設定有 3 個 UCP manager,確保高可用性,作爲監控管理用途。所使用的 UCP 版本是 v3.1.1.
運行經過一段時間,其中一個 UCP manager 節點的儀表板無 metrics 資料顯示,如下圖標示:
其他兩個 UCP manager 節點儀表板顯示正常。
另外通過
docker ps命令檢查每個節點的 ucp containers 狀態,
發現 ucp proxy 等 agents 用途的 containers 狀態是健康的,節點之間的 TLS 連線應不是問題,
用
docker logs命令檢查 UCP controller 的日誌內容,如下截圖,
試着以
docker restart命令重新啓動 UCP controller containers ,但是問題仍然存在沒有解決。
接下來試着看 UCP metrics containers 的情況,在 UCP v3.1.1 由 ucp-metrics 來負責,
這部分實際上是以 Prometheus 為功能基礎來輔助達到 UCP 儀表板監控功能,
在 UCP v3.1.1 的 Prometheus 監控是以 Kubernetes deployment 的方式來佈署,
定義成一個 daemonset 指定運行在 Docker EE 容器平台上的每個 UCP manager 節點。
Prometheus 使用 TSDB 格式,通過 volume 機制在本地端儲存 metrics 資料,對應的本地路徑為
/var/lib/docker/volumes/ucp-metrics-data/_data/wal/這路徑保存時間序列的 metrics 資料庫。如果這個路徑有問題,則需要重建。
註:WAL 的全名是 Write Ahead Log.
通過下面命令重設 ucp-metrics (註:要先設定好 ucp bundles):
$ kubectl -n kube-system delete daemonset ucp-metrics
$ kubectl -n kube-system get daemonset -l k8s-app=ucp-metrics
重設 ucp-metrics 之後,上述問題應該可以改善。
關於這個問題的更多資料,請參考 Docker Forum 上這篇 UCP Dashboard Shows 'No Data'
可以看到其他不同的問題成因以及對應的解決方式。
留言
張貼留言