Cloud Trace für Python einrichten

Sie können Cloud Trace für Python-Anwendungen mit OpenCensus aktivieren. OpenCensus ist eine Sammlung von Instrumentenbibliotheken zum Erfassen von Trace- und Messwertdaten, die mit mehreren Back-Ends funktionieren. Die neuesten Details zu OpenCensus für Python sowie weitere 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. Die 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 mit der Google Cloud-Infrastruktur arbeiten, müssen Sie project_id nicht auf Ihre Google Cloud-Projekt-ID festsetzen. Wenn Sie dieses Feld nicht festlegen, ruft die Clientbibliothek für Python diese Daten automatisch von einem Google Cloud-Metadatenserver ab.

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 nicht explizit festlegen, gilt unabhängig von Ihrer Infrastrukturgoogle-cloud Die von OpenCensus aufgerufene Python-Bibliothek bestimmt automatisch, ob die UmgebungsvariableGOOGLE_CLOUD_PROJECT ist und wenn ja, verwendet die Bibliothek den Wert vonGOOGLE_CLOUD_PROJECT als Ihre Google Cloud-Projekt-ID verwenden. Weitere Informationen zur Authentifizierung bei der 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

Wenn Sie die Leistungslast des Berichts von Trace-Daten reduzieren möchten, senden Sie diese Daten von einem Hintergrundprozess. Fügen Sie transport=AsyncTransport beim Initialisieren von StackdriverExporter ein, um Hintergrundberichte von Trace-Daten zu konfigurieren.

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 für die Clientbibliothek keine Anmeldedaten zur Authentifizierung in der Clientbibliothek angeben. Für die Google Cloud Platform muss jedoch der Zugriffsbereich der Cloud Trace API aktiviert sein.

Eine Liste der unterstützten Google Cloud-Umgebungen finden Sie unter Umgebungsunterstützung.

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

  • Cloud Run

Wenn Sie benutzerdefinierte Zugriffsbereiche verwenden, müssen Sie dafür sorgen, dass der Zugriffsbereiche der Cloud Trace API aktiviert ist:

  • Informationen zum Konfigurieren der Zugriffsbereiche für Ihre Umgebung mithilfe der Google Cloud Console finden Sie unter Google Cloud-Projekt konfigurieren.

  • Geben Sie für gcloud-Nutzer Zugriffsbereiche mit dem Flag --scopes an und fügen Sie den Zugriffsbereich trace.append der Cloud Trace API hinzu. So erstellen Sie beispielsweise einen GKE-Cluster, für den 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 Anmeldedaten zur Authentifizierung 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 für die Suche nach den Anmeldedaten Ihrer Anwendung. 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 zur Instrumentierung der Anwendung zum Erfassen von Trace-Daten 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 Fehlerbehebung bei Cloud Trace finden Sie auf der Seite Fehlerbehebung.

Ressourcen