In diesem Dokument wird beschrieben, wie Sie benutzerdefinierte Dienste und Dienste für einige Ressourcen wie GKE und Cloud Run erstellen.
In Cloud Monitoring ist ein Dienst ein Konstrukt, das Sie mit SLOs und Benachrichtigungsrichtlinien verknüpfen können. Einige Ressourcen, für die Sie Monitoring-Dienste erstellen können, werden auch als Dienste bezeichnet, allerdings mit anderer Bedeutung wie GKE-Dienste oder Cloud Run-Dienste.
Monitoring kann GKE- und Cloud Run-basierte Dienste als Kandidaten für das Monitoring erkennen. Geben Sie zum Erstellen von Diensten für diese an, welche Kandidaten als Monitoring-Dienste behandelt werden sollen. Monitoring erstellt die erforderliche Infrastruktur für Sie.
Sie können auch beliebige benutzerdefinierte Dienste definieren.
Dienst identifizieren oder erstellen
Im Abschnitt Dienst definieren können Sie mögliche Dienste identifizieren oder benutzerdefinierte Dienste erstellen:
-
Öffnen Sie in der Google Cloud Console die Seite SLOs:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
Führen Sie auf der Seite Übersicht über Dienste einen der folgenden Schritte aus:
Klicken Sie auf add Dienst definieren.
Klicken Sie im Bereich Aktueller Status auf den Link Dienst definieren:
Im Bereich Dienst definieren können Sie Folgendes tun:
- Dienste aus einer Liste von Kandidatendiensten erstellen.
- Definieren Sie benutzerdefinierte Dienste.
In den folgenden Abschnitten werden diese Optionen beschrieben.
Dienste erstellen
Cloud Monitoring kann potenzielle Dienste der folgenden Typen identifizieren:
- Cloud Service Mesh-Dienste
- Istio in Google Kubernetes Engine-Diensten
- App Engine-Dienste
- GKE-Namespaces
- GKE-Dienste
- GKE-Arbeitslasten
- Cloud Run-Dienst
Da es möglicherweise viele dieser potenziellen Dienste gibt, geht Monitoring nicht davon aus, dass alle als Dienste mit SLOs behandelt werden sollen. Verwenden Sie die Google Cloud Console oder die API, um anzugeben, welche potenziellen Dienste Monitoring als Dienste behandeln soll.
Dienste über die Google Cloud Console erstellen
So erstellen Sie einen Dienst mit der Google Cloud Console:
Klicken Sie auf der Seite Übersicht über Dienste auf Dienst definieren.
Wählen Sie Dienstkandidaten aus.
Möglicherweise enthält die Liste eine große Anzahl von Kandidatendiensten. So können Sie die Liste filtern:
Klicken Sie auf filter_list Tabelle filtern. Es wird eine Liste mit Filteroptionen angezeigt:
Wählen Sie eine Option in der Filterliste aus. Die ausgewählte Option wird in der Filterleiste angezeigt.
Klicken Sie neben die Option in der Filterleiste und beginnen Sie mit der Eingabe. Übereinstimmende Werte werden in einer Liste bereitgestellt. Wählen Sie einen Wert aus der Liste aus.
Klicken Sie in der Liste der möglichen Dienste auf einen Kandidatendienst.
Wenn Sie auf einen Eintrag klicken, werden die folgenden Felder für Sie ausgefüllt:
Der Anzeigename ist auf den Namen des Eintrags in der Liste festgelegt. Sie können diesen Wert ändern.
Ein Block mit JSON-Code für die Konfiguration des neuen Dienstes wird aus dem Kandidaten generiert. Lassen Sie diesen Wert unverändert.
Klicken Sie auf Senden. Wenn Ihr Dienst erstellt ist, wird der Hinweis Abgeschlossen angezeigt.
Erstellen Sie mit der API einen benutzerdefinierten Dienst
Sie können Dienste auch mit der SLO API erstellen, die Teil der Cloud Monitoring API ist.
Wenn Sie einen Dienst programmatisch erstellen möchten, übergeben Sie ein Konfigurationsobjekt wie eines der folgenden an die Methode services.create
:
GKE-Namespace
Verwenden Sie die Struktur GkeNamespace
. Beispiel:
{ "displayName": "test-kube-namespace", "gkeNamespace": { "location": "us-central1-c", "clusterName": "cluster-1", "namespaceName": "test-kube-namespace" } }
GKE-Dienst
Verwenden Sie die Struktur GkeService
. Beispiel:
{ "displayName": "test-kube-service", "gkeService": { "location": "us-central1-c", "clusterName": "cluster-1", "namespaceName": "kube-system", "serviceName": "test-kube-service" } }
GKE-Arbeitslast
Verwenden Sie die Struktur GkeWorkload
. Beispiel:
{ "displayName": "frontend-a", "gkeWorkload": { "location": "us-central1-b", "clusterName": "cluster-2", "namespaceName": "default", "topLevelControllerType": "Deployment", "topLevelControllerName": "frontend-a" } }
Cloud Run
Verwenden Sie die Struktur CloudRun
. Beispiel:
{ "displayName": "test-cloudrun-service", "cloudRun": { "serviceName": "test-cloudrun-service", "location": "us-central1" } }
Cloud Service Mesh
Verwenden Sie die Struktur MeshIstio
. Beispiel:
{ "displayName": "test-mesh-istio-service", "meshIstio": { "meshUid": "mesh-identifier" "serviceName": "test-mesh-istio-service", "serviceNamespace": "default" } }
Istio on GKE
Verwenden Sie die Struktur clusterIstio
. Beispiel:
{ "displayName": "test-cluster-istio-service", "clusterIstio": { "serviceName": "test-cloud-service", "clusterName": "cluster-2", "serviceNamespace": "default", "location": "us-central1" } }
App Engine
Verwenden Sie die Struktur AppEngine
. Beispiel:
{ "displayName": "test-mesh-istio-service", "appEngine": { ""moduleId": "id-of-the-service" } }
Weitere Informationen zum programmatischen Verwalten von Diensten finden Sie in den folgenden Dokumenten:
Benutzerdefinierten Dienst erstellen
Wenn kein anderer Diensttyp Ihren Anforderungen entspricht, erstellen Sie einen benutzerdefinierten Dienst. Mit einem benutzerdefinierten Dienst können Sie SLOs beliebig in einer Umgebung gruppieren, die für Ihre Umgebung sinnvoll ist, oder SLOs für Geschäftsmesswerte erstellen, die keinem vorhandenen Mikrodienst entsprechen.
Google Cloud Console verwenden, um einen benutzerdefinierten Dienst zu erstellen
So definieren Sie einen benutzerdefinierten Dienst mithilfe der Google Cloud Console:
Klicken Sie auf der Seite Übersicht über Dienste auf Dienst definieren, um den Bereich Dienst definieren aufzurufen.
Wählen Sie Benutzerdefinierter Dienst aus.
Geben Sie einen Anzeigenamen für den benutzerdefinierten Dienst ein.
Klicken Sie auf Senden. Wenn Ihr Dienst erstellt ist, wird der Hinweis Abgeschlossen angezeigt.
Erstellen Sie mit der API einen benutzerdefinierten Dienst
Wenn Sie einen benutzerdefinierten Dienst mithilfe der SLO API definieren möchten, übergeben Sie ein Custom
Konfigurationsobjekt wie das folgende an die Methode services.create
:
{ "displayName": "hello-world-service", "custom": {} }
Weitere Informationen zum programmatischen Verwalten von Diensten finden Sie unter Mit der API arbeiten.
Nächste Schritte
Nachdem Sie einen neuen Dienst identifiziert oder erstellt haben, können Sie Folgendes tun:
- Erstellen Sie ein SLO für den neuen Dienst. Sie müssen mindestens ein SLO definieren, damit der neue Dienst genutzt werden kann. Weitere Informationen finden Sie unter SLO erstellen.
- Rufen Sie das Dashboard für den neuen Dienst auf. Bei einem neuen Dienst ist das Dashboard leer. Sie können darin aber SLOs definieren. Weitere Informationen finden Sie unter Mikrodienst-Dashboards verwenden.