gRPC-Anwendung mit Beobachtbarkeit von Mikrodiensten auf Google Cloud einrichten

Mit Tools zur Beobachtbarkeit von Mikrodiensten können Sie Ihre Anwendungen instrumentieren, um Telemetriedaten in Cloud Monitoring, Cloud Logging und Cloud Trace zu erfassen und zu präsentieren, die von gRPC-Arbeitslasten stammen, die in Google Cloud und an anderen Orten bereitgestellt werden. Die Beobachtbarkeit von Mikrodiensten funktioniert mit jeder Bereitstellung, der durch Aktivieren der Microservices API Zugriff auf Monitoring, Logging, und Trace gewährt wurde.

In dieser Anleitung erfahren Sie, wie Sie Features für die Beobachtbarkeit von Mikrodiensten nutzen, indem Sie eine einfache gRPC-Anwendung in Google Cloud mit Compute Engine erstellen und Ihre Anwendung mit Beobachtbarkeit für Mikrodienste instrumentieren und sie live in Monitoring and Logging anzeigen.

Ziele

Auf übergeordneter Ebene führen Sie diese Schritte aus.

  • Als Dienstentwickler haben Sie folgende Möglichkeiten:

    • Erstellen Sie eine gRPC-Anwendung in der Sprache Ihrer Wahl (C++, Go oder Java).
    • Aktivieren Sie das Plug-in für die Beobachtbarkeit von Mikrodiensten für Ihre Anwendung und steuern Sie es.
    • Stellen Sie die Anwendung auf einer Compute Engine-VM bereit.
  • Als Dienstoperator nutzen Sie die erfassten Daten auf verschiedene Arten:

    • Traces in Trace ansehen.
    • Messwerte im Monitoring-Dashboard „Microservices (gRPC) Monitoring“ aufrufen
    • Messwerte in Metrics Explorer aufrufen.
    • Logeinträge im Log-Explorer prüfen.

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.

Neuen Nutzern von Google Cloud steht möglicherweise ein kostenloser Testzeitraum zur Verfügung.

Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.

Hinweis

Console

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Aktivieren Sie die Compute Engine API und die Microservices API.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen

    APIs aktivieren

  5. Sie benötigen die IAM-Rolle „Dienstkonten erstellen“ (roles/iam.serviceAccountCreator) und die IAM-Rolle „Projekt-IAM-Administrator“ (roles/resourcemanager.projectIamAdmin). Informationen zum Zuweisen von Rollen
  6. Wechseln Sie in der Google Cloud Console zur Seite Dienstkonto erstellen.

    Zur Seite „Dienstkonto erstellen“
  7. Wählen Sie Ihr Projekt aus.
  8. Geben Sie im Feld Dienstkontoname einen Namen ein. Die Google Cloud Console füllt das Feld Dienstkonto-ID anhand dieses Namens aus.

    Geben Sie im Feld Dienstkontobeschreibung eine Beschreibung ein. Beispiel: Service account for quickstart.

  9. Klicken Sie auf Erstellen und fortfahren.
  10. Weisen Sie dem Dienstkonto die folgenden Rollen zu: Logging > Logs-Betrachter > Logs-Autor, Monitoring > Monitoring-Bearbeiter > Messwert-Autor, Trace > Trace-Administrator > Trace-Agent.

    Wenn Sie eine Rolle zuweisen möchten, suchen Sie die Liste Rolle auswählen und wählen Sie die Rolle aus.

    Wenn Sie weitere Rollen hinzufügen möchten, klicken Sie auf Weitere Rolle hinzufügen und fügen Sie weitere Rollen hinzu.

  11. Klicken Sie auf Weiter.
  12. Geben Sie im Feld Rolle „Dienstkontonutzer“ die Kennung für das Hauptkonto ein, mit dem das Dienstkonto an andere Ressourcen angehängt wird, z. B. Compute Engine-Instanzen.

    Dies ist in der Regel die E‑Mail-Adresse eines Google-Kontos.

  13. Klicken Sie auf Fertig, um das Erstellen des Dienstkontos abzuschließen.

  • In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  • Verify that billing is enabled for your Google Cloud project.

  • Aktivieren Sie die Compute Engine API und die Microservices API.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen

    APIs aktivieren

  • Sie benötigen die IAM-Rolle „Dienstkonten erstellen“ (roles/iam.serviceAccountCreator) und die IAM-Rolle „Projekt-IAM-Administrator“ (roles/resourcemanager.projectIamAdmin). Informationen zum Zuweisen von Rollen
  • Wechseln Sie in der Google Cloud Console zur Seite Dienstkonto erstellen.

    Zur Seite „Dienstkonto erstellen“
  • Wählen Sie Ihr Projekt aus.
  • Geben Sie im Feld Dienstkontoname einen Namen ein. Die Google Cloud Console füllt das Feld Dienstkonto-ID anhand dieses Namens aus.

    Geben Sie im Feld Dienstkontobeschreibung eine Beschreibung ein. Beispiel: Service account for quickstart.

  • Klicken Sie auf Erstellen und fortfahren.
  • Weisen Sie dem Dienstkonto die folgenden Rollen zu: Logging > Logs-Betrachter > Logs-Autor, Monitoring > Monitoring-Bearbeiter > Messwert-Autor, Trace > Trace-Administrator > Trace-Agent.

    Wenn Sie eine Rolle zuweisen möchten, suchen Sie die Liste Rolle auswählen und wählen Sie die Rolle aus.

    Wenn Sie weitere Rollen hinzufügen möchten, klicken Sie auf Weitere Rolle hinzufügen und fügen Sie weitere Rollen hinzu.

  • Klicken Sie auf Weiter.
  • Geben Sie im Feld Rolle „Dienstkontonutzer“ die Kennung für das Hauptkonto ein, mit dem das Dienstkonto an andere Ressourcen angehängt wird, z. B. Compute Engine-Instanzen.

    Dies ist in der Regel die E‑Mail-Adresse eines Google-Kontos.

  • Klicken Sie auf Fertig, um das Erstellen des Dienstkontos abzuschließen.

  • Lesen Sie die Übersicht über Mikrodienst-Beobachtbarkeit.
  • Lesen Sie über die zwei unterstützten Umgebungsvariablen nach und entscheiden Sie, welche verwendet werden soll, und ermitteln Sie die Werte, die für die Umgebungsvariable erforderlich sind.
  • Befehlszeile

    1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
    2. Installieren Sie die Google Cloud CLI.

    3. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

    4. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

      gcloud init
    5. Erstellen Sie ein Google Cloud Projekt oder wählen Sie eines aus.

      Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind

      • Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
      • Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“ (roles/resourcemanager.projectCreator), die die Berechtigung resourcemanager.projects.create enthält. Weitere Informationen zum Zuweisen von Rollen
      • So erstellen Sie ein Google Cloud -Projekt:

        gcloud projects create PROJECT_ID

        Ersetzen Sie PROJECT_ID durch einen Namen für das Google Cloud -Projekt, das Sie erstellen.

      • Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:

        gcloud config set project PROJECT_ID

        Ersetzen Sie PROJECT_ID durch den Namen Ihres Projekts in Google Cloud .

    6. Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.

    7. Aktivieren Sie die Compute Engine API und die Microservices API:

      Rollen, die zum Aktivieren von APIs erforderlich sind

      Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen

      gcloud services enable compute.googleapis.com microservices.googleapis.com
    8. Richten Sie die Authentifizierung ein:

      1. Sie benötigen die IAM-Rolle „Dienstkonten erstellen“ (roles/iam.serviceAccountCreator) und die IAM-Rolle „Projekt-IAM-Administrator“ (roles/resourcemanager.projectIamAdmin). Informationen zum Zuweisen von Rollen
      2. Erstellen Sie das Dienstkonto:

        gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

        Ersetzen Sie SERVICE_ACCOUNT_NAME mit einem Namen für das Dienstkonto.

      3. Weisen Sie dem Dienstkonto Rollen zu. Führen Sie den Befehl roles/logging.logWriter, roles/monitoring.metricWriter, roles/cloudtrace.agent für jede der folgenden IAM-Rollen einmal aus:

        gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

        Dabei gilt:

        • SERVICE_ACCOUNT_NAME: der Name des Dienstkontos
        • PROJECT_ID: die Projekt-ID, unter der Sie das Dienstkonto erstellt haben
        • ROLE: die zu gewährende Rolle
      4. Weisen Sie dem Hauptkonto, das das Dienstkonto an andere Ressourcen anhängt, die erforderliche Rolle zu.

        gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser

        Ersetzen Sie Folgendes:

        • SERVICE_ACCOUNT_NAME: der Name des Dienstkontos
        • PROJECT_ID: die Projekt-ID, unter der Sie das Dienstkonto erstellt haben
        • USER_EMAIL: die E-Mail-Adresse für ein Google-Konto
    9. Installieren Sie die Google Cloud CLI.

    10. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

    11. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

      gcloud init
    12. Erstellen Sie ein Google Cloud Projekt oder wählen Sie eines aus.

      Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind

      • Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
      • Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“ (roles/resourcemanager.projectCreator), die die Berechtigung resourcemanager.projects.create enthält. Weitere Informationen zum Zuweisen von Rollen
      • So erstellen Sie ein Google Cloud -Projekt:

        gcloud projects create PROJECT_ID

        Ersetzen Sie PROJECT_ID durch einen Namen für das Google Cloud -Projekt, das Sie erstellen.

      • Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:

        gcloud config set project PROJECT_ID

        Ersetzen Sie PROJECT_ID durch den Namen Ihres Projekts in Google Cloud .

    13. Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.

    14. Aktivieren Sie die Compute Engine API und die Microservices API:

      Rollen, die zum Aktivieren von APIs erforderlich sind

      Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen

      gcloud services enable compute.googleapis.com microservices.googleapis.com
    15. Richten Sie die Authentifizierung ein:

      1. Sie benötigen die IAM-Rolle „Dienstkonten erstellen“ (roles/iam.serviceAccountCreator) und die IAM-Rolle „Projekt-IAM-Administrator“ (roles/resourcemanager.projectIamAdmin). Informationen zum Zuweisen von Rollen
      2. Erstellen Sie das Dienstkonto:

        gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

        Ersetzen Sie SERVICE_ACCOUNT_NAME mit einem Namen für das Dienstkonto.

      3. Weisen Sie dem Dienstkonto Rollen zu. Führen Sie den Befehl roles/logging.logWriter, roles/monitoring.metricWriter, roles/cloudtrace.agent für jede der folgenden IAM-Rollen einmal aus:

        gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

        Dabei gilt:

        • SERVICE_ACCOUNT_NAME: der Name des Dienstkontos
        • PROJECT_ID: die Projekt-ID, unter der Sie das Dienstkonto erstellt haben
        • ROLE: die zu gewährende Rolle
      4. Weisen Sie dem Hauptkonto, das das Dienstkonto an andere Ressourcen anhängt, die erforderliche Rolle zu.

        gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser

        Ersetzen Sie Folgendes:

        • SERVICE_ACCOUNT_NAME: der Name des Dienstkontos
        • PROJECT_ID: die Projekt-ID, unter der Sie das Dienstkonto erstellt haben
        • USER_EMAIL: die E-Mail-Adresse für ein Google-Konto
    16. Lesen Sie die Übersicht über Mikrodienst-Beobachtbarkeit.
    17. Lesen Sie über die zwei unterstützten Umgebungsvariablen nach und entscheiden Sie, welche verwendet werden soll, und ermitteln Sie die Werte, die für die Umgebungsvariable erforderlich sind.