Mikrodienst definieren

In diesem Dokument wird beschrieben, wie Sie benutzerdefinierte Dienste und Dienste für GKE- und Cloud Run-basierte Ressourcen 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:

  1. Wählen Sie im Navigationsbereich der Google Cloud Console Monitoring und anschließend  SQLs aus:

    Zur Seite SLOs

  2. Führen Sie auf der Seite Übersicht über Dienste einen der folgenden Schritte aus:

    • Klicken Sie auf Dienst definieren.

    • Klicken Sie im Bereich Aktueller Status auf den Link Dienst definieren:

      Screenshot: Mit **Dienst definieren** benutzerdefinierte und nutzeridentifizierte Dienste erstellen

Im Bereich Dienst definieren können Sie Folgendes tun:

  • Erstellen Sie GKE- oder Cloud Run-basierte Dienste aus einer Liste von Kandidatendiensten.
  • Definieren Sie benutzerdefinierte Dienste.

In den folgenden Abschnitten werden diese Optionen beschrieben.

GKE- und Cloud Run-basierte Dienste erstellen

Cloud Monitoring kann potenzielle Dienste der folgenden Typen identifizieren:

  • 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.

Google Cloud Console zum Erstellen von GKE- und Cloud Run-Diensten verwenden

So identifizieren Sie einen GKE- oder Cloud Run-basierten Monitoringdienst mithilfe der Google Cloud Console:

  1. Klicken Sie auf der Seite Übersicht über Dienste auf Dienst definieren.

  2. Wählen Sie Dienstkandidaten aus.

    Screenshot: Potenzielle Dienste sind auf dem Tab **Dienstkandidaten** aufgeführt.

    Möglicherweise enthält die Liste eine große Anzahl von Kandidatendiensten. So können Sie die Liste filtern:

    1. Klicken Sie auf Tabelle filtern. Es wird eine Liste mit Filteroptionen angezeigt:

    2. Wählen Sie eine Option in der Filterliste aus. Die ausgewählte Option wird in der Filterleiste angezeigt.

    3. 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.

  3. 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.

  4. Klicken Sie auf Senden. Wenn Ihr Dienst erstellt ist, wird der Hinweis Abgeschlossen angezeigt.

API zum Erstellen von GKE- und Cloud Run-Diensten verwenden

GKE- und Cloud Run-basierte Dienste können auch mithilfe der SLO API, einem Bestandteil der Cloud Monitoring API, definiert werden.

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"
  }
}

Weitere Informationen zum programmatischen Verwalten von Diensten finden Sie unter Mit der API arbeiten.

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:

  1. Klicken Sie auf der Seite Übersicht über Dienste auf Dienst definieren, um den Bereich Dienst definieren aufzurufen.

  2. Wählen Sie Benutzerdefinierter Dienst aus.

    Screenshot: Mit dem Tab **Benutzerdefinierter Dienst** können Sie beliebige Dienste definieren.

  3. Geben Sie einen Anzeigenamen für den benutzerdefinierten Dienst ein.

  4. 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.