Logbasierte Messwerte – Übersicht

Diese Seite bietet eine konzeptionelle Übersicht über logbasierte Messwerte. Mithilfe dieser Messwerte können Sie Trends und Muster in einer großen Menge von Logeinträgen beobachten.

Logbasierte Messwerte

Logbasierte Messwerte sind Cloud Monitoring-Messwerte, die aus dem Inhalt von Logeinträgen abgeleitet werden. 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 darstellen und Benachrichtigungsrichtlinien können diese Messwerte überwachen.

Logbasierte Messwerte können auf Projekt- oder Log-Bucket-Ebene angewendet werden. Logbasierte Messwerte auf Bucket-Ebene sind nützlich, wenn Sie aggregierte Senken verwenden, um Logeinträge an einen Log-Bucket weiterzuleiten, und wenn Sie Logeinträge aus einem Projekt an einen Log-Bucket in einem anderen Projekt weiterleiten. Weitere Informationen finden Sie auf dieser Seite im Abschnitt Quellen logbasierter Messwerte.

Zeitreihenwerte für logbasierte Messwerte ermitteln

In diesem Abschnitt wird kurz beschrieben, wie die Werte in einer Zeitreihe für einen logbasierten Messwert vom Typ „Zähler“ bestimmt werden. Außerdem wird beschrieben, warum eine Zeitreihe für einen logbasierten Messwert Lücken aufweisen kann. Der Vorgang ist für logbasierte Messwerte mit Verteilungswerten ähnlich.

Bei logbasierten Messwerten vom Typ „Zähler“ führt Logging folgende Aktionen aus:

  1. Es werden ein oder mehrere Datenstreams erstellt und für jeden Stream wird eine Reihe von In-Memory-Zählern verwaltet.

    Für jede Kombination aus eindeutigen Werten für die Gruppe von Messwert- und Ressourcenlabels gibt es einen Stream. Jeder In-Memory-Zähler ist für ein anderes Zeitintervall vorgesehen. Jeder Zähler erfasst jedoch die Anzahl der Logeinträge, die dem Filter entsprechen und einen Zeitstempel haben, der dem Intervall entspricht.

  2. Das Logging-Backend verwendet jede Minute für jeden Stream die Werte der In-Memory-Zähler, um zu bestimmen, wie eine von Cloud Monitoring verwaltete Zeitachse aktualisiert werden soll.

    Wenn es fünf Streams gibt, werden fünf Zeitreihen von Monitoring verwaltet. Sie können diese Zeitreihen in einem Diagramm darstellen. Sie können auch Benachrichtigungsrichtlinien erstellen, um diese Zeitreihen zu überwachen.

Beispiel: Wie Nullwerte Datenlücken verursachen 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 verwendet das Back-End-System für logbasierte Messwerte die folgenden Regeln, um zu bestimmen, welcher Wert in die von Monitoring gespeicherte Zeitachse 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 null. Der Wert von 1 gibt an, dass ein Logeintrag mit einem Zeitstempel, der dem Intervall T4 entspricht, dem Filter des logbasierten Messwerts entsprochen hat.

  • Wenn die aggregierte Anzahl für ein Intervall null ist, wird ein Wert von null in die Zeitreihe geschrieben, wenn ein benachbartes Intervall einen Wert ungleich null hat.

    In der Beispielzeitreihe ist die aggregierte Anzahl zum Zeitpunkt T3 null. Es wird jedoch ein Wert von null geschrieben, da die aggregierte Anzahl zum Zeitpunkt T4 ungleich null ist. Ebenso ist die aggregierte Anzahl zum Zeitpunkt T5 null. In die Zeitreihe wird der Wert „0“ geschrieben, da der Wert für das vorherige Intervall ungleich null war.

  • Andernfalls wird die Zeitachse nicht aktualisiert und es gibt eine Datenlücke für das Intervall.

    In der Beispielzeitreihe gibt es keinen Wert für die Intervalle T1, T2 und T6. In diesen Intervallen war die aggregierte Anzahl null und die Anzahl für die angrenzenden Intervalle war ebenfalls null.

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 Zählungen im Logging-Backend akkumuliert. In der Zeitachse werden diese Logeinträge gezählt, wenn ihr Zeitstempel dem aktuellen Intervall entspricht.

Quellen logbasierter Messwerte

Sie können die von Cloud Logging definierten Messwerte verwenden, um allgemeine Nutzungsinformationen zu erfassen. Außerdem können Sie einen eigenen logbasierten Messwert definieren, um Informationen zu erfassen, die für Ihre Anwendung oder Ihr Unternehmen spezifisch sind.

Logbasierte Messwerte können in einem einzelnen Google Cloud Projekt oder in einem Log-Bucket angewendet werden. 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 mit Bucket-Bereich.

Systemdefinierte Messwerte

Logging bietet eine Reihe von Messwerten für Nutzungswerte wie die Anzahl der Logeinträge, die in Log-Buckets in Ihrem Projekt gespeichert sind, oder die Anzahl der exportierten Byte. Eine vollständige Liste der systemdefinierten Messwerte finden Sie unter Google Cloud Messwerte: Logging.

Systemdefinierte logbasierte Messwerte gelten auf Projektebene.

Der Log-Router zählt einen Logeintrag, wenn alle folgenden Bedingungen erfüllt sind:

  • Der Logeintrag wird über die Logsinks des Projekts weitergeleitet, in dem der logbasierte Messwert definiert ist.
  • Der Logeintrag wird in einem Log-Bucket gespeichert. Der Log-Bucket kann sich in einem beliebigen Projekt befinden.

    Angenommen, das Projekt A hat eine Logs-Senke, deren Ziel das Projekt B ist. Nehmen Sie außerdem an, dass die Logsenken im Projekt B die Logeinträge an ein Log-Bucket weiterleiten. In diesem Szenario tragen die Logeinträge, die von Projekt A zu Projekt B weitergeleitet werden, zu den systemdefinierten logbasierten Messwerten von Projekt A bei. Diese Logeinträge werden auch für die systemdefinierten logbasierten Messwerte des Projekts B berücksichtigt.

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.

Standardmäßig werden benutzerdefinierte logbasierte Messwerte aus allen Logs berechnet, die von der Logging API für das Google Cloud -Projekt empfangen werden, unabhängig von Einschlussfiltern 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 mit Bucket-Bereich werden aus allen Logs berechnet, die für den Bucket bestimmt sind, unabhängig davon, woher sie stammen. Weitere Informationen finden Sie unter Logbasierte Messwerte in Log-Buckets.

Der Log-Router zählt einen Logeintrag, wenn alle folgenden Bedingungen erfüllt sind:

  • Die Abrechnung ist für das Projekt aktiviert, in dem der logbasierte Messwert definiert ist.
  • Bei Messwerten auf Bucket-Ebene wird der Logeintrag in dem Log-Bucket gespeichert, in dem der logbasierte Messwert definiert ist.
  • Bei Messwerten auf Projektebene durchläuft der Logeintrag die Logsinks des Projekts, in dem der logbasierte Messwert definiert ist.

Datentypen für logbasierte Messwerte

Mit logbasierten Messwerten können Daten aus Logs extrahiert werden, um Messwerte der folgenden Typen zu erstellen:

  • Zähler: Mit diesen Messwerten wird die Anzahl der Logeinträge gezählt, die innerhalb eines bestimmten Zeitraums einem angegebenen Filter entsprechen. Mit Zählern können Sie erfassen, wie oft ein Wert oder String in Ihren Logs vorkommt.
  • Verteilung: Bei diesen Messwerten werden auch Werte gezählt, die Zählungen werden jedoch in Wertebereichen (Histogramm-Buckets) erfasst. Verwenden Sie Verteilungen, wenn Sie Werte wie Latenzen extrahieren möchten.
  • Boolesch: Diese Messwerte erfassen, ob ein Logeintrag mit einem angegebenen 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:

  • Logeinträge zählen, 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 Vorgang update aufgerufen?", "Wie viele Personen haben den read-Vorgang aufgerufen?", "Wie oft hat george 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, einschließlich ihres Formats 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, dass Ihre logbasierten Messwerte einen einzelnen Ressourcentyp angeben. Diese Spezifikation sorgt dafür, dass die für Ihren logbasierten Messwert generierte Zeitachse dem von Cloud Monitoring erwarteten Datenmodell entspricht. Außerdem wird das Erstellen von Diagrammen und Benachrichtigungsrichtlinien vereinfacht, da eindeutig ist, welche Zeitreihendaten 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 für eine Compute Engine-VM-Instanz bestimmt sind. Wenn Sie also ein Diagramm für eine VM-Instanz erstellen, wird Ihr logbasierter Messwert in den Menüs als Option aufgeführt. Wenn Sie ein Diagramm für einen anderen Ressourcentyp erstellen, wird Ihr logbasierter Messwert nicht als Option aufgeführt.

Wenn Sie einen logbasierten Messwert erstellen, ohne einen Ressourcentyp anzugeben, wird er in Monitoring als Option für mehrere Ressourcentypen aufgeführt, obwohl Sie keine Einträge aus diesen Ressourcen 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 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 für diese Labels Werte aus den Logeinträgen extrahiert, die zum logbasierten Messwert beitragen.

Sie können beispielsweise Labels im logbasierten Messwert verwenden, um den Ordner oder die Organisation aufzuzeichnen, aus dem ein Logeintrag stammt, obwohl logbasierte Messwerte mit Bucket-Bereich 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 Labels verwenden, um Zeitreihen zu filtern oder zu 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 für logbasierte Messwerte einrichten.

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 von 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 von dem Projekt überwacht werden, das den Messwertbereich hostet. Das Hosting-Projekt wird als Bereichsprojekt bezeichnet.

Standardmäßig wird in jedem Projekt ein Messwertbereich gehostet, der nur das Projekt selbst enthält. Ein Projekt ist also ein den Bereich festlegendes Projekt für sich selbst. Daher sind Ihre Messwerte, einschließlich logbasierter Messwerte, nur für IhrGoogle Cloud -Projekt sichtbar.

Sie können auch einen Messwertbereich für mehrere Projekte für das Projekt mit dem Bereich erstellen. Mit einem Messwertbereich für mehrere Projekte kann das den Bereich festlegende Projekt die Messwerte aus allen Projekten im Messwertbereich sehen. 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. Die Tatsache, dass sich zwei Projekte in einem Messwertbereich mit mehreren Projekten befinden, bedeutet nicht, dass jedes Projekt Zugriff auf die Messwert- oder Konfigurationsdaten im anderen Projekt hat.

Ein einzelnes Projekt kann auch in mehreren Messwertbereichen enthalten sein. Die Messwerte eines solchen Projekts sind für die den Bereich festlegenden Projekte der jeweiligen Messwertbereiche sichtbar.

Messwerte, einschließlich logbasierter Messwerte, werden in einem bestimmten Projekt definiert. Wenn dieses Projekt in mehreren Messwertbereichen enthalten ist, sind die Messwerte für andere Projekte als das sichtbar, in dem sie definiert sind. Informationen zur Interaktion zwischen Messwertbereichen und bucketbezogenen logbasierten Messwerten finden Sie unter Projekte und Messwertbereiche.

Weitere Informationen zu Messwertbereichen, einschließlich Messwertbereichen für mehrere Projekte, und zum Projektumfang finden Sie unter:

Beschränkungen

Sie können keine logbasierten Messwerte erstellen, mit denen die Anzahl der Logeinträge gezählt wird, die eine Fehlergruppe enthalten. Außerdem können Sie die ID einer Fehlergruppe nicht in ein Label extrahieren, das an einen logbasierten Messwert angehängt ist.

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 nutzerdefinierte 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.