In diesem Dokument wird beschrieben, wie Sie den von Google entwickelten OpenTelemetry Collector in Cloud Run ausführen, um OTLP-Logs, ‑Messwerte und ‑Traces aus instrumentierten Anwendungen zu erfassen und diese Daten dann nach Google Cloudzu exportieren.
Hinweise
Für die Ausführung des von Google entwickelten OpenTelemetry Collectors sind die folgenden Ressourcen erforderlich:
Ein Google Cloud -Projekt mit aktivierter Cloud Monitoring API, Cloud Trace API und Cloud Logging API.
Wenn Sie kein Google Cloud -Projekt haben, gehen Sie so vor:
Wechseln Sie in der Google Cloud -Console zu Neues Projekt:
Geben Sie im Feld Projektname einen Namen für Ihr Projekt ein und klicken Sie dann auf Erstellen.
Wechseln Sie zu Billing (Abrechnung):
Wählen Sie das Projekt aus, das Sie gerade erstellt haben, falls es nicht bereits oben auf der Seite ausgewählt wurde.
Sie werden aufgefordert, ein vorhandenes Zahlungsprofil auszuwählen oder ein neues zu erstellen.
Die Monitoring API, die Trace API und die Logging API sind für neue Projekte standardmäßig aktiviert.
Wenn Sie bereits ein Google Cloud -Projekt haben, müssen die Monitoring API, die Trace API und die Logging API aktiviert sein:
Ein Cloud Run-Dienst. Wenn Sie keinen Cloud Run-Dienst haben, folgen Sie der Anleitung unter Dienst planen und vorbereiten.
Eine Installation von
gcloud
. Informationen zur Installation vongcloud
finden Sie untergcloud
CLI installieren.
Berechtigungen für den Collector konfigurieren
Cloud Run-Jobs und ‑Dienste verwenden standardmäßig das Compute Engine-Standarddienstkonto, PROJECT_NUMBER-compute@developer.gserviceaccount.com
.
Dieses Dienstkonto hat in der Regel die IAM-Rollen (Identity and Access Management), die zum Schreiben der in diesem Dokument beschriebenen Messwerte und Logs erforderlich sind:
- Monitoring-Messwert-Autor (
roles/monitoring.metricWriter
) - Logging Log Writer (
roles/logging.logWriter
)
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen:
- Cloud Run-Administrator (
roles/run.admin
) Secret Manager Secret Accessor
(roles/secretmanager.secretAccessor)
Sie können auch ein nutzerverwaltetes Dienstkonto für Cloud Run konfigurieren. Ein vom Nutzer verwaltetes Dienstkonto muss auch diese Rollen haben. Weitere Informationen zu Dienstkonten für Cloud Run finden Sie unter Einführung in die Dienstidentität.
Collector bereitstellen
Wenn Sie den von Google entwickelten OpenTelemetry Collector als Sidecar für Cloud Run installieren möchten, müssen Sie zuerst ein Secret erstellen, in dem die Konfiguration des Collectors gespeichert wird.
gcloud secrets create SECRET_NAME --data-file=config.yaml --project=PROJECT_ID
Fügen Sie als Nächstes den von Google entwickelten OpenTelemetry Collector als Sidecar-Datei zu Ihrer service.yaml
hinzu:
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
annotations:
run.googleapis.com/launch-stage: ALPHA
name: google-otel-cloud-run-sample
spec:
template:
metadata:
annotations:
# [REQUIRED] set the collector as a parent to the app
run.googleapis.com/container-dependencies: "{app:[collector]}"
run.googleapis.com/secrets: 'SECRET_NAME:projects/PROJECT_ID/secrets/SECRET_NAME'
spec:
containers:
- image: my-app
name: app
ports:
- containerPort: 8080
env:
- name: "OTEL_EXPORTER_OTLP_ENDPOINT"
value: "http://localhost:4317"
- image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.131.0"
args:
- --config=/etc/otelcol-google/config.yaml
name: collector
startupProbe:
httpGet:
path: /
port: 13133
timeoutSeconds: 30
periodSeconds: 30
livenessProbe:
httpGet:
path: /
port: 13133
timeoutSeconds: 30
periodSeconds: 30
volumeMounts:
- mountPath: /etc/otelcol-google/
name: config
volumes:
- name: config
secret:
items:
- key: latest
path: config.yaml
secretName: 'SECRET_NAME'
Collector konfigurieren
Wir stellen eine OpenTelemetry Collector-Konfiguration zur Verfügung, die Sie mit dem von Google entwickelten Collector verwenden können. Diese Konfiguration ist für die Bereitstellung großer Mengen von OTLP-Messwerten, ‑Logs und ‑Traces konzipiert. Diese Konfiguration soll auch häufige Probleme bei der Aufnahme verhindern. Sie können der Konfiguration Elemente hinzufügen, aber wir empfehlen dringend, keine Elemente zu entfernen.
In diesem Abschnitt werden die bereitgestellte Konfiguration, die wichtigsten Komponenten wie Exporter, Prozessoren und Empfänger sowie andere verfügbare Komponenten beschrieben.
Bereitgestellte Collector-Konfiguration
Die Collector-Konfiguration finden Sie im Verzeichnisgoogle-built-opentelemetry-collector
im opentelemetry-operations-collector
-Repository:
Exporteure
Die Collector-Konfiguration umfasst die folgenden Exporter:
googlecloud
-Exporter für Logs und Traces. Dieser Exporter ist mit einem Standardlognamen konfiguriert.googlemanagedprometheus
-Exporter für Messwerte. Für diesen Exporteur ist keine Konfiguration erforderlich, es gibt aber Konfigurationsoptionen. Informationen zu den Konfigurationsoptionen für dengooglemanagedprometheus
-Exporter finden Sie in der Dokumentation zu Google Cloud Managed Service for Prometheus unter Erste Schritte mit dem OpenTelemetry Collector.
Prozessoren
Die Collector-Konfiguration umfasst die folgenden Prozessoren:
batch
: Konfiguriert, um Telemetrieanfragen mit der Google Cloud maximalen Anzahl von Einträgen pro Anfrage oder mit dem Google Cloud Mindestintervall von 5 Sekunden (je nachdem, was zuerst erreicht ist) in Batches zu verarbeiten.memory_limiter
: Beschränkt die Speichernutzung des Collectors, um Abstürze aufgrund von Speichermangel zu verhindern. Dazu werden Datenpunkte verworfen, wenn das Limit überschritten wird.resourcedetection
: Erkennt automatisch Google Cloud Ressourcenlabels wieproject_id
.
Empfänger
Die Collector-Konfiguration enthält nur den otlp
-Empfänger.
Informationen zum Instrumentieren Ihrer Anwendungen zum Senden von OTLP-Traces und -Messwerten an den OTLP-Endpunkt des Collectors finden Sie unter Instrumentierungsansatz auswählen.
Verfügbare Komponenten
Der von Google entwickelte OpenTelemetry Collector enthält die Komponenten, die die meisten Nutzer benötigen, um Google Cloud Observability optimal nutzen zu können. Eine vollständige Liste der verfügbaren Komponenten finden Sie im opentelemetry-operations-collector
-Repository unter Components.
Wenn Sie Änderungen oder Ergänzungen an den verfügbaren Komponenten anfordern möchten, erstellen Sie eine Funktionsanfrage im opentelemetry-operations-collector
-Repository.
Telemetrie generieren
Um Telemetriedaten zu generieren, erstellen Sie eine Cloud Run-Anwendung mit einem Sidecar-Collector. Im Dokument OTLP-Messwerte mit einem OpenTelemetry-Sidecar schreiben finden Sie eine Anleitung zur Verwendung des von Google entwickelten OpenTelemetry Collectors als Sidecar. In dieser Anleitung erfahren Sie, wie Sie mit dem von Google entwickelten Collector Telemetriedaten generieren.
Telemetriedaten ansehen
Der von Google entwickelte OpenTelemetry Collector sendet Messwerte, Logs und Traces aus Ihren instrumentierten Anwendungen an Google Cloud Observability. Der Collector sendet auch Messwerte zur Selbstbeobachtung. In den folgenden Abschnitten wird beschrieben, wie Sie diese Telemetriedaten aufrufen.
Messwerte ansehen
Der von Google entwickelte OpenTelemetry Collector erfasst Prometheus-Messwerte, die Sie mit dem Metrics Explorer aufrufen können. Die erfassten Messwerte hängen von der Instrumentierung der App ab. Der von Google entwickelte Collector schreibt jedoch auch einige eigene Messwerte.
So rufen Sie die vom Google-eigenen OpenTelemetry Collector erfassten Messwerte auf:-
Rufen Sie in der Google Cloud Console die Seite leaderboard Metrics Explorer auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Wählen Sie in der Symbolleiste der Google Cloud -Console Ihr Google Cloud -Projekt aus. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.
- Maximieren Sie im Element Messwert das Menü Messwert auswählen, geben Sie
Prometheus Target
in die Filterleiste ein und wählen Sie dann über die Untermenüs einen bestimmten Ressourcentyp und Messwert aus:- Wählen Sie im Menü Aktive Ressourcen die Option Prometheus-Ziel aus.
- Einen Messwert wählen Sie in den Menüs Aktive Messwertkategorien und Aktive Messwerte aus.
Messwerte, die vom Google-eigenen OpenTelemetry Collector erfasst werden, haben das Präfix
prometheus.googleapis.com
. - Klicken Sie auf Übernehmen.
- Konfigurieren Sie, wie die Daten angezeigt werden.
Wenn die Messungen für einen Messwert kumulativ sind, normalisiert Metrics Explorer die gemessenen Daten automatisch nach dem Ausrichtungszeitraum. Dadurch wird im Diagramm eine Rate angezeigt. Weitere Informationen finden Sie unter Arten, Typen und Umwandlungen.
Wenn ganzzahlige oder doppelte Werte gemessen werden, z. B. mit
counter
-Messwerten, summiert der Metrics Explorer automatisch alle Zeitachsen. Wenn Sie dieses Verhalten ändern möchten, legen Sie das erste Menü des Eintrags Aggregation auf Keine fest.Weitere Informationen zum Konfigurieren eines Diagramms finden Sie unter Messwerte bei Verwendung von Metrics Explorer auswählen.
Traces ansehen
So rufen Sie Ihre Trace-Daten auf:
-
Rufen Sie in der Google Cloud Console die Seite Trace Explorer auf:
Sie können diese Seite auch über die Suchleiste finden.
- Wählen Sie in der Symbolleiste der Google Cloud -Console Ihr Google Cloud -Projekt aus. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.
- Wählen Sie im Tabellenbereich der Seite eine Zeile aus.
Wählen Sie im Gantt-Diagramm im Bereich Trace-Details einen Span aus.
Ein Bereich mit Informationen zur verfolgten Anfrage wird geöffnet. Zu diesen Details gehören die Methode, der Statuscode, die Anzahl der Byte und der User-Agent des Aufrufers.
Wählen Sie den Tab Logs und Ereignisse aus, um die mit diesem Trace verknüpften Logs aufzurufen.
Auf dem Tab werden einzelne Logs angezeigt. Maximieren Sie den Logeintrag, um die Details anzusehen. Sie können auch auf Logs ansehen klicken und das Log mit dem Log-Explorer aufrufen.
Weitere Informationen zur Verwendung von Cloud Trace-Explorer finden Sie unter Traces suchen und untersuchen.
Logs ansehen
Im Log-Explorer können Sie Ihre Logs prüfen und sich auch die zugehörigen Traces ansehen, sofern vorhanden.
-
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.
Suchen Sie nach einem Logeintrag aus Ihrer instrumentierten App. Maximieren Sie den Logeintrag, um die Details anzusehen.
Klicken Sie auf
Traces für einen Logeintrag mit einer Trace-Nachricht und wählen Sie dann Trace-Details anzeigen aus.
Der Bereich Trace-Details wird geöffnet und zeigt den ausgewählten Trace an.
Weitere Informationen zur Verwendung des Log-Explorers finden Sie unter Logs mit dem Log-Explorer ansehen.
Collector beobachten und debuggen
Der von Google entwickelte OpenTelemetry Collector bietet automatisch Messwerte zur Selbstbeobachtbarkeit, mit denen Sie die Leistung überwachen und eine kontinuierliche Verfügbarkeit der OTLP-Aufnahmepipeline gewährleisten können.
Wenn Sie den Collector überwachen möchten, installieren Sie das Beispiel-Dashboard für den Collector. Dieses Dashboard bietet einen übersichtlichen Überblick über verschiedene Messwerte des Collectors, einschließlich Betriebszeit, Arbeitsspeichernutzung und API-Aufrufe an Google Cloud Observability.
So installieren Sie das Dashboard:
-
Öffnen Sie in der Google Cloud Console die Seite Dashboards
:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Klicken Sie auf Dashboard-Vorlagen.
- Suchen Sie nach dem Dashboard OpenTelemetry Collector.
- Optional: Wenn Sie sich eine Vorschau des Dashboards ansehen möchten, wählen Sie es aus.
Klicken Sie auf playlist_add Dashboard in Liste aufnehmen und füllen Sie das Dialogfeld aus.
Im Dialogfeld können Sie den Namen des Dashboards auswählen und Labels hinzufügen.
Weitere Informationen zum Installieren von Dashboards finden Sie unter Dashboardvorlage installieren.