Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

So bewerten Sie Ihre Google Cloud Logging-Nutzung

By Nir ForerJun 18, 20214 min read

Diese Seite ist auch in English, Español, Français, Italiano, 日本語 und Português verfügbar.

Google Cloud Logging berechnet 0,5 USD pro GiB an ingestierten Logs, mit einem kostenlosen Kontingent von 50 GiB pro Projekt. In der Regel summiert sich das nur zu kleinen Beträgen – in bestimmten Fällen können die Kosten aber schnell durch die Decke gehen. Google zeigt sich in solchen Situationen bislang kulant und erstattet die Kosten, dennoch sollten Sie das Thema selbst im Griff haben, falls sich diese großzügige Praxis irgendwann ändert.

Warum schnellen Logging-Kosten plötzlich nach oben?

Wir haben das schon oft erlebt: Ein Entwickler deployt eine neue Version mit zusätzlicher Debug-Ausgabe. Oder es wird ein neuer HTTP-Load-Balancer angelegt, ohne die Standardkonfiguration zum Streamen der Access-Logs zu deaktivieren. Im Handumdrehen steigt die Logging-Nutzung auf das 100-Fache – und die Kosten ziehen im selben Tempo mit.

Wer die Projektkosten aktiv überwacht, bemerkt diesen Sprung meist innerhalb weniger Tage. Andere haben weniger Glück – und erleben den allzu bekannten Bill-Shock.

So bewerten Sie die Log-Ingestion-Rate

Wie nahezu jeder andere Google-Cloud-Dienst liefert auch Logging wertvolle Metriken, die im Monitoring-Dienst bereitstehen.

Die wichtigste Metrik für den Einstieg ist "Log bytes ingested".

Hier ein Beispiel-Chart dieser Metrik:

Log bytes ingested, aufgeschlüsselt nach dem Service, der die Logs erzeugt – letzte Stunde

Im 1-Stunden-Zeitraum lässt sich kein klares Muster erkennen, weshalb Anomalien nur schwer auszumachen sind.

Erweitern wir den Zeitraum auf einen Monat, zeigt sich ein deutliches Muster: Werktags (Montag bis Freitag) werden besonders viele Logs erzeugt:

Log bytes ingested, aufgeschlüsselt nach dem Service, der die Logs erzeugt – letzter Monat, Werktage in den blauen Kästen markiert

Dieses Muster lässt sich beobachten – sobald eine der Zeitreihen davon abweicht, deutet das auf ein potenzielles Problem hin, das im jeweiligen Service exzessive Log-Emissionen verursacht.

So gehen Sie bei Log-Metriken in die Tiefe

Alle GCP-Ressourcen liefern die Metrik "Log bytes". Wollen Sie also etwa die Log-Emissionsrate von App Engine isoliert betrachten, lässt sich folgender Chart erzeugen:

Drilldown in die Log-Emissionen von App Engine

Analyse ist schön und gut – aber wie steht es ums Monitoring?

Wie Sie sich denken können, möchte niemand den ganzen Tag vor einem Chart sitzen und auf Anomalien warten. Wie lässt sich die Log-Emissionsrate also proaktiv überwachen?

Ist die Log-Emissionsrate über den Tag hinweg konstant, genügt eine einfache Monitoring-Alerting-Policy. Sie schlägt Alarm, sobald eine Zeitreihe um einen festgelegten Prozentsatz ansteigt.

Ist die Log-Emission dagegen zyklisch, wird es kniffliger. Die Emissionen schwanken im Tagesverlauf, sodass An- und Abstiege der Zeitreihe völlig normal sind. Ein darauf basierender Alert würde unweigerlich viele Fehlalarme auslösen.

Abhilfe schafft das Glätten der Saisonalität durch Anpassung des Aggregationszeitraums.

Saisonalität von Zeitreihen ausblenden

Die dargestellten Daten lassen sich glätten, indem man über einen längeren Zeitraum aggregiert. Der Chart, der mit einer Aggregationsperiode von einer Minute so aussah:

Log bytes ingested – Aggregationszeitraum: 1 Minute

… sieht bei einer Aggregation über einen Tag so aus:

Log bytes ingested – Aggregationszeitraum: 1 Tag

… und so, wenn der Aggregationszeitraum auf eine Woche gesetzt wird:

Log bytes ingested – Aggregationszeitraum: 1 Woche

Auf Basis des letzten Charts lässt sich sinnvoll alarmieren, sobald eine Zeitreihe um einen bestimmten Prozentsatz steigt (oder fällt).

Leider unterstützt Google Cloud Monitoring derzeit keine Aggregationszeiträume von mehr als 25 Stunden für Alerting Policies – ein entsprechender Alert lässt sich aus Cloud Monitoring heraus also nicht konfigurieren.

Wir haben uns an Google gewandt und vorgeschlagen, die 25-Stunden-Grenze aufzuheben, damit sich Log-Emissionen auch bei zyklischen Zeitreihen sauber überwachen lassen. Ein Feature Request wurde eingereicht – Sie können ihn mit einem Stern markieren, wenn Sie an dieser Funktion interessiert sind.

Danke fürs Lesen! Bleiben Sie mit uns in Kontakt – im DoiT Engineering Blog , auf dem DoiT LinkedIn-Kanal und auf dem DoiT Twitter-Kanal . Karrieremöglichkeiten finden Sie unter https://careers.doit-intl.com .