Diese Seite bietet eine konzeptionelle Übersicht über logbasierte Messwerte.
Mit logbasierten Messwerten können Sie Trends und Muster in einer großen Anzahl von Logeinträgen beobachten. Sie können beispielsweise einen logbasierten Messwert verwenden, um die Anzahl der Logeinträge zu zählen, die eine bestimmte Nachricht enthalten, oder um in Logeinträgen aufgezeichnete Latenzinformationen zu extrahieren. Sie können logbasierte Messwerte in Cloud Monitoring-Diagrammen anzeigen und diese Messwerte mit Benachrichtigungsrichtlinien überwachen.
Logbasierte Messwerte lassen sich in zwei Kategorien unterteilen:
Projektbasiert. Mit diesen logbasierten Messwerten werden Logeinträge ausgewertet, die die Log-Speicher eines Projekts durchlaufen und dann in einem Log-Bucket im ProjektGoogle Cloud gespeichert werden. Zu den ausgewerteten Logeinträgen gehören auch solche, die über einen Log-Sink in einem anderen Projekt an Ihr Google Cloud -Projekt weitergeleitet werden.
Möglicherweise können Sie nicht alle Logeinträge in Ihrem Projekt mithilfe von logbasierten Messwerten auswerten. Wenn ein Administrator beispielsweise eine abfangende aggregierte Senke erstellt hat, können Logeinträge, die von dieser Senke weitergeleitet werden, nicht an Senken auf Projektebene gelangen. Daher können diese Logeinträge nicht zu einem logbasierten Messwert beitragen.
Basierend auf Log-Buckets. Bei diesen logbasierten Messwerten werden Logeinträge ausgewertet, die in einem bestimmten Log-Bucket gespeichert sind.
So werden Zeitreihenwerte für logbasierte Messwerte ermittelt
In diesem Abschnitt wird kurz beschrieben, wie die Werte in einer Zeitreihe für einen logbasierten Messwert vom Typ „Zähler“ ermittelt werden. Außerdem wird beschrieben, warum eine Zeitreihe für einen logbasierten Messwert Lücken enthalten kann. Der Vorgang ist für logbasierte Messwerte mit Verteilungswerten ähnlich.
Bei logbasierten Zählermesswerten geschieht Folgendes:
Es erstellt einen oder mehrere Datenstreams und verwaltet für jeden Stream eine Reihe von In-Memory-Zählern.
Für jede Kombination aus eindeutigen Werten für die Messwert- und Ressourcenlabels gibt es einen Stream. Jeder In-Memory-Zähler bezieht sich auf ein anderes Zeitintervall. Jeder Zähler erfasst jedoch die Anzahl der Logeinträge, die mit dem Filter übereinstimmen und einen Zeitstempel haben, der dem Intervall entspricht.
Jede Minute ermittelt das Logging-Backend für jeden Stream anhand der Werte der In-Memory-Zähler, wie eine von Cloud Monitoring verwaltete Zeitachse aktualisiert werden soll.
Wenn es fünf Streams gibt, gibt es auch fünf Zeitreihen, die vom Monitoring verwaltet werden. Sie können diese Zeitreihen in Diagrammen darstellen. Sie können auch Benachrichtigungsrichtlinien erstellen, um diese Zeitreihen zu überwachen.
Beispiel: Wie Nullwerte zu Datenlücken führen können
Betrachten Sie die folgende Zeitreihe:
Example time series: (T1, -), (T2, -), (T3, 0), (T4, 1), (T5, 0), (T6, -)
Im vorherigen Ausdruck bedeutet (T1, -)
, dass für den Zeitpunkt T1
kein Wert geschrieben wurde. Dies entspricht einer Lücke in den Werten der Zeitreihe.
Im Gegensatz dazu bedeutet (T3, 0)
, dass der Wert der Zeitreihe zum Zeitpunkt T3
null ist.
Für jeden Stream bestimmt das Back-End-System für logbasierte Messwerte anhand der folgenden Regeln, welcher Wert in die vom Monitoring gespeicherte Zeitreihe geschrieben werden soll:
Wenn die aggregierte Anzahl für ein Intervall ungleich Null ist, wird dieser Wert in die Zeitreihe geschrieben.
In der Beispielzeitreihe hat nur das Intervall
T4
einen Wert ungleich 0. Der Wert1
gibt an, dass ein Logeintrag mit einem Zeitstempel, der dem IntervallT4
entspricht, dem Filter des logbasierten Messwerts entsprach.Wenn die zusammengefasste Anzahl für ein Intervall null ist, wird in die Zeitreihe der Wert „0“ geschrieben, wenn ein benachbartes Intervall einen Wert ungleich null hat.
In der Beispielzeitreihe beträgt die zusammengefasste Anzahl zum Zeitpunkt
T3
0. Es wird jedoch der Wert 0 geschrieben, da die aggregierte Anzahl zum ZeitpunktT4
ungleich 0 ist. Ebenso ist die zusammengefasste Anzahl zu ZeitpunktT5
gleich null. In die Zeitreihe wird der Wert 0 geschrieben, da der Wert für das vorherige Intervall ungleich 0 war.Andernfalls wird die Zeitreihe nicht aktualisiert und es gibt eine Datenlücke für das Intervall.
In der Beispielzeitreihe gibt es für die Intervalle
T1
,T2
undT6
keinen Wert. In diesen Intervallen waren die zusammengefassten Werte null und die Werte für die benachbarten Intervalle ebenfalls.
Umgang mit spät ankommenden und zukünftigen Logeinträgen
Wenn Logeinträge mit einem Zeitstempel für ein bereits verarbeitetes Intervall eingehen, generiert das Logging-Backend Verlaufsdaten. Die Verlaufsdaten werden verwendet, um die zuvor geschriebenen Zählungen zu aktualisieren.
Wenn Logeinträge mit einem Zeitstempel in der Zukunft eintreffen, werden diese Werte vom Logging-Backend erfasst. In der Zeitreihe werden diese Logeinträge gezählt, wenn ihr Zeitstempel dem aktuellen Intervall entspricht.
Quellen für logbasierte Messwerte
Sie können die von Cloud Logging definierten Messwerte verwenden, um allgemeine Nutzungsinformationen zu erfassen. Außerdem können Sie eigene logbasierte Messwerte definieren, um Informationen zu erfassen, die für Ihre Anwendung oder Ihr Unternehmen spezifisch sind.
Logbasierte Messwerte können für ein einzelnes Google Cloud Projekt oder für einen Log-Bucket gelten. Sie können keine logbasierten Messwerte für andere Google Cloud Ressourcen wie Cloud-Rechnungskonten oder Organisationen erstellen.
Informationen zu den Unterschieden zwischen projektbasierten und bucketbasierten logbasierten Messwerten finden Sie unter Logbasierte Messwerte auf Bucketebene.
Systemdefinierte Messwerte
Logging bietet eine Reihe von Messwerten für Nutzungswerte, z. B. die Anzahl der Logeinträge, die in Log-Buckets in Ihrem Projekt gespeichert sind, oder die Anzahl der von Ihnen exportierten Byte. Eine vollständige Liste der systemdefinierten Messwerte finden Sie unter Google Cloud metrics: logging.
Benutzerdefinierte Messwerte
Sie können benutzerdefinierte logbasierte Messwerte erstellen, um andere Messwerte zu erfassen, die für Ihr Projekt wichtig sind. Beispiel: Sie können einen logbasierten Messwert erstellen, um die einem bestimmten Filter entsprechenden Logeinträge zu zählen.
Benutzerdefinierte logbasierte Messwerte werden standardmäßig aus allen Logs berechnet, die von der Logging API für das Google Cloud -Projekt empfangen werden, unabhängig von Aufnahmefiltern oder Ausschlussfiltern, die für dasGoogle Cloud -Projekt gelten können.
Sie können auch benutzerdefinierte logbasierte Messwerte für einen bestimmten Log-Bucket in einem Google Cloud Projekt erstellen. Logbasierte Messwerte auf Bucket-Ebene werden aus allen Logs berechnet, die für den Bucket bestimmt sind, unabhängig von ihrem Ursprung. Weitere Informationen finden Sie unter Logbasierte Messwerte für Log-Buckets.
Datentypen für logbasierte Messwerte
Mit logbasierten Messwerten können Daten aus Protokollen extrahiert werden, um Messwerte der folgenden Typen zu erstellen:
- Zähler: Diese Messwerte zählen die Anzahl der Logeinträge, die innerhalb eines bestimmten Zeitraums mit einem bestimmten Filter übereinstimmen. Verwenden Sie Zähler, wenn Sie verfolgen möchten, wie oft ein Wert oder String in Ihren Protokollen vorkommt.
- Verteilung: Bei diesen Messwerten werden auch Werte gezählt, die Ergebnisse werden jedoch in Wertebereiche (Histogramm-Buckets) zusammengefasst. Verwenden Sie Verteilungen, wenn Sie Werte wie Latenzen extrahieren möchten.
- Boolescher Wert: Diese Messwerte erfassen, ob ein Logeintrag mit einem bestimmten Filter übereinstimmt.
Benutzerdefinierte logbasierte Messwerte können Zähler- oder Verteilungsmesswerte sein. Die meisten systemdefinierten logbasierten Messwerte sind Zähler, einige sind jedoch auch boolesch. Die Merkmale von Zählern und Verteilungen werden in den folgenden Abschnitten ausführlicher beschrieben.
Die Daten für einen benutzerdefinierten logbasierten Messwert stammen nur aus Logeinträgen, die nach der Erstellung des Messwerts empfangen wurden. Ein Messwert wird nicht rückwirkend mit Daten aus Logeinträgen gefüllt, die bereits in Logging vorhanden waren.
Logbasierte Systemmesswerte werden nur anhand der eingeschlossenen Logs berechnet. Benutzerdefinierte logbasierte Messwerte werden sowohl anhand der eingeschlossenen als auch anhand der ausgeschlossenen Logs berechnet.
In den folgenden Abschnitten werden die Merkmale von Zähler- und Verteilungsmesswerten beschrieben.
Zählermesswerte
Zählermesswerten erfassen die Anzahl an Logeinträgen, die mit einem bestimmten Filter übereinstimmen. Sie haben zum Beispiel folgende Möglichkeiten:
- Zählen der Logeinträge, die eine bestimmte Fehlermeldung enthalten
Zählen Sie, wie oft einzelne Nutzer einen Vorgang aufrufen. Dazu suchen Sie nach Lognachrichten, die diesem Muster entsprechen:
... user USERNAME called OPERATION ...
Wenn Sie USERNAME und OPERATION extrahieren und als Werte für zwei Label verwenden, können Sie später z. B. fragen: "Wie oft hat
sally
den Vorgangupdate
aufgerufen?", "Wie viele Personen haben denread
-Vorgang aufgerufen?", "Wie oft hatgeorge
einen Vorgang aufgerufen?".
Weitere Informationen finden Sie unter Zählermesswerte konfigurieren.
Verteilungsmesswerte
Verteilungsmesswerte erfassen numerische Daten aus Logeinträgen, die mit einem Filter übereinstimmen. Die Messwerte enthalten eine Zeitachse mit Verteilungsobjekten, die jeweils Folgendes umfassen:
- Die Anzahl der Werte in der Verteilung
- Den Mittelwert der Werte
- Die Summe der Abweichungen im Quadrat: Summei=1..n(xi–Mittelwert)2
- Eine Reihe von Histogramm-Buckets mit der Anzahl der Werte in jedem Bucket. Sie können das Standardlayout für Buckets verwenden oder ein eigenes Layout auswählen.
Verteilungsmesswerte werden oft zum Verfolgen von Latenzen genutzt. Aus jedem empfangenen Logeintrag wird unmittelbar ein Latenzwert extrahiert und der Verteilung hinzugefügt. Die akkumulierte Verteilung wird in regelmäßigen Intervallen in Cloud Monitoring geschrieben.
Informationen zu Verteilungen und zugehörigen Formaten innerhalb einer Zeitachse und ihrer Visualisierung finden Sie unter Verteilungsmesswerte in Diagrammen darstellen.
Informationen zum Erstellen logbasierter Verteilungsmesswerte finden Sie unter Verteilungsmesswerte konfigurieren.
Ressourcentypen
Wir empfehlen, für Ihre protokollbasierten Messwerte einen einzelnen Ressourcentyp anzugeben. Mit dieser Angabe wird sichergestellt, dass die für Ihren protokollbasierten Messwert generierte Zeitreihe dem von Cloud Monitoring erwarteten Datenmodell entspricht. Außerdem wird das Erstellen von Diagrammen und Benachrichtigungsrichtlinien vereinfacht, da keine Unklarheiten darüber bestehen, welche Zeitreihendaten in Diagrammen dargestellt oder überwacht werden.
Angenommen, Sie haben einen logbasierten Messwert mit dem folgenden Filter:
severity>="ERROR"
resource.type="gce_instance"
Cloud Monitoring erkennt, dass diese Daten zu einer Compute Engine-VM-Instanz gehören. Wenn Sie also ein Diagramm für eine VM-Instanz erstellen, wird der logbasierte Messwert in den Menüs als Option aufgeführt. Wenn Sie ein Diagramm für einen anderen Ressourcentyp erstellen, wird der logbasierte Messwert nicht als Option aufgeführt.
Wenn Sie einen logbasierten Messwert erstellen, ohne einen Ressourcentyp anzugeben, wird er in der Überwachung als Option für mehrere Ressourcentypen aufgeführt, auch wenn Sie Einträge aus diesen Ressourcen nicht zählen.
Labels
Logbasierte Messwerte können Labels haben, mit denen mehrere Zeitachsen für den Messwert erfasst werden können. Die Werte für die Labels werden aus den Feldern in den übereinstimmenden Logeinträgen extrahiert. In Logging wird für jede Kombination aus Labelwerten eine separate Zeitachse aufgezeichnet.
Die meisten logbasierten Messwerte haben ein Standardlabel vom Typ log
.
Dieses Label enthält den Wert des Teils LOG_ID des Felds logName
im Logeintrag, z. B. cloudresourcemanager.googleapis.com%2Factivity
.
Logbasierte Systemmesswerte haben vordefinierte Labels, die nicht geändert werden können.
Benutzerdefinierte logbasierte Messwerte können von Ihnen definierte Labels enthalten. Normalerweise werden mit diesen Labels Werte aus den Logeinträgen extrahiert, die zum logbasierten Messwert beitragen.
Sie können beispielsweise Labels im protokollbasierten Messwert verwenden, um den Ordner oder die Organisation zu erfassen, aus dem bzw. der ein Logeintrag stammt, auch wenn protokollbasierte Messwerte auf Bucketebene nicht für Ordner oder Organisationen erstellt werden können. Weitere Informationen finden Sie unter Labels von logbasierten Messwerten.
Diagramme und Benachrichtigungsrichtlinien in Cloud Monitoring
Sie können Diagramme und Benachrichtigungsrichtlinien in Cloud Monitoring sowohl mit logbasierten Systemmesswerten als auch mit benutzerdefinierten logbasierten Messwerten erstellen. Bei diesen Diagrammen und Benachrichtigungsrichtlinien können Sie Zeitreihen mithilfe von Labels filtern oder kombinieren. Sie können beispielsweise einen Filter festlegen, um nur bestimmte Zeitreihen anzuzeigen. Weitere Informationen finden Sie unter Logbasierte Messwerte auflisten und in Diagrammen darstellen und Benachrichtigungen zu logbasierten Messwerten.
In Cloud Monitoring verwenden logbasierte Messwerte folgende Benennungsmuster:
- System:
logging.googleapis.com/SYSTEM_METRIC_NAME
- Benutzerdefiniert:
logging.googleapis.com/user/USER_METRIC_NAME
Benutzerdefinierte logbasierte Messwerte enthalten den String user
.
Sichtbarkeit von Monitoring-Messwertbereichen
Logbasierte Messwerte werden in Cloud Monitoring aufgenommen. Die Sichtbarkeit von Messwertdaten für ein Google Cloud Projekt wird durch einen Messwertbereich bestimmt. Ein Messwertbereich ist eine Liste von Projekten, die vom Projekt überwacht werden, in dem der Messwertbereich gehostet wird. Das Hostingprojekt wird als Scoping-Projekt bezeichnet.
Standardmäßig beherbergt jedes Projekt einen Messwertbereich, der nur sich selbst umfasst. Ein Projekt ist also ein Scoping-Projekt für sich selbst. Ihre Messwerte, einschließlich der logbasierten Messwerte, sind daher nur für IhrGoogle Cloud -Projekt sichtbar.
Sie können auch einen Messwertbereich für mehrere Projekte für das Projekt zum Festlegen des Umfangs erstellen. Bei einem Messwertbereich für mehrere Projekte sind die Messwerte aller Projekte im Messwertbereich im den Bereich festlegenden Projekt sichtbar. Was für die einzelnen Projekte in einem Messwertbereich mit mehreren Projekten sichtbar ist, wird durch den Messwertbereich bestimmt, der von jedem dieser Projekte gehostet wird. Wenn sich zwei Projekte in einem Messwertbereich mit mehreren Projekten befinden, bedeutet das nicht, dass jedes Projekt Zugriff auf die Mess- oder Konfigurationsdaten des anderen Projekts hat.
Ein einzelnes Projekt kann auch in mehreren Messwertbereichen erscheinen. Die Messwerte aus einem solchen Projekt sind für die Scoping-Projekte jedes dieser Messwertbereiche sichtbar.
Messwerte, einschließlich logbasierter Messwerte, werden in einem bestimmten Projekt definiert. Wenn dieses Projekt in mehreren Messwertbereichen enthalten ist, sind die Messwerte auch für andere Projekte sichtbar, als das, in dem sie definiert sind. Informationen dazu, wie Messwertbereiche und logbasierte Messwerte auf Bucketebene zusammenwirken, finden Sie unter Projekte und Messwertbereiche.
Weitere Informationen zu Messwertbereichen, einschließlich Messwertbereichen für mehrere Projekte, und zum Projektumfang finden Sie unter:
Preise
Alle benutzerdefinierten logbasierten Messwerte sind eine Klasse von Cloud Monitoring-benutzerdefinierten Messwerten und sind kostenpflichtig. Preisinformationen finden Sie unter Cloud Logging – Preise: Logbasierte Messwerte.
Kontingent
Informationen zu den Kontingenten und Limits für benutzerdefinierte logbasierte Messwerte finden Sie unter Kontingente und Limits.
Fehlerbehebung
Wenn bei der Verwendung logbasierter Messwerte Probleme auftreten, lesen Sie die Informationen unter Fehlerbehebung bei logbasierten Messwerten.