Cloud Monitoring 總覽

本文將概略介紹 Cloud Monitoring 提供的服務。這些服務可協助您瞭解應用程式和其他 Google Cloud 服務的行為、健康狀態和效能。Cloud Monitoring 會自動收集及儲存大多數 Google Cloud 服務的效能資訊。 您可以使用 Google Cloud Managed Service for Prometheus 收集 Prometheus 指標。在 Compute Engine 虛擬機器 (VM) 上安裝作業套件代理程式後,即可從應用程式和第三方應用程式收集指標和記錄檔。

Cloud Monitoring 提供的快訊、測試和視覺化服務,可協助您解答下列重要問題:

  • 我的服務負載為何?
  • 我的網站是否正常回應?
  • 我的服務是否運作良好?
  • 我的 App Hub 應用程式健康狀態如何?

Cloud Monitoring 為大多數服務提供 Google Cloud 控制台和 API 支援。部分服務也支援 Google Cloud CLI 或 Terraform。Cloud Monitoring API 參考頁面 (例如 alertPolicies.list 頁面) 可讓您直接從參考頁面實驗 API 呼叫。

Cloud Monitoring 服務

Cloud Monitoring 提供各種服務,可協助您瞭解應用程式和所用其他 Google Cloud 服務的健康狀態和效能。

事件和通知

如要在成效指標值達到既定條件時收到通知,請制定快訊政策。警報政策包含通知接收者清單,其中列出使用者或群組。 Monitoring 支援常見的通知管道,包括電子郵件、Cloud Mobile App,以及 PagerDuty 或 Slack 等服務。舉例來說,您可以建立快訊政策,在 VM 的 CPU 使用率超過 80% 時收到通知。

每則通知都會提供故障的相關資訊,以及事件的連結。事件是一種永久記錄,會儲存可用於排解失敗問題的資訊。通常,記錄會列出事件狀態、記錄連結、記錄指標資料圖表、標籤和持續時間。

這項快訊服務已整合至多項 Google Cloud 服務。如果存在這些整合項目,您可能會看到列出建議快訊的面板,或圖表上的按鈕,可讓您建立快訊政策。在這兩種情況下,系統都會預先設定警告政策,您只需要指定要通知的人員或群組清單。

您可以使用 Google Cloud 控制台、Cloud Monitoring API、Google Cloud CLI 或 Terraform,建立及管理快訊政策。

主動監控和驗證

如要測試服務、應用程式、網頁和 API 的可用性、一致性和效能,請建立綜合監控器。舉例來說,您可以透過運作時間檢查,探查 HTTP、HTTPS 和 TCP 端點的回應情形,並在端點無法回應時收到通知。您也可以建立失效連結檢查工具,用來檢索網頁,並在偵測到失效連結時通知您。

您可以使用 Google Cloud 控制台、Cloud Monitoring API、Google Cloud CLI 或 Terraform,建立及管理合成監控器。

資料視覺化

當您使用 App Hub 建立 Google Cloud 資源例項或註冊應用程式時,資訊主頁服務會自動建立Google Cloud代管資訊主頁。這些資訊主頁會顯示精選資訊,協助您瞭解資源和應用程式的健康狀態。舉例來說,如果是 App Hub 應用程式,系統會為該應用程式,以及其中的每項服務和工作負載建立資訊主頁。這些資訊主頁會顯示應用程式的記錄或指標資料,以及未解決的快訊數量等資訊。

Google Cloud 建立的資訊主頁可能提供足夠資訊,協助您完成調查。不過,這些工具可能無法提供您需要的確切資料,以利您查看趨勢、找出離群值,或查看資料的其他詳細資訊。如要完成這些工作,您可以使用資訊主頁圖表服務:

  • 如要控管要查看的資料和資料的顯示格式,請建立自訂資訊主頁。舉例來說,您可以匯入 Grafana 資訊主頁,或從範本安裝資訊主頁

    自訂資訊主頁可顯示下列內容。

    • 顯示指標資料的圖表和表格
    • 記錄資料和錯誤群組
    • 快訊政策的圖表
    • 快訊資訊
    • 文字
    • 事件,例如重新啟動或當機,會影響系統運作。

    您可以使用 Google Cloud 控制台API 建立及管理資訊主頁。

  • 圖表服務 Metrics Explorer 可讓您快速以視覺化方式呈現及探索時間序列資料。您可以在圖表設定中比較目前與先前的資料、顯示離群值和百分位數,以及顯示多項指標。您也可以將圖表儲存至自訂資訊主頁。

資料收集和儲存

Cloud Monitoring 會收集及儲存下列類型的指標資料:

  • 記錄指標:記錄寫入 Cloud Logging 的記錄檔相關數值資訊。Google 定義的記錄指標包括服務偵測到的錯誤計數,以及 Google Cloud 專案收到的記錄項目總數。您也可以定義記錄指標。

查詢語言

建立快訊政策或圖表時,您必須提供查詢,說明要監控或繪製成圖表的資料:

  • Google Cloud 控制台:您可以從選單中選取項目來建構查詢,也可以自行撰寫查詢。查詢編輯器適用於 Prometheus 查詢語言 (PromQL) Monitoring 查詢語言 (MQL)。查詢編輯器會提供語法檢查和建議。您也可以編寫 Monitoring 篩選器運算式。

  • Cloud Monitoring API:這項 API 支援 Prometheus Query Language (PromQL)、MQL 查詢和 Monitoring 篩選器運算式。

監控大型系統

本節說明如何以集合形式管理資源,以及如何監控儲存在多個 Google Cloud 專案中的指標。

以集合形式管理資源

如要以集合形式管理資源,而非個別管理,請建立資源群組資源群組是符合您所提供條件的動態資源集合。當您新增及移除資源 (例如將 Compute Engine VM 執行個體新增至Google Cloud 專案) 時,群組成員資格會自動變更。以下是資源群組的範例:

  • 名稱開頭為字串 prod- 的 Compute Engine 執行個體。
  • 含有 test-cluster 標記的資源。
  • 位於 A 區域或 B 區域的 Amazon EC2 執行個體。

定義資源群組後,您可以監控群組,就像監控單一資源一樣。舉例來說,您可以設定運作時間檢查,監控資源群組。如果是圖表和快訊政策,您也可以依群組名稱篩選。

詳情請參閱「設定資源群組」。

監控多項 Google Cloud 專案的指標

如要透過單一介面查看及監控多個Google Cloud 專案和 AWS 帳戶的時間序列資料,請設定多專案指標範圍

根據預設, Google Cloud 控制台中的 Cloud Monitoring 頁面只會提供對範圍界定專案中儲存的時間序列的存取權。範圍界定專案是指您使用Google Cloud 控制台專案選擇工具選取的專案。設定專案範圍會儲存您設定的快訊綜合監控資訊主頁監控群組

限定範圍專案也會代管指標範圍。指標範圍會定義指標可供範圍專案查看的專案和帳戶。您可以設定指標範圍,納入其他 Google Cloud 專案和 AWS 帳戶的時間序列資料。如要瞭解如何修改指標範圍,請參閱「為多個專案設定指標範圍」。

Cloud Monitoring 資料模型

本節將介紹 Cloud Monitoring 資料模型:

  • 「指標類型」是指計量項目,指標類型範例包括虛擬機器的 CPU 使用率,以及磁碟使用百分比。

  • 「時間序列」是一種資料結構,含有加上時間戳記的指標評估結果,以及這些評估結果的來源和意義相關資訊。

以下是時間序列的內容詳細資料:

  • points 陣列包含加上時間戳記的評估結果。

    以下是含有兩個值的 points 陣列範例:

      "points": [
        {
          "interval": {
            "startTime": "2020-07-27T20:20:21.597143Z",
            "endTime": "2020-07-27T20:20:21.597143Z"
          },
          "value": {
            "doubleValue": 0.473005
          }
        },
        {
          "interval": {
            "startTime": "2020-07-27T20:19:21.597239Z",
            "endTime": "2020-07-27T20:19:21.597239Z"
          },
          "value": {
            "doubleValue": 0.473025
          }
        },
      ],
    

    如要瞭解值的意義,請參閱時間序列中包含的其他資料,以及這些資料的定義。

  • resource 欄位說明要監控的硬體或軟體元件。在 Cloud Monitoring 中,硬體或軟體元件稱為「受監控資源」。受監控的資源範例包括 Compute Engine 執行個體和 App Engine 應用程式。如需受監控資源清單,請參閱受控資源清單

    以下是 resource 欄位的範例:

      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "2708613220420473591",
          "zone": "us-east1-b",
          "project_id": "sampleproject"
        }
      }
    
    • type」欄位會將受監控的資源列為 gce_instance,表示這些測量結果是在 Compute Engine VM 執行個體上取得。

    • labels 欄位包含鍵/值組合,提供受監控資源的額外資訊。如果是 gce_instance 類型,標籤會識別受監控的 VM 執行個體。

  • metric 欄位會說明要評估的內容。

    以下是 metric 欄位的範例:

      "metric": {
        "labels": {
          "instance_name": "test"
        },
        "type": "compute.googleapis.com/instance/cpu/utilization"
      },
    
    • 如果是 Google Cloud 服務,type 欄位會指定服務和監控內容。在本例中,Compute Engine 服務會測量 CPU 使用率。如果 type 欄位開頭為 customexternal,則該指標為自訂指標或第三方定義的指標。
  • metricKind」欄位說明時間序列中相鄰測量值之間的關係:

    • GAUGE 指標會儲存特定時間點的測量值,例如每小時的溫度記錄。

    • CUMULATIVE 指標會儲存特定時間點所測量的累積值,例如車輛的里程表。

    • DELTA 指標會儲存指定期間內所測量項目的值變化,例如顯示股票盈虧的股票摘要。

  • valueType 欄位會說明測量資料的資料類型:INT64DOUBLEBOOLSTRINGDISTRIBUTION

Cloud Monitoring 會為資源和指標標籤值的每個組合寫入一個時間序列。您可以使用這些標籤來分組及篩選時間序列。舉例來說,如果 Google Cloud 專案包含多個 Compute Engine VM 執行個體,每個 VM 執行個體的 CPU 使用率都是獨立的時間序列。以下提供幾種顯示這類資料的方式:

  • 您可以顯示每個 VM 執行個體的 CPU 使用率。
  • 您可以篩選 instance_id 標籤的單一值,顯示特定 VM 執行個體的 CPU 使用率。
  • 您可以依據 machine_type 標籤將 VM 執行個體分組,然後顯示平均 CPU 使用率。下圖為採用這項設定的圖表:

    以機器類型分組的平均 CPU 使用率。

定價

一般來說,Cloud Monitoring 系統指標是免費的,但外部系統、代理程式或應用程式的指標則否。系統會根據擷取的位元組數或樣本數,對可計費指標收費。

如要進一步瞭解 Cloud Monitoring 定價,請參閱下列文件:

後續步驟

  • 如要瞭解如何設定 Google Cloud 專案,以便查看多個 Google Cloud 專案和 AWS 帳戶的指標,請參閱「指標範圍總覽」。