Cloud Trace für Python einrichten

Sie können Cloud Trace für Python-Anwendungen mithilfe von OpenCensus aktivieren. OpenCensus bietet eine Reihe von Instrumentierungsbibliotheken zum Erfassen von Trace- und Messwertdaten, die mit mehreren Back-Ends funktionieren. Aktuelle Informationen zu OpenCensus für Python sowie zusätzliche Dokumentation und Beispiele finden Sie unter census-Instrumentation/opencensus-python.

Installation und Konfiguration

Installieren Sie die OpenCensus-Pakete mit pip:

pip install opencensus
pip install opencensus-ext-stackdriver

Aktualisieren Sie Ihre Anwendung, um den Stackdriver-Exporter und die OpenCensus-Tracer-Pakete zu importieren. Ihre Anwendung muss außerdem die Objekte StackdriverExporter und Tracer instanziieren:

from opencensus.ext.stackdriver import trace_exporter as stackdriver_exporter
import opencensus.trace.tracer

def initialize_tracer(project_id):
    exporter = stackdriver_exporter.StackdriverExporter(
        project_id=project_id
    )
    tracer = opencensus.trace.tracer.Tracer(
        exporter=exporter,
        sampler=opencensus.trace.tracer.samplers.AlwaysOnSampler()
    )

    return tracer

Weitere Informationen zum Exporter finden Sie unter OpenCensus Tracing.

Wenn Sie die Google Cloud-Infrastruktur ausführen, müssen Sie project_id nicht auf Ihre Google Cloud-Projekt-ID festlegen. Wenn Sie dieses Feld nicht festlegen, erfasst die Clientbibliothek für Python diese Daten automatisch von einem Google Cloud-Metadatenserver.

Wenn Sie nicht die Google Cloud-Infrastruktur ausführen, müssen Sie Ihre Google Cloud-Projekt-ID für Ihre Anwendung angeben.

Wenn Sie die Google Cloud-Projekt-ID unabhängig von Ihrer Infrastruktur nicht explizit festlegen, bestimmt die von OpenCensus aufgerufene google-cloud-Python-Bibliothek automatisch, ob die Umgebungsvariable GOOGLE_CLOUD_PROJECT festgelegt ist. Falls ja, verwendet die Bibliothek den Wert GOOGLE_CLOUD_PROJECT als Ihre Google Cloud-Projekt-ID. Weitere Informationen zur Authentifizierung bei Verwendung von Clientbibliotheken finden Sie unter Authentifizierung. Allgemeine Informationen finden Sie unter Erste Schritte bei der Authentifizierung.

So legen Sie die Umgebungsvariable fest:

Linux oder macOS

export GOOGLE_CLOUD_PROJECT=your-project-id

Windows

set GOOGLE_CLOUD_PROJECT=your-project-id

PowerShell:

$env:GOOGLE_CLOUD_PROJECT="your-project-id"

Leistungsoptimierung

Um die Leistung bei der Übertragung von Trace-Daten zu reduzieren, müssen diese Daten von einem Hintergrundprozess gesendet werden. Fügen Sie transport=AsyncTransport beim Initialisieren von StackdriverExporter ein, um Hintergrundberichte von Trace-Daten zu konfigurieren.

Ihre Plattform konfigurieren

Sie können Cloud Trace in Google Cloud und auf anderen Plattformen verwenden.

In Google Cloud ausführen

Wenn Ihre Anwendung in Google Cloud ausgeführt wird, müssen Sie der Clientbibliothek keine Anmeldedaten in Form eines Dienstkontos bereitstellen. Sie müssen jedoch gewährleisten, dass auf Ihrer Google Cloud Platform der Zugriffsbereich der Cloud Trace API aktiviert ist.

Für die folgenden Konfigurationen wird die Cloud Trace API über die Standardeinstellungen für den Zugriffsbereich aktiviert:

  • Flexible App Engine-Umgebung
  • App Engine-Standardumgebung

  • Google Kubernetes Engine (GKE)

  • Compute Engine

Wenn Sie benutzerdefinierte Zugriffsbereiche verwenden, müssen Sie gewährleisten, dass der Zugriffsbereich der Cloud Trace API aktiviert ist. Geben Sie für gcloud-Nutzer Zugriffsbereiche mit dem Flag --scopes an und fügen Sie den Cloud Trace API-Zugriffsbereich trace.append hinzu. So erstellen Sie beispielsweise einen GKE-Cluster, bei dem nur die Cloud Trace API aktiviert ist:

gcloud container clusters create example-cluster-name --scopes=https://www.googleapis.com/auth/trace.append

Lokal und extern ausführen

Wenn Ihre Anwendung außerhalb von Google Cloud ausgeführt wird, müssen Sie Authentifizierungsdaten in Form eines Dienstkontos für die Clientbibliothek angeben. Das Dienstkonto muss die Rolle Cloud Trace Agent enthalten. Informationen dazu finden Sie unter Dienstkonto erstellen.

Google Cloud-Clientbibliotheken verwenden Standardanmeldedaten für Anwendungen, um die Anmeldedaten Ihrer Anwendung zu finden. Sie geben diese Anmeldedaten an, indem Sie die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS festlegen:

Linux/macOS

    export GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key

Windows

    set GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key

PowerShell:

    $env:GOOGLE_APPLICATION_CREDENTIALS="path-to-your-service-accounts-private-key"

Beispiel-Flask-Anwendung

Eine Python-Beispielanwendung, die Flask verwendet, finden Sie in der Trace-Kurzanleitung.

Weitere Informationen dazu, wie die Anwendung zum Erfassen von Trace-Daten verwendet wurde, finden Sie unter Instrumentierung.

Traces ansehen

Nach der Bereitstellung können Sie die Traces im Trace Viewer der Cloud Console anzeigen.

Trace-Anzeige öffnen

Fehlerbehebung

Informationen zur Behebung von Problemen mit Cloud Trace finden Sie auf der Seite zur Fehlerbehebung.

Ressourcen