在維護一個大規模且多團隊的監控系統時,作為工程師的我們將面臨諸多挑戰與痛點。本章節將帶領各位深入探討常見的場景和多維度的考量,並通過反思問題的核心,尋找更有效的解決方案。在隨後的章節中,我們將通過實踐來具體落實這些觀點。然而,我們必須永遠記住,沒有一種方法是最好或唯一的,只有最適合當前情境的方法。因此,我們應該著重於理解和掌握其中的精髓,從而靈活應用於實際工作中。
在多團隊環境中,確保每個團隊僅擁有必要的訪問權限至關重要。過於寬鬆的權限可能導致配置錯誤,而過於嚴格的權限則可能妨礙團隊的工作效率。此外,在一個健全的公司或團隊中,人員流動是相當正常的現象,但這對管理者來說也帶來了相當大的挑戰。頻繁的手動新增和移除權限,不僅增加了管理負擔,還可能使正常使用者的權限難以維護,從而埋下資安隱患。
Note:大多數的 RBAC 功能,目前只有 Grafana Enterprise 跟 Grafana Cloud 版本支援。
在大規模環境中,Grafana 需要整合來自多個資料源的數據,而這些資料源可能來自不同的團隊或應用,配置和管理非常複雜。
隨著不同團隊在 Grafana 上創建數百甚至數千個儀表板,很容易出現儀表板碎片化的情況。不同的團隊和個人使用不同的標準和格式,這導致了大量的重複工作和儀表板的不一致性。
Note: 圖為 Grafana 提供的 Jsonnet Library 語法,透過少數程式碼即可建立出 Dashboard 以及 Panel。
隨著團隊和數據量的增加,Grafana 的性能和可擴展性會面臨挑戰,尤其是在處理大量的數據查詢和儀表板渲染時。面對數以千計的內外部高度依賴的使用者來說,短暫的停機時間大多不被允許。
在一個多團隊的環境中,不同團隊的用戶對 Grafana 的使用需求和體驗期望可能不同。一些團隊可能需要高度定制化的 Dashboard,而其他團隊可能更關注即時的數據查詢性能。如何讓非技術人員以及進階使用者通在同個環境中共存,將會是考驗管理者智慧的課題之一。
上述問題與解決方案概述了大多數維運團隊在維護大規模 Grafana 系統時可能面臨的主要挑戰。這些挑戰的一半核心在於組織團隊的文化和初始 Grafana 建構的理念。儘管這些理念看似簡單,實際上並非難事,但許多人在經驗中往往因為初期的便宜行事,導致技術債累積,最終難以收拾。因此,我們必須在一開始就盡量意識到這些潛在問題,避免日後的窘境。