Cloud Logging für PHP einrichten

Sie können Logs aus PHP-Anwendungen in Cloud Logging schreiben, wenn Sie die Cloud Logging-Bibliothek für PHP direkt verwenden.

Hinweise

  1. Melden Sie sich bei Ihrem Google-Konto an.

    Wenn Sie noch kein Konto haben, melden Sie sich hier für ein neues Konto an.

  2. Wählen Sie in der Cloud Console auf der Seite für die Projektauswahl ein Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Aktivieren Sie die Cloud Logging API.

    Aktivieren Sie die API

Cloud Logging-Bibliothek für PHP installieren

Mit der Cloud Logging-Bibliothek für PHP lässt sich der Logger PSR-3 für PHP-Web-Frameworks einfach implementieren.

Sie können Logs aus Ihrer Anwendung heraus verfassen, wenn Sie die Cloud Logging-Bibliothek für PHP zu Ihrer composer.json hinzufügen:

composer require google/cloud-logging

PSR-3-Logger erstellen

Mit diesem Code können Sie einen PSR-3-Logger erstellen:

$logging = new LoggingClient([
    'projectId' => $projectId
]);
$logger = $logging->psrLogger('app');

Stapelverarbeitungsoption aktivieren

Der PSR-3 Logger sendet die Logs synchron. Das bedeutet, dass jedes Mal, wenn Sie ein Log ausgeben, die RPC-Latenz der Nutzeranfrage erhöht wird. Besonders wenn Sie mehrere Logs in einer einzelnen Anfrage ausgeben, erhöht sich die Latenz erheblich. Das wollen Sie wahrscheinlich vermeiden.

Mit diesem Code erstellen Sie einen PSR-3-Logger, der mehrere Logs zu einem einzigen RPC-Aufruf zusammenfasst:

$logger = LoggingClient::psrBatchLogger('app');

Standardmäßig fasst dieser Logger die Logs in einem einzigen Vorgang zusammen. In der flexiblen App Engine-Umgebung können Sie die Cloud Logging-Bibliothek für PHP so konfigurieren, dass der Durchsatz weiter erhöht und die Latenz minimiert wird. Weitere Informationen finden Sie unter Log-Daemon konfigurieren.

Cloud Logging-Bibliothek für PHP konfigurieren

Sie können das Verhalten der Cloud Logging-Bibliothek für PHP anpassen. Eine Liste der möglichen Konfigurationsoptionen finden Sie im Konfigurationsdokument.

PSR-3-Logger verwenden

Sobald der Logger erstellt wurde, können Sie ihn in Ihrer Anwendung verwenden:

$logger->info('Hello World');
$logger->error('Oh no');

Weitere Informationen zur Installation finden Sie in der Dokumentation zur Cloud Logging-Bibliothek für PHP. Probleme können Sie über die Problemverfolgung melden.

Cloud-Clientbibliothek direkt verwenden

Informationen zur direkten Verwendung der Cloud Logging-Cloud-Clientbibliothek für PHP finden Sie unter Cloud Logging-Clientbibliotheken.

In Google Cloud ausführen

Für die Verwendung der Cloud Logging-Bibliothek für PHP ist auf Google Cloud die IAM-Rolle Logautor erforderlich. In den meisten Google Cloud-Umgebungen ist diese Rolle standardmäßig vorhanden.

App Engine

In App Engine wird die Rolle "Logautor" standardmäßig zugewiesen.

Die Cloud Logging-Bibliothek für PHP kann verwendet werden, ohne dass Anmeldedaten explizit angegeben werden müssen.

Cloud Logging ist für App Engine-Anwendungen automatisch aktiviert. Es ist keine zusätzliche Einrichtung erforderlich.

Es empfiehlt sich jedoch, den PSR-3-Logger zu verwenden. Dieser ergänzt Ihre Logs automatisch um Metadaten, sodass Ihre Anwendungslogs den Anfragelogs zugeordnet werden können.

Daemon für die flexible App Engine-Umgebung konfigurieren

In der flexiblen App Engine-Umgebung können Sie die Cloud Logging-Bibliothek für PHP zur Verwendung eines externen Daemon-Programms konfigurieren, um den Logdurchsatz zu maximieren und die Latenz der Anwendung zu minimieren. Fügen Sie die folgende Zeile in den Abschnitt runtime_config in app.yaml ein, um diese Funktion zu aktivieren:

enable_stackdriver_integration: true

Google Kubernetes Engine

In Google Kubernetes Engine müssen Sie beim Erstellen des Clusters den Zugriffsbereich logging.write festlegen:

gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/logging.write

Compute Engine

Wenn Sie Compute Engine-VM-Instanzen verwenden, fügen Sie der jeweiligen Instanz den Zugriffsbereich für cloud-platform hinzu. In der Google Cloud Console können Sie das beim Erstellen einer neuen Instanz im Bereich Instanz erstellen im Abschnitt Identität und API-Zugriff erledigen. Verwenden Sie das Compute Engine-Standarddienstkonto oder ein anderes Dienstkonto und wählen Sie im Abschnitt Identität und API-Zugriff die Option Uneingeschränkten Zugriff auf alle Cloud APIs zulassen aus. Achten Sie darauf, dass jedem ausgewählten Dienstkonto im Abschnitt IAM & Verwaltung der Cloud Console die Rolle "Logautor" zugewiesen ist.

Lokal und extern ausführen

Um die Cloud Logging-Bibliothek für PHP außerhalb von Google Cloud einschließlich der Ausführung der Bibliothek auf Ihrer eigenen Workstation, auf den Computern Ihrer Rechenzentren oder auf den VM-Instanzen eines anderen Cloudanbieters zu verwenden, müssen Sie Ihre Google Cloud-Projekt-ID und die entsprechenden Dienstkonto-Anmeldedaten direkt in der Cloud Logging-Bibliothek für PHP angeben.

Sie können Anmeldeinformationen für Dienstkonten manuell erstellen und abrufen. Verwenden Sie beim Angeben des Felds Rolle die Rolle "Logautor". Weitere Informationen zu den IAM-Rollen finden Sie in der Anleitung zur Zugriffssteuerung.

Logs ansehen

Nach der Bereitstellung können Sie die Logs in der Loganzeige der Cloud Console ansehen.

Zur Loganzeige

In der Loganzeige müssen Sie eine oder mehrere Ressourcen angeben. Die Auswahl der Ressourcen ist jedoch möglicherweise nicht offensichtlich. Hier sind ein paar Tipps für den Einstieg.

  • Wenn Sie Ihre Anwendung für App Engine bereitstellen oder die App Engine-spezifischen Bibliotheken verwenden, setzen Sie die Ressource auf GAE-Anwendung.

  • Wenn Sie Ihre Anwendung auf der Compute Engine bereitstellen, setzen Sie die Ressource auf GCE-VM-Instanz.

  • Wenn Sie Ihre Anwendung in Google Kubernetes Engine bereitstellen, wird der Ressourcentyp der Logeinträge von der Logging-Konfiguration Ihres Clusters bestimmt. Weitere Informationen zur Legacy-Operations-Suite von Google Cloud und zu den Kubernetes Monitoring-Lösungen der Operations-Suite von Google Cloud sowie zu deren Auswirkungen auf den Ressourcentyp finden Sie unter Zu Kubernetes Engine Monitoring migrieren.

  • Wenn Ihre Anwendung die Cloud Logging API direkt nutzt, ist die Ressource von der API und Ihrer Konfiguration abhängig. Sie können in Ihrer Anwendung zum Beispiel eine Ressource individuell festlegen oder eine Standardressource verwenden.

  • Wenn in der Loganzeige keine Logs zu sehen sind, wechseln Sie zum erweiterten Abfragemodus und verwenden Sie eine leere Abfrage, um alle Logeinträge zu sehen.

    1. Klicken Sie oben in der Loganzeige auf Menü (▾) und wählen Sie In erweiterten Filter umwandeln aus, um zum erweiterten Abfragemodus zu wechseln.
    2. Löschen Sie den Inhalt, der im Filterfeld angezeigt wird.
    3. Klicken Sie auf Filter senden.

    Sie können die einzelnen Einträge prüfen, um Ihre Ressourcen zu identifizieren.

Weitere Informationen finden Sie unter Logs ansehen und Erweiterte Logabfragen.