このドキュメントでは、カスタム サービスと、GKE や Cloud Run などの一部のリソース用のサービスを作成する方法について説明します。
Cloud Monitoring では、サービスを SLO とアラート ポリシーに関連付けることができます。Monitoring サービスを作成する可能性のあるリソースもサービスという場合もありますが(GKE サービス、Cloud Run サービスなど)、意味は異なります。
Monitoring は、GKE ベースと Cloud Run ベースのサービスをモニタリング候補として認識できます。サービスを作成するには、Monitoring サービスとして使用する候補を指定します。Monitoring により、必要なインフラストラクチャが作成されます。
任意のカスタム サービスを定義することもできます。
サービスを特定または作成する
候補のサービスを特定する場合、またはカスタム サービスを作成する場合は、[サービスを定義] ペインに移動します。
-
Google Cloud コンソールの [SLO] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] の結果を選択します。
[サービスの概要] ページで、次のいずれかを行います。
[add サービスを定義] をクリックします。
[現在のステータス] ペインで、[サービスを定義] リンクをクリックします。
[サービスを定義] ペインで、次の操作を行うことができます。
- 候補となるサービスのリストからサービスを作成します。
- カスタム サービスを定義します。
以降のセクションでは、これらのオプションについて説明します。
サービスを作成する
Cloud Monitoring は、次のタイプのサービスを識別できます。
- Cloud Service Mesh サービス
- Istio on GKE サービス
- App Engine サービス
- GKE Namespace
- GKE サービス
- GKE ワークロード
- Cloud Run サービス
こうした潜在的なサービスが多数存在する可能性があるため、Monitoring ではそれらが SLO を持つサービスとして扱われることは想定していません。Monitoring がサービスとして扱う可能性のあるサービスを指定するには、Google Cloud コンソールまたは API を使用します。
Google Cloud コンソールでサービスを作成する
Google Cloud コンソールを使用してサービスを作成するには、次の操作を行います。
[サービスの概要] ページで、[サービスを定義] をクリックします。
[サービスの候補] を選択します。
リストに多数の候補が表示されている場合があります。次のようにリストをフィルタリングできます。
filter_list [表をフィルタリング] をクリックします。フィルタ オプションのリストが表示されます。
フィルタリストのいずれかのオプションを選択します。選択したオプションがフィルタバーに表示されます。
フィルタバーのオプションの隣をクリックして入力を開始します。一致する値がリストに掲載されます。リストから値を選択します。
潜在的なサービスのリストから候補となるサービスをクリックします。
エントリをクリックすると、以下のフィールドが自動的に入力されます。
表示名は、リスト内のエントリの名前に設定されます。この値は変更可能です。
新しいサービスの構成用の JSON コードブロックが候補から生成されます。この値は変更しないでください。
[送信] をクリックします。サービスが作成されると、[成功] 通知が表示されます。
API でカスタム サービスを作成する
Cloud Monitoring API の一部である SLO 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" } }
サービスをプログラムで管理する方法の詳細については、次のドキュメントをご覧ください。
カスタム サービスを作成する
ニーズに合ったサービスがない場合は、カスタム サービスを作成します。カスタム サービスを使用すると、ご使用の環境に有用な方法で SLO をグループ化することも、既存のマイクロサービスに対応しないビジネス指標に SLO を作成することもできます。
Google Cloud コンソールを使用してカスタム サービスを作成する
Google Cloud コンソールでカスタム サービスを定義する手順は次のとおりです。
[サービスの概要] ページで [サービスを定義] をクリックすると、[サービスを定義] ペインが表示されます。
[カスタム サービス] を選択します。
カスタム サービスの表示名を入力します。
[送信] をクリックします。サービスが作成されると、[成功] 通知が表示されます。
API を使用してカスタム サービスを作成する
SLO API を使用してカスタム サービスを定義するには、次のような Custom
構成オブジェクトを services.create
メソッドに送信します。
{ "displayName": "hello-world-service", "custom": {} }
プログラムでサービスを管理する方法については、API の操作をご覧ください。
次のステップ
新しいサービスを特定または作成したら、次の操作を行います。
- 新しいサービスの SLO を作成します。このサービスを利用するには、新しいサービスに少なくとも 1 つの SLO を定義する必要があります。詳細については、SLO の作成をご覧ください。
- 新しいサービスのダッシュボードに移動します。新しいサービスの場合、ダッシュボードは空になりますが、ダッシュボードから SLO を定義できます。詳細については、マイクロサービス ダッシュボードの使用をご覧ください。