- 實現基於時間指標收集及其圖形視覺化的可觀測性生態系統。
- 針對 GNU/Linux 和 Windows 環境部署特定的匯出代理,以擷取系統資料。
- 使用 Thanos 和 VictoriaMetrics 實作海量資料儲存的高階可擴充策略。
如今,密切關注技術基礎設施的運作狀況不再是錦上添花,而是絕對必要。持續的系統監控使我們能夠在最終用戶察覺任何異常之前就預見到問題,從而防止小錯誤演變成令人徹夜難眠的全面服務中斷。
為了實現這一目標,我們採用了一種行之有效的組合:Prometheus 和 Grafana 的結合。前者負責收集和儲存時間序列資料庫中的指標數據,而後者則提供強大的視覺化介面,將這些數據轉化為易於理解的圖表。
端對端監控的基礎知識
主動監控指的是不等伺服器崩潰才採取行動。應用效能管理 (APM) 監控方法能夠讓您觀察要求的整個路徑,即時偵測瓶頸或效能錯誤。這一點至關重要,因為從 80 年代手動檢查物理指標,到如今使用自動化工具,我們已經能夠全面了解基礎設施,而這在歷史上是沒有發生的。
實施此類監控不僅可以減少停機時間,還能優化營運成本。此外,為了確保一切順利運行,高效的 API 管理至關重要,它能確保應用程式之間的通訊具有可擴展性和安全性,從而完善監控策略。
建構技術堆疊:Linux 上的 Prometheus 和 Grafana
要在 Linux 環境中實作此系統,我們需要三個關鍵元件。首先是prometheus-node-exporter,它負責在 9100 連接埠發布系統指標。需要注意的是,在某些發行版(例如 Ubuntu)中,systemd 垃圾回收器可能會產生過多的資料(高基數),因此有時建議使用 Ansible停用某些垃圾回收器,以避免系統過載,具體操作可參考全面的 Linux 伺服器最佳化指南。
下一步是Prometheus伺服器,我們需要在其中設定檔。 prometheus.yml在這裡,我們會詳細地告訴你。 應該監測哪些設備 定義 scrape_configs 以及目標(IP 位址和連接埠)。一旦 Prometheus 開始每隔幾秒鐘收集一次數據,Grafana 就會發揮作用。該工具通常使用 .deb 軟體包安裝,它允許我們… 將 Prometheus 連接為資料來源 然後導入預先設計好的儀錶板,這樣我們就省去了從頭開始創建每個圖表的麻煩。
使用 Docker Compose 的快速替代方案
如果您不想手動安裝,可以使用容器來建立整個環境。透過docker-compose.yml文件,我們可以將 Prometheus 映像、Grafana 映像和 Node Exporter 部署在同一個虛擬網路上。為了防止容器重新啟動時資料遺失,必須在主機的檔案系統上配置持久磁碟區。
在這種架構下,配置過程大大簡化。我們可以使用 YAML 檔案自動設定 Grafana 的資料來源,無需存取 Web 介面來設定 Prometheus URL。此外,對於進階用戶,設定 JSON 中還提供了將查詢方法變更為 POST 或直接從 Grafana管理警告的選項。
將監控擴展到 Windows 環境
並非所有企業都使用 Linux;Windows 仍然是許多資料中心的主力系統。為了整合這些專用的 Windows 伺服器,我們使用windows_exporter,它會在 9182 連接埠上公開指標。流程類似:我們在 Windows 機器上安裝代理,在 Prometheus 中加入對應的作業,然後找到一個Windows 專用的儀錶板(例如 Grafana 圖庫中的 ID 14694)來視覺化 CPU、記憶體和磁碟的狀態。
大規模儲存和可擴充性解決方案
隨著公司發展壯大,需要管理數百萬個指標,Prometheus 的表現可能會開始下降。為了解決這個問題,出現了像Thanos這樣的工具,它可以將資料遷移到 AWS S3 或 Google Cloud Storage 等雲端存儲,從而實現高可用性和長期資料保留。 Thanos 使用一個與 Prometheus 整合的 sidecar 元件和一個用於聯合查詢的 Query 元件。
另一個非常有效的替代方案是 維多利亞指標此方案在 CPU 和記憶體利用方面效率極高。在複雜的架構中,它可以發揮作用。 Kubernetes 上的 Prometheus-Operator 該系統用於管理本地資料收集,並將所有指標隨後發送到 VictoriaMetrics 叢集。該系統由多個組件構成,例如: vmstorage 為了保存數據, vminsert 寫下它們 vmselect 為進行諮詢,允許管理 數十億個數據點 而不會使系統變慢。
這些工具的選擇通常取決於資料量。 Prometheus 非常適合短期使用,但對於需要集中管理來自數十個集群的信息,並確保數據流量始終使用安全代理進行加密和身份驗證的多雲環境而言,將其與VictoriaMetrics 或 Thanos結合使用才是更穩健的選擇。
基於 Prometheus 和 Grafana 建構的生態系統,輔以 Linux 和 Windows 代理,並藉助 VictoriaMetrics 或 Thanos 進行擴展,可將 IT 管理轉變為可預測且高效的流程。透過集中管理指標和自動化告警,企業可以全面了解其基礎設施,優化效能,並在面對任何不可預見的技術問題時確保業務連續性。





