監控Kubernetes的最佳實踐、工具和方法
作者 | Kyle Hunter
翻譯 | 布加迪
在 Kubernetes 環境中,應用程式跨叢集內的多個節點執行,應用程式服務可能分佈在多個叢集和多個雲中,因此跟蹤應用程式及其依賴的基礎架構的健康狀況困難重重。
Kubernetes 監控是從您執行的 Kubernetes 叢集收集度量指標,以識別關鍵事件,並確保所有硬體、軟體和應用程式按預期執行。在一個地方彙總指標將幫助您瞭解和保護整個 Kubernetes 叢集以及在上面執行的應用程式和服務的健康狀況。
鑑於容器化和 Kubernetes 建立抽象層,加上 K8s 環境中執行的應用程式具有動態性,監控一切可能是個挑戰。幸好有許多開源 Kubernetes 監控工具以及流行的商業工具,簡化監控工作。
本文探討了市面上的一些 Kubernetes 監控和 Kubernetes日誌工具,包括用於監控的Prometheus 以及用於視覺化和儀表板的 Grafana。
用於日誌和監控的Kubernetes生態系統工具
有眾多流行的工具可以改進 Kubernetes容器監控工作。一些最常見的工具包括如下:
•Prometheus(https://prometheus.io/docs/introduction/overview/):一種開源事件監控和警報工具,可收集指標並存儲為時間序列資料。Prometheus 於 2016 年加入了雲原生計算基金會,成為繼 Kubernetes 之後的第二個託管專案。
•Grafana(http://grafana.com/):一個完全託管的應用程式和基礎架構視覺化平臺,可與Prometheus等監控軟體配合使用。Grafana提供了資料收集、儲存、顯示和警報等功能。
•Thanos(https://thanos.io/):一種度量系統,提供了一種簡單且經濟高效的方式來集中和擴充套件基於Prometheus的監控系統。
•Elasticsearch(https://www.elastic.co/elasticsearch/):一種分散式的、基於JSON的搜尋和分析引擎。
•Logstash(https://www.elastic.co/logstash/):一種開源伺服器端資料處理管道,可同時從多個來源獲取資料,對其進行轉換,然後傳送到您青睞的儲存區。
•Kiban(https://www.elastic.co/kibana/)a:一種資料視覺化和探索工具,可用於日誌和時間序列分析、應用程式監控和運營智慧等使用場景。
應該選擇哪些Kubernetes監控工具?
許多團隊單獨或組合使用這些監控和日誌記錄工具,以建立自己的解決方案,並滿足特定的容器監控和Kubernetes應用程式監控需求。最常用的組合工具之一是Prometheus和Grafana。Prometheus讓您可以從硬體和軟體收集時間序列資料,而Grafana讓您可以直觀顯示Prometheus收集的資料。
另一個流行的組合工具是Elasticsearch、Logstash和Kibana,通常名為ELK堆疊或 Elastic Stack,它們都可以通過Elastic(https://www.elastic.co/)獲得。雖然Elastic本身是一家營利性公司,但這些元件是免費開源的。
實施上述任何工具,無論是單獨實施還是組合實施,都必然會帶來一定的複雜性,尤其是當Kubernetes環境擴大到含有諸多叢集時——可能在不同的雲環境中執行不同的K8s發行版。
由於應用程式匯入問題、手動配置要求和配置漂移,大規模管理Prometheus配置可能成為一項挑戰。雖然Prometheus和Grafana可以很好地協同用於單個叢集,但在多叢集環境下,可能需要將Thanos新增到工具集中,以便聚合資料,並提供長期儲存和全域性檢視。不過可能會在資料保留和高可用性方面面臨限制,因此一些人更青睞ELK堆疊。
由於這種複雜性,許多組織更喜歡監控即服務,使用Datadog、Cloudwatch和New Relic之類的商業解決方案。
原文標題:Best Practices, Tools, and Approaches for Kubernetes Monitoring,作者:Kyle Hunter
連結:https://dzone.com/articles/best-practices-tools-and-approaches-for-kubernetes
- 解鎖暗資料潛在業務價值的關鍵方法
- 多因素身份驗證(MFA)面臨的安全挑戰與應對
- 分享16個我總結的思維模型,程式設計師必讀,受用終身
- 戳穿基於硬體的安全的四大流言
- 從思科資料洩露看體系化勒索防護能力構建
- Android 自定義View - 柱狀波形圖 wave view
- 專家視點:5G可能會永遠改變區塊鏈和元宇宙行業
- 技術管理如何應對混合工作模式轉變
- Kubernetes API Server handler 註冊過程分析
- Redo 日誌如何在關鍵時刻拯救資料庫?
- Electron 被曝遠端程式碼執行漏洞,Discord、Notion、Teams 受影響
- 一篇學會如何使用Vite重構Vue3專案
- 慢SQL,壓垮團隊的最後一根稻草!
- 圖解 React 的 Diff 演算法:核心就兩個字 — 複用
- 元宇宙就是一個平行於現實生活的“虛擬宇宙”
- 全網公開IP屬地,你的位置“露餡”了
- TCP四次揮手中如果服務端沒收到第四次揮手請求,服務端會一直等待嗎?
- 你離完全理解 SQL 只差這十步
- 關於多執行緒同步的一切:亂序執行和記憶體屏障
- ArcGIS製圖技巧:製圖入門與點、線、面狀符號製作