本文說明如何建立自訂服務,以及適用於 GKE 和 Cloud Run 等部分資源的服務。
在 Cloud Monitoring 中,服務是可與服務等級目標和快訊政策建立關聯的建構元件。您可能會為多項資源建立 Monitoring 服務,這些資源也稱為「服務」,但意義不同,例如 GKE 服務或 Cloud Run 服務。
Monitoring 可將以 GKE 和 Cloud Run 為基礎的服務視為監控候選項目。如要為這些候選項目建立服務,請指出要將哪些候選項目視為監控服務,Monitoring 會為您建立必要的基礎架構。
您也可以定義任意自訂服務。
找出或建立服務
如要找出候選服務或建立自訂服務,請前往「定義服務」窗格:
-
前往 Google Cloud 控制台的
「SLOs」(服務等級目標) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
在「服務總覽」頁面中,執行下列其中一項操作:
按一下「定義服務」add。
在「目前狀態」窗格中,按一下「定義服務」連結:
您可以在「定義服務」窗格中執行下列操作:
- 從備選服務清單建立服務。
- 定義自訂服務。
以下各節將說明這些選項。
建立服務
Cloud Monitoring 可識別下列類型的潛在服務:
- Cloud Service Mesh 服務
- Google Kubernetes Engine 服務上的 Istio
- App Engine 服務
- GKE 命名空間
- GKE 服務
- GKE 工作負載
- Cloud Run 服務
由於這類潛在服務可能有很多,因此 Monitoring 不會假設您希望將所有服務都視為具有服務等級目標的服務。如要指出 Monitoring 應將哪些潛在服務視為服務,請使用Google Cloud 主控台或 API。
使用 Google Cloud 控制台建立服務
如要使用 Google Cloud 控制台建立服務,請按照下列步驟操作:
在「服務總覽」頁面中,按一下「定義服務」。
選取「服務候選人」。
清單中可能會有大量候選服務。您可以按照下列方式篩選清單:
按一下 filter_list「篩選資料表」。系統會顯示篩選選項清單。
從篩選器清單中選取其中一個選項。所選選項會顯示在篩選列中。
按一下篩選列中的選項旁邊,然後開始輸入。系統會列出相符的值。從清單中選取值。
從潛在服務清單中點選候選服務。
點選項目後,系統會自動填寫下列欄位:
顯示名稱會設為清單中的項目名稱。不過,您隨時可以變更這個值。
系統會從候選項目產生新的服務設定 JSON 程式碼區塊。請勿變更這個值。
按一下「提交」。服務建立完成後,系統會顯示「成功」通知。
使用 API 建立服務
您也可以使用 SLO API 建立服務,這是 Cloud Monitoring API 的一部分。
如要透過程式輔助方式建立服務,請將下列其中一個設定物件發布至 services.create
方法:
GKE 命名空間
使用 GkeNamespace
結構,例如:
{ "displayName": "test-kube-namespace", "gkeNamespace": { "location": "us-central1-c", "clusterName": "cluster-1", "namespaceName": "test-kube-namespace" } }
GKE 服務
使用 GkeService
結構,例如:
{ "displayName": "test-kube-service", "gkeService": { "location": "us-central1-c", "clusterName": "cluster-1", "namespaceName": "kube-system", "serviceName": "test-kube-service" } }
GKE 工作負載
使用 GkeWorkload
結構,例如:
{ "displayName": "frontend-a", "gkeWorkload": { "location": "us-central1-b", "clusterName": "cluster-2", "namespaceName": "default", "topLevelControllerType": "Deployment", "topLevelControllerName": "frontend-a" } }
Cloud Run
使用 CloudRun
結構,例如:
{ "displayName": "test-cloudrun-service", "cloudRun": { "serviceName": "test-cloudrun-service", "location": "us-central1" } }
Cloud Service Mesh
使用 MeshIstio
結構,例如:
{ "displayName": "test-mesh-istio-service", "meshIstio": { "meshUid": "mesh-identifier" "serviceName": "test-mesh-istio-service", "serviceNamespace": "default" } }
Istio on GKE
使用 clusterIstio
結構,例如:
{ "displayName": "test-cluster-istio-service", "clusterIstio": { "serviceName": "test-cloud-service", "clusterName": "cluster-2", "serviceNamespace": "default", "location": "us-central1" } }
App Engine
使用 AppEngine
結構,例如:
{ "displayName": "test-mesh-istio-service", "appEngine": { ""moduleId": "id-of-the-service" } }
如要進一步瞭解如何以程式輔助方式管理服務,請參閱下列文件:
建立自訂服務
如果沒有其他服務類型符合需求,請建立自訂服務。您可以透過自訂服務,任意將服務等級目標分組,以符合環境需求,或根據與現有微服務不相應的業務指標建立服務等級目標。
使用 Google Cloud 控制台建立自訂服務
如要使用 Google Cloud 控制台定義自訂服務,請按照下列步驟操作:
在「服務總覽」頁面按一下「定義服務」,即可開啟「定義服務」窗格。
選取「自訂服務」。
輸入自訂服務的顯示名稱。
按一下「提交」。服務建立完成後,系統會顯示「成功」通知。
使用 API 建立自訂服務
如要使用 SLO API 定義自訂服務,請將下列 Custom
設定物件發布至 services.create
方法:
{ "displayName": "hello-world-service", "custom": {} }
如要進一步瞭解如何透過程式管理服務,請參閱「使用 API」。
後續步驟
識別或建立新服務後,您可以執行下列操作:
- 為新服務建立服務等級目標。您必須為新服務定義至少一個 SLO,服務才能正常運作。詳情請參閱「建立 SLO」。
- 前往新服務的資訊主頁。如果是新服務,資訊主頁會是空白的,但您可以從資訊主頁定義 SLO。詳情請參閱「使用微服務資訊主頁」。