本文件是系列解決方案的一部分。這個系列有兩個部分,說明如何延伸 Cloud Logging 和 Cloud Monitoring 的功能,以納入內部部署基礎架構和應用程式。
- 使用 BindPlane 記錄地端部署資源: 瞭解 Cloud Logging 如何支援地端部署資源記錄。
- 使用 BindPlane 監控地端部署資源 (本文):瞭解 Cloud Monitoring 如何支援監控地端部署資源。
建議您採用 Logging 和 Monitoring 來記錄和監控內部部署資源,原因如下:
- 將基礎架構移至Google Cloud 時,您會需要一個臨時替代方案,而且在停用內部部署資源之前,您應該需要進行全程監控。
- 您可能有混用多種雲端及內部部署資源的多樣化運算環境。
無論是哪一種情況,您都可以透過 Logging 和 Monitoring API,以及 BindPlane 進一步查看內部部署資源。本文件適用於對 Google Cloud 資源、內部部署架構資源和應用程式的監控策略有興趣的開發運作人員、管理員和主管。
使用 Monitoring 擷取指標
您可以透過下列兩種方式將指標導入 Monitoring:
- 使用 observIQ 的 BindPlane 從您的內部部署或其他雲端來源擷取指標。
- 使用 OpenCensus 寫入 Cloud Monitoring API。
使用 BindPlane 擷取指標
下方的的架構圖顯示 BindPlane 如何收集指標並將這些指標擷取到 Monitoring。
observIQ 提供多種版本的 BindPlane,包括 Google 專用版、自架主機版、軟體即服務 (SaaS) 版和 Enterprise 版。如要進一步瞭解這些版本,請參閱 BindPlane 解決方案頁面。
優點:
- 只需要進行設定,而不用檢測應用程式,能幫您縮短可以導入時間。
- 包含在使用 Monitoring 的費用中。
- Monitoring 產品及支援功能適用的設定。
- 可延伸至非預設設定提供的指標。
缺點:
- 需要使用 observIQ BindPlane 代理程式將指標轉發到 Monitoring,但這會增加整個系統的複雜性。
建議採用這個選項,因為這個解決方案可透過設定部署完成,您不必自行開發,因此您只需要投入最少的工作量。
使用 OpenCensus 寫入 Monitoring API
下方的架構圖顯示 OpenCensus 如何收集指標並將這些指標擷取到 Monitoring。
直接使用 Monitoring API 意味著您需要在應用程式中加入檢測程式碼,才能將指標直接傳送到 API。您可以直接使用 Monitoring API 寫入指標,或透過 OpenCensus 適用的 Monitoring 匯出工具來檢測應用程式。OpenCensus 是一種開放原始碼的專案,用來定義追蹤記錄和指標的標準資料結構。使用 OpenCensus 的優點是它支援包括 Monitoring 等多種後端,而且還能導入使用 Monitoring API 時的所有低層級技術詳細資料。
優點:
- 操作上十分彈性,因為使用 OpenCensus 匯出工具能輕鬆導入必要的檢測作業
缺點:
- 基礎架構指標需要個別的解決方案,因此必須編寫自訂代理程式
- 需要進行應用程式檢測,這可能會導致實作成本增加。
- 需要開放原始碼程式庫。
這個方式需要投入最多人力,而且導入的部分不包含基礎架構指標,因此不建議採用。
使用 BindPlane
本文說明如何使用 observIQ 的 BindPlane,將指標擷取至 Monitoring。BindPlane 服務的運作原理是先定義一系列來源並且擷取這些指標,然後再將指標傳送到目的地 Monitoring。BindPlane 支援在特定版本的 Windows、Linux 和 Kubernetes 上執行的代理程式。
來源、代理程式、目的地和處理器
BindPlane 具備下列功能:
- 來源:可產生指標的項目,例如 Google Kubernetes Engine (GKE)、適用於 Kubernetes 的 Amazon Elastic Container Service (Amazon EKS) 或 Microsoft Azure Container Service。
- 代理程式:從遠端監控環境並將指標資料轉送至 BindPlane 的輕量處理程序。
- 目的地:接收 BindPlane 轉送指標的服務。在本例中,目的地是 BindPlane 中的處理程序,而這個處理程序會使用 Monitoring API 將指標寫入 Monitoring。
- 處理器:可轉換資料的設定,轉換後的資料會傳送至目的地。包括新增屬性、篩選及將記錄轉換為指標。
如要進一步瞭解來源、代理程式、目的地和處理器,請參閱 BindPlane 快速入門指南。
用途範例
舉例來說,ExampleOrganization 具有已部署至 Google Cloud、Microsoft Azure 的資源,以及使用 vSphere 部署的內部部署資源。在Google Cloud中,已部署一個 GKE 叢集和一個示範應用程式,用來執行公司網站。而在 Microsoft Azure 環境中,Azure Kubernetes Service (AKS) 正執行一組微服務,為外部開發人員提供 REST API 端點。另外在 vSphere 環境中,MySQL、Oracle 和 Microsoft SQL Server 則支援多種企業應用程式。
由於各環境中都有資源,ExampleOrganization 希望不管元件部署在哪裡,都能監控每項元件。使用 BindPlane 將來自各個環境的指標傳送到 Logging 和 Monitoring,讓所有指標都集中在同一個位置,以便進行監控並於需要時發送快訊。
將指標從 BindPlane 傳送到 Monitoring
BindPlane 設定完畢並開始傳送指標後,這些指標就會傳送至您的 Monitoring 工作區。接著,您可以使用 Monitoring 查看、設定和發送快訊,並利用時間序列建構資訊主頁,就像您在 Monitoring 中使用任何指標或時間序列一樣。詳情請參閱指標、時間序列和資源一文。
在 Monitoring 中使用指標
在前面的範例中,BindPlane 設定為從Google Cloud、Microsoft Azure 和內部部署來源傳送指標。Monitoring 中會顯示下列三項指標:
- GKE 叢集指標
- AKS 叢集指標
- vSphere 內部部署資料庫指標
GKE 叢集指標
如果您已設定 GKE 叢集,GKE 叢集指標會顯示在 Kubernetes 叢集頁面或 Kubernetes 工作負載頁面。您可以在 Monitoring 中查看 Kubernetes 元件的多個檢視畫面。每個 Pod 都有可用的指標、記錄和設定。
詳情請參閱「查看可觀測性指標」。
AKS 叢集指標
在同一個 Monitoring 環境中,系統會收集 AKS 的指標。指標會顯示在 Monitoring 內,且可用於 Monitoring 中的任何用途,包括資訊主頁、快訊和 Metrics Explorer。
「指標探索器」頁面可供您搜尋和篩選指標,以及利用指標建構圖表。請注意,從 BindPlane 傳送的指標在名稱中會有 workload.googleapis.com/THIRD_PARTY_APP_NAME
這個前置詞。
Metrics Explorer 可以產生指標圖表。如要進一步瞭解圖表,請參閱「使用 Metrics Explorer 建立圖表」一文。
就像 Monitoring 中的所有指標,您也可以利用這些指標來構建資訊主頁,並顯示多個圖表。這個資訊主頁可以呈現由 AKS 產生、BindPlane 收集,然後儲存在 Monitoring 中的指標。如要進一步瞭解資訊主頁,請參閱「查看及自訂 Google Cloud 資訊主頁」。
vSphere 內部部署叢集指標
本範例的最後一部分包含來自 vSphere 的資料庫指標。來自 vSphere 的指標會顯示在 Monitoring 內,且使用方式和 Monitoring 中任何其他指標一樣。您可以在「Metrics Explorer」頁面的指標清單中,看到來自 vSphere 的 Oracle 指標。
就像 Monitoring 中的所有指標,這些指標可用來建立快訊。這個快訊呈現的指標是由在 vSphere 中執行的 Oracle 產生、BindPlane 收集,然後儲存在 Monitoring 中。如要進一步瞭解快訊,請參閱快訊總覽。
結論
Monitoring 支援資訊主頁、快訊和事件回應功能,能讓您進一步瞭解自己平台的運作情況。Monitoring 和 BindPlane 搭配使用則可讓您深入檢視內部部署資源。
後續步驟
- Cloud Logging 和 Cloud Monitoring
- BindPlane 快速入門指南
- 如需更多參考架構、圖表和最佳做法,請瀏覽 Cloud 架構中心。