Auf dieser Seite wird beschrieben, wie Sie Benachrichtigungsrichtlinien und -diagramme erstellen, um das von Google Cloud Ihnen zugewiesene Kontingent zu überwachen. Google Cloud legt eine Reihe von Kontingenten fest, mit denen Sie die von einem Projekt oder einer Organisation genutzten Ressourcen erfassen und begrenzen können. Allgemeine Informationen zu Kontingenten, einschließlich Informationen zu Kontingenten und Preiskontingenten, finden Sie unter Mit Kontingenten arbeiten.
Hinweis
Auf dieser Seite wird davon ausgegangen, dass Sie mit Zeitachsendaten und ihrer Manipulation vertraut sind. Auf den folgenden Seiten finden Sie weitere Informationen:
- Informationen zum Arbeiten mit Zeitachsendaten finden Sie unter Filter und Aggregation.
- Definitionen der Begriffe Gauge, Delta und kumuliert finden Sie unter Arten von Messwerten.
- Weitere Informationen zu den Funktionen, die für die Kombination von Zeitachsen verwendet werden, finden Sie unter
Aligner
undReducer
.
Mit Kontingentmesswerten arbeiten
Cloud Monitoring verwaltet das Kontingent auf zwei Arten:
Nutzerkontingent. Bei dieser Art von Kontingent lautet die überwachte Ressource
consumer_quota
. Die Messwerte für diese Ressource sind eine Teilmenge derserviceruntime
Messwerte.Die meisten Beispiele auf dieser Seite sind Beispiele für Nutzerkontingente.
Ressourcenspezifische Kontingente. Einige Dienste bieten überwachte Ressourcen mit ressourcenspezifischen Messwerten für Kontingente. Diese Messwerttypen werden in dreier Gruppen nach folgendem Muster angezeigt:
service/quota/quota-type/exceeded
service/quota/quota-type/limit
service/quota/quota-type/usage
Compute Engine hat beispielsweise die Ressource
compute.googleapis.com/VpcNetwork
. Die mit dieser Ressource verknüpften kontingentbezogenen Messwerte sind diecompute.googleapis.com/quota
-Teil dercompute
-Messwerte. Es gibt drei Messwerttypen in Bezug auf das Kontingent "Instanzen pro VPC-Netzwerk":quota/instances_per_vcp_network/exceeded
quota/instances_per_vcp_network/limit
quota/instances_per_vcp_network/usage
Kontingentmesswerte und Limitnamen identifizieren
Rohdaten zum Kontingentverbrauch, insbesondere für das Nutzerkontingent, können Informationen zu vielen verschiedenen Kontingenten enthalten. Um Informationen zu einem bestimmten Kontingent für ein Diagramm oder eine Benachrichtigungsrichtlinie zu extrahieren, müssen Sie diese Teilmenge der Kontingentdaten identifizieren.
Je nach Quelle können Kontingentdaten Labels enthalten, mit denen Sie die gewünschten Informationen isolieren können. Diese Labels umfassen:
- Kontingentmesswert: Der Kontingentmesswert ist eine Kennzeichnung für einen Kontingenttyp. Er ist nicht einer der in der Messwertliste beschriebenen Messwerttypen. Beispielsweise werden alle Nutzerkontingentdaten als
serviceruntime.googleapis.com
-Messwerttyp wiequota/allocation/usage
geschrieben. Dieser Messwerttyp bietet das Labelquota_metric
, mit dem nach einem bestimmten Kontingent gefiltert werden kann, z. B. Daten zur Zuweisungsnutzung. - Limitname: Der Limitname gibt ein Limit für einen bestimmten Kontingenttyp an.
Mit einem Kontingent kann mehr als ein Limit verknüpft sein. Ein Kontingent für Leseaufrufe kann beispielsweise ein Limit von 100 Minuten und ein Tageslimit von 1.000 mit zwei Limitnamen
readsPerMinute
undreadsPerDay
haben. Kontingentbezogene Messwerttypen können das Feldlimit_name
für diesen Wert enthalten.
Alle serviceruntime.googleapis.com/quota
-Messwerttypen bieten das Label quota_metric
, aber nur einige haben das Label limit_name
.
Die ressourcenspezifischen Messwerttypen für das Kontingent enthalten das Label limit_name
.
So ermitteln Sie bestimmte Kontingentmesswerte und Limitnamen:
Rufen Sie in der Google Cloud Console die Seite Kontingente für den Administrator auf:
Suchen Sie das gewünschte Kontingent und klicken Sie auf Alle Kontingente.
Wenn ein Dienst Kontingentmesswerte unterstützt, werden die Felder Kontingentmesswert und Limitname angezeigt. Der folgende Screenshot für das Kontingent der Compute Engine API-Subnetzwerke zeigt beispielsweise, dass der Kontingentmesswert
compute.googleapis.com/subnetworks
und der LimitnameSUBNETWORKS-per-project
ist:
Wenn in den detaillierten Informationen ein Kontingentmesswert oder ein Limitname nicht aufgeführt ist, unterstützt der Dienst keine Kontingentmesswerte.
Wenn die Detailinformationen keine überwachte Ressource enthalten, lautet die überwachte Ressource consumer_quota
. Andernfalls ist das auf der Detailseite angezeigte Kontingent ein ressourcenspezifisches Kontingent für die benannte überwachte Ressource. Im vorherigen Screenshot ist keine überwachte Ressource explizit aufgeführt, sodass das Kontingent die überwachte Ressource consumer_quota
verwendet.
Beispiel: Nutzung eines bestimmten Nutzerkontingent-Messwerts ansehen
Ziel ist es, ein Diagramm zu erstellen, das nach Region, dem Gesamtspeicherkontingent in Compute Engine, zeigt. In diesem Beispiel für ein Nutzerkontingent werden quota/allocation/usage
-Daten abgerufen und anschließend so gefiltert, dass die Zuordnung für einen bestimmten Kontingentmesswert angezeigt wird:
Wählen Sie in der Google Cloud Console Cloud Monitoring und dann Metrics Explorer aus.
Konfigurieren Sie den Metrics Explorer, um die Nutzung des Zuteilungskontingents aufzurufen. Setzen Sie dazu den Ressourcentyp auf Nutzerkontingent und wählen Sie als Messwerttyp Nutzung von Zuteilungskontingenten aus:
Das Diagramm zeigt die Nutzung des Zuteilungskontingents als Balkendiagramm für den Zeitraum von sechs Wochen an. Wenn Sie die Legende aufrufen, sehen Sie, dass das Diagramm die Kontingentnutzung für mehrere Dienste anzeigt.
Wenn Sie die Cloud Monitoring API verwenden, lautet der entsprechende Filterwert:
metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota"
Fügen Sie den Filter
service = "compute.googleapis.com"
hinzu, um das Diagramm auf den Compute Engine-Dienst zu beschränken:Wenn Sie die Cloud Monitoring API verwenden, lautet der entsprechende Filterwert:
metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" resource.label.service="compute.googleapis.com"
Im Diagramm wird nun die Zeitachse für die zugewiesene Kontingentnutzung für Compute Engine-Kontingente angezeigt. Die Legende zeigt den Wert des Labels
quota_metric
für jede angezeigte Zeitachse an. Dieser Wert gibt das spezifische Kontingent an. Beispiel:compute.googleapis.com/disks_total_storage
identifiziert die Zeitachse für das Gesamtspeicherkontingent auf Compute Engine.Das Diagramm zeigt die Kontingentnutzung nur für die erfassten Kontingente an. Wenn das Projekt keine Compute Engine-Ressourcen hat, führt die Filterung für den Dienst
compute.googleapis.com
zu einem Diagramm ohne Daten.Mit dem Filter
quota_metric = "compute.googleapis.com/disks_total_storage"
können Sie ein Diagramm erstellen, das die Gesamtspeicherkontingente von Compute Engine anzeigt:Wenn Sie die Cloud Monitoring API verwenden, lautet der entsprechende Filterwert:
metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" metric.label.quota_metric="compute.googleapis.com/disks_total_storage"
Die vorhergehende Karte zeigt Zeitreihen für die Regionen
us-centra1
undus-east1
sowie für mehrere Zonen, einschließlich der Zoneus-central1-a
.Um das Diagramm so zu verfeinern, dass nur Daten für die Regionen ohne die Zonen angezeigt werden, fügen Sie einen Filter auf Grundlage des Labels
location
hinzu. In diesem Beispiel, in dem beide Regionen das Präfixus-
haben und mit1
enden, funktioniert ein Filter, der den regulären Ausdrucklocation =~"^us.*1$"
verwendet, gut:
Bei Nutzerkontingenten bestimmt der Wert des Labels quota_metric
sowohl den Dienst als auch die spezifische Kontingentnutzung, die überwacht werden soll. Anhand dieser Informationen können Sie Diagramme oder Benachrichtigungsrichtlinien erstellen, die einen bestimmten Kontingentmesswert überwachen.
Benachrichtigungsrichtlinien in Cloud Monitoring
Mit Benachrichtigungsrichtlinien können Sie Cloud Monitoring so konfigurieren, dass Sie benachrichtigt werden, wenn etwas Wichtiges erreicht wird. So erreichen Sie etwa 85% des Limits für ein Kontingent.
Eine Benachrichtigungsrichtlinie ist eine Sammlung von Bedingungen und Benachrichtigungsinformationen:
- Eine Bedingung beschreibt, was überwacht wird, wie die Zeitachsedaten für diese Ressource kombiniert werden und wann eine Benachrichtigung generiert werden muss. Eine Benachrichtigungsrichtlinie muss mindestens eine Bedingung angeben.
- Der Benachrichtigungskanal gibt an, wer benachrichtigt werden soll und wie er benachrichtigt werden soll, wenn eine Benachrichtigung erfolgt. Beispielsweise können Sie die Benachrichtigungsrichtlinie so konfigurieren, dass E-Mails an eine bestimmte Person oder an eine Gruppe von Personen gesendet werden.
Es gibt zwei Verfahren, mit denen Sie Bedingungen für Benachrichtigungsrichtlinien erstellen können:
Mit Monitoring-Filtern Daten auswählen und bearbeiten Wenn Sie beispielsweise die grafische Benutzeroberfläche zum Erstellen von Bedingungen für Benachrichtigungsrichtlinien verwenden, erstellen Sie Filter. Im Beispiel unter Mit Kontingentmesswerten arbeiten werden Filter verwendet, um Daten für ein Diagramm auszuwählen. Sie können auch Filter in Anfragen an die Monitoring API verwenden.
Monitoring Query Language (MQL) zum Auswählen und Bearbeiten von Daten verwenden. MQL ist eine textbasierte Abfragesprache. Mit dem MQL-Abfrageeditor können Sie Abfragen erstellen, die Sie nicht mit der filterbasierten Technik erstellen können. Wir empfehlen die Erstellung von verhältnisbasierten Benachrichtigungsrichtlinien mit MQL. Weitere Informationen finden Sie unter Beispiele für MQL-Benachrichtigungsrichtlinien.
Auf dieser Seite werden beide Verfahren erläutert. Sie können Diagramme auch mithilfe beider Methoden erstellen.
Beispiele für Benachrichtigungsrichtlinien filtern
In diesem Abschnitt enthält jeder Unterabschnitt eine JSON-Darstellung einer Benachrichtigungsrichtlinie sowie zwei Tabellen, in denen die Konfiguration der Richtlinie in der Google Cloud Console beschrieben wird:
- Die erste Tabelle beschreibt, was überwacht wird und wie die Daten kombiniert werden.
- Die zweite Tabelle beschreibt, wann eine Benachrichtigung generiert werden soll.
Diese Beispiele beziehen sich auf den filterbasierten Ansatz.
Keine dieser Richtlinien berechnet die Verhältnisse. verhältnisbasierte Beispiele finden Sie unter MQL-Benachrichtigungsrichtlinien – Richtlinien.
Benachrichtigung bei quota/exceeded
-Fehlern
Sie können eine Benachrichtigungsrichtlinie erstellen, um Sie zu benachrichtigen, wenn ein Service in Ihrem Google Cloud-Projekt den Fehler "Kontingent überschritten" meldet. Sie können diesen Richtlinientyp mithilfe der Google Cloud Console oder mithilfe der Cloud Monitoring API erstellen.
Google Cloud Console verwenden
Der Rest des Inhalts in diesem Teilabschnitt bezieht sich auf das Bedingungsdialogfeld einer Benachrichtigungsrichtlinie.
Schließen Sie die Ausrichtung mithilfe der Einstellungen in der folgenden Tabelle.
Mit dieser Einstellung geben Sie an, dass Sie die Zeitachsendaten für den serviceruntime
Messwert /quota/exceeded
für alle Services in Ihrem Google Cloud-Projekt überwachen und die Daten nach Kontingentgrenze gruppieren möchten.
Bereich Ziel Feld |
Wert |
---|---|
Ressourcentyp | Geben Sie consumer_quota ein. |
Messwert | serviceruntime.googleapis.com/quota/exceeded auswählen |
Filter |
Fügen Sie einen Filter hinzu, damit im Diagramm nur Daten für den Dienst angezeigt werden, den Sie überwachen möchten. Damit Sie z. B. den Identitäts- und Zugriffsverwaltungsdienst überwachen können, fügen Sie den folgenden Filter hinzu: service = iam.googleapis.com. Wenn das Filterfeld leer ist, werden alle verfügbaren Messwertdaten im Diagramm angezeigt. |
Group By (Gruppieren nach) |
Wählen Sie
Bei dieser Option werden die Daten nach dem Namenstyp des |
Aggregator |
Wählen Sie Das Aggregationsfeld wird automatisch auf |
Zeitraum | Wählen Sie 1 m aus |
Erweiterte Aggregation | Ausrichter: count true
Dieser Messwert ist vom Typ Für diesen Messwert sind die Ausrichter-Einstellungen von |
Schließen Sie das Dialogfeld Konfiguration mit den folgenden Einstellungen ab. Diese Einstellungen bewirken, dass in der Benachrichtigungsrichtlinie eine Warnung erstellt wird, wenn die Anzahl der Fehler wegen überschrittener Kontingente den Wert 0 für 1 m überschreitet. Hier wird der Wert 0 ausgewählt, da Fehler aufgrund von Kontingentüberschreitungen unerwartet sind und ein Hinweis darauf sind, dass ein Kontingent erhöht werden muss oder dass ein Service geändert werden muss, um die API-Anfragen zu reduzieren. Sie können einen höheren Grenzwert verwenden.
Konfigurationsbereich – Feld |
Wert |
---|---|
Condition triggers if |
Any time series violates |
Condition |
is above |
Threshold |
0 |
For |
1 m |
Verwendung der Cloud Monitoring API
Sie können diese Benachrichtigungsrichtlinie mithilfe der API-Methode erstellen alertPolicies.create
. Sie können die Cloud Monitoring API direkt mit dem gcloud
-Befehlszeilentool oder mithilfe von Clientbibliotheken aufrufen. Weitere Informationen finden Sie unter Richtlinien erstellen.
Informationen zur Darstellung von Benachrichtigungsrichtlinien in JSON oder YAML finden Sie unter Beispielrichtlinien.
Eine Darstellung dieser Benachrichtigungsrichtlinie im JSON-Format folgt.
{
"combiner": "OR",
"conditions": [
{
"conditionThreshold": {
"aggregations": [
{
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"metric.label.quota_metric"
],
"perSeriesAligner": "ALIGN_COUNT_TRUE"
}
],
"comparison": "COMPARISON_GT",
"duration": "60s",
"filter": "metric.type=\"serviceruntime.googleapis.com/quota/exceeded\" resource.type=\"consumer_quota\"",
"trigger": {
"count": 1
}
},
"displayName": "Quota exceeded error by label.quota_metric SUM",
}
],
"displayName": "Quota exceeded policy",
}
Benachrichtigung über den absoluten quota/allocation/usage
Sie können eine Benachrichtigungsrichtlinie erstellen, damit Sie benachrichtigt werden, wenn die Nutzung von Zuteilungskontingenten für einen bestimmten Service in Ihrem Google Cloud-Projekt einen benutzerdefinierten Grenzwert überschreitet. Sie können diesen Richtlinientyp mithilfe der Google Cloud Console oder mithilfe der Cloud Monitoring API erstellen.
Google Cloud Console verwenden
Der Rest des Inhalts in diesem Teilabschnitt bezieht sich auf das Bedingungsdialogfeld einer Benachrichtigungsrichtlinie.
Schließen Sie die Ausrichtung mithilfe der Einstellungen in der folgenden Tabelle.
Mit dieser Einstellung geben Sie an, dass Sie die Zeitachsendaten für den serviceruntime
Messwert /quota/allocation/usage
für einen Service in Ihrem Google Cloud-Projekt überwachen und die Daten nach Kontingentgrenze gruppieren möchten.
Bereich Ziel Feld |
Wert |
---|---|
Ressourcentyp | Geben Sie consumer_quota ein. |
Messwert | serviceruntime.googleapis.com/quota/allocation/usage auswählen |
Filter |
Fügen Sie einen Filter hinzu, damit im Diagramm nur Daten für den Dienst angezeigt werden, den Sie überwachen möchten. Damit Sie z. B. den Identitäts- und Zugriffsverwaltungsdienst überwachen können, fügen Sie den folgenden Filter hinzu: service = iam.googleapis.com. Wenn das Filterfeld leer ist, werden alle verfügbaren Messwertdaten im Diagramm angezeigt. |
Group By (Gruppieren nach) |
Wählen Sie
Bei dieser Option werden die Daten nach dem Namenstyp des |
Aggregator |
Wählen Sie Das Aggregationsfeld wird automatisch auf |
Zeitraum | Wählen Sie 1440 m aus Der angegebene Zeitraum entspricht dem Stichprobenintervall für diesen Messwert. |
Erweiterte Aggregation | Ausrichter: next older Der Ausrichter wird auf |
Schließen Sie das Dialogfeld Konfiguration mit den folgenden Einstellungen ab. Durch diese Einstellungen wird in der Benachrichtigungsrichtlinie eine Warnung erstellt, wenn der Wert der Zeitachse für 1440 m über 2,5 liegt. Der Wert von 1440 m entspricht dem Ausrichtungszeitraum. Für dieses Beispiel wurde der Wert 2,5 ausgewählt, da er etwas höher als der Normalwert für das Testsystem ist. Wählen Sie den Schwellenwert basierend auf dem zu überwachenden Service in Kombination mit dem erwarteten Wertebereich für den Messwert aus.
Konfigurationsbereich – Feld |
Wert |
---|---|
Condition triggers if |
Any time series violates |
Condition |
is above |
Threshold |
2.5 |
For |
1440 m |
Verwendung der Cloud Monitoring API
Sie können diese Benachrichtigungsrichtlinie mithilfe der API-Methode erstellen alertPolicies.create
. Sie können die Cloud Monitoring API direkt mit dem gcloud
-Befehlszeilentool oder mithilfe von Clientbibliotheken aufrufen. Weitere Informationen finden Sie unter Richtlinien erstellen.
Informationen zur Darstellung von Benachrichtigungsrichtlinien in JSON oder YAML finden Sie unter Beispielrichtlinien.
Eine Darstellung dieser Benachrichtigungsrichtlinie im JSON-Format folgt.
{
"combiner": "OR",
"conditions": [
{
"conditionThreshold": {
"aggregations": [
{
"alignmentPeriod": "86400s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"metric.label.quota_metric"
],
"perSeriesAligner": "ALIGN_NEXT_OLDER"
}
],
"comparison": "COMPARISON_GT",
"duration": "84600s",
"filter": "metric.type=\"serviceruntime.googleapis.com/quota/allocation/usage\" resource.type=\"consumer_quota\" resource.label.\"service\"=\"iam.googleapis.com\"",
"thresholdValue": 2.5,
"trigger": {
"count": 1
}
},
"displayName": "Allocation quota usage for iam.googleapis.com by label.quota_metric SUM",
}
],
"displayName": "Absolute quota usage policy",
}
Beispiele für MQL-Benachrichtigungsrichtlinien
MQL ist eine textbasierte Abfragesprache, die eine Reihe von Vorgängen verwendet, die durch Pipes verbunden sind. Mit MQL können Sie leistungsstärkere und flexiblere Abfragen erstellen als mit Monitoring-Filtern. Wir empfehlen, für die Einrichtung verhältnisbasierter Benachrichtigungsrichtlinien MQL zu verwenden. Mit MQL können Sie beispielsweise ein Verhältnis für die Nutzung von Ratenkontingenten einrichten. Dazu müssen das Verhältnis eines Messungsmesswerts (das Limit) und ein Deltamesswert (die Rate) berechnet werden.
Sie können MQL-basierte Benachrichtigungsrichtlinien mithilfe der Cloud Console oder der Monitoring API erstellen:
Cloud Console: Verwenden Sie den MQL-Abfrageeditor, wenn Sie die Benachrichtigungsbedingung erstellen. Klicken Sie im Bedingungsfenster auf dem Tab Messwert auf code Abfrageeditor, um den Abfrageeditor aufzurufen. Weitere Informationen zur Verwendung dieses Editors finden Sie unter Abfrageeditor verwenden.
Monitoring API: Verwenden Sie die Methode
alertPolicies.create
und geben Sie eine Bedingung des TypsMonitoringQueryLanguageCondition
an. Dieser Bedingungstyp akzeptiert eine MQL-Abfrage als Feldwert. Weitere Informationen zur Verwendung der Monitoring API mit MQL finden Sie unter Bedingungen für MQL-Benachrichtigungsrichtlinien erstellen.
Spezifische Informationen zu MQL finden Sie unter Monitoring-Abfragesprache verwenden. Weitere Informationen zu MQL-basierten Benachrichtigungsrichtlinien finden Sie unter Benachrichtigungsrichtlinien mit MQL.
Verhältniswarnung zur Nutzung des Ratenkontingents für ein Limit
Das folgende MQL-Abfragemuster beschreibt eine Benachrichtigung, die beobachtet, wenn die Nutzung eines bestimmten Ressourcendienstes pro Minute 80% eines bestimmten Limits überschreitet:
fetch consumer_quota
| filter resource.service == 'sample.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/rate/net_usage
| align delta_gauge(1m)
| group_by [resource.project_id, metric.quota_metric, resource.location],
sum(value.net_usage)
; metric serviceruntime.googleapis.com/quota/limit
| filter metric.limit_name == 'myApiLimitPerDay'
| group_by [resource.project_id, metric.quota_metric, resource.location],
sliding(1m), max(val()) }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')
Wenn Sie dieses Abfragemuster verwenden möchten, müssen Sie die folgenden Änderungen vornehmen:
- Ersetzen Sie
sample.googleapis.com
durch den Dienst, den Sie überwachen möchten. - Ersetzen Sie
myApiLimitPerDay
durchmetric.limit_name
für das Limit, das Sie verfolgen möchten. Informationen zum Ermitteln von Limitnamen finden Sie unter Kontingentmesswerte und Limitnamen identifizieren. - Ersetzen Sie
1m
in den Funktionendelta_gauge
undsliding
durch ein entsprechendes Fenster für Ihr Limit.
Ändern Sie nicht den Vorgang every 1m
, der bestimmt, wie oft die Bedingung geprüft wird.
Sie können diese Abfrage nicht mit Filtern erstellen.
Verhältnisbenachrichtigung zur Verwendung des Ratenkontingents mit Platzhaltern
MQL unterstützt das Filtern mit Platzhaltern, regulären Ausdrücken und der booleschen Logik. Beispielsweise können Sie mit MQL eine Benachrichtigung erstellen, die mehrere Limits aufzeichnet und Sie warnt, wenn ein Grenzwert überschritten wird.
Das folgende MQL-Abfragemuster beschreibt eine Benachrichtigung, die beobachtet, wenn die Nutzung von Ressourcendiensten pro Minute oder pro Tag 80 % überschreitet:
fetch consumer_quota
| filter resource.service =~ '.*'
| { { metric serviceruntime.googleapis.com/quota/rate/net_usage
| align delta_gauge(1m)
| group_by [resource.project_id, metric.quota_metric, resource.location],
sum(value.net_usage)
; metric serviceruntime.googleapis.com/quota/limit
| filter metric.limit_name =~ '.*PerMinute.*'
| group_by [resource.project_id, metric.quota_metric, resource.location],
sliding(1m), max(val()) }
| ratio
; { metric serviceruntime.googleapis.com/quota/rate/net_usage
| align delta_gauge(1d)
| group_by [resource.project_id, metric.quota_metric, resource.location],
sum(value.net_usage)
; metric serviceruntime.googleapis.com/quota/limit
| filter metric.limit_name =~ '.*PerDay.*'
| group_by [resource.project_id, metric.quota_metric, resource.location],
sliding(1d), max(val()) }
| ratio }
| union
| every 1m
| condition gt(val(), 0.8 '1')
Wenn Sie dieses Abfragemuster verwenden möchten, müssen Sie die folgenden Änderungen vornehmen:
- Ersetzen Sie den regulären Ausdruck für
resource.service
durch einen regulären Ausdruck für die Dienste, die Sie verfolgen möchten. - Im ersten Verhältnis:
- Ersetzen Sie
.*PerMinute.*
fürmetric.limit_name
durch einen regulären Ausdruck für die erste Gruppe von Limits, die Sie verfolgen möchten. Informationen zum Ermitteln von Limitnamen finden Sie unter Kontingentmesswerte und Limitnamen identifizieren. - Ersetzen Sie
1m
in den Funktionendelta_gauge
undsliding
durch ein Fenster, das Ihren Limits entspricht.
- Ersetzen Sie
- Im zweiten Verhältnis:
- Ersetzen Sie
.*PerDay.*
fürmetric.limit_name
durch einen regulären Ausdruck für die zweite Gruppe von Limits, die Sie verfolgen möchten. - Ersetzen Sie
1d
in den Funktionendelta_gauge
undsliding
durch ein Fenster, das Ihren Limits entspricht.
- Ersetzen Sie
Ändern Sie nicht den Vorgang every 1m
, der bestimmt, wie oft die Bedingung geprüft wird.
Sie können diese Abfrage nicht mit Filtern erstellen.
Verhältnisbenachrichtigung zur Nutzung des Zuweisungskontingents für ein Limit
Das folgende MQL-Abfragemuster beschreibt eine Benachrichtigung, die überwacht, wenn die tägliche Nutzung eines bestimmten Ressourcendienstes 80% eines bestimmten Limits überschreitet:
fetch consumer_quota
| filter resource.service == 'sample.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
| align next_older(1d)
| group_by [resource.project_id, metric.quota_metric, resource.location],
max(val())
; metric serviceruntime.googleapis.com/quota/limit
| filter metric.limit_name == 'CPUs-per-project'
| align next_older(1d)
| group_by [resource.project_id, metric.quota_metric, resource.location],
min(val())
}
| ratio
| every 1m
| condition gt(val(), 0.8 '1')
Wenn Sie dieses Abfragemuster verwenden möchten, müssen Sie die folgenden Änderungen vornehmen:
- Ersetzen Sie
sample.googleapis.com
durch den Dienst, den Sie überwachen möchten. - Ersetzen Sie
CPUs-per-project
durchmetric.limit_name
für das Limit, das Sie verfolgen möchten. Informationen zum Ermitteln von Limitnamen finden Sie unter Kontingentmesswerte und Limitnamen identifizieren.
Ändern Sie nicht den Vorgang every 1m
, der bestimmt, wie oft die Bedingung geprüft wird.
Beispiel: CPU-Auslastung von 75% in jeder Region
Die folgende Abfrage erstellt eine Benachrichtigungsrichtlinie, die ausgelöst wird, wenn die CPU-Auslastung der Compute Engine-VM-Instanz über 75% des Limits in einer beliebigen Region liegt:
fetch consumer_quota
| filter resource.service == 'compute.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
| align next_older(1d)
| group_by [resource.project_id, metric.quota_metric, resource.location],
max(val())
; metric serviceruntime.googleapis.com/quota/limit
| filter metric.limit_name == 'CPUS-per-project-region'
| align next_older(1d)
| group_by [resource.project_id, metric.quota_metric, resource.location],
min(val())
}
| ratio
| every 1m
| condition gt(val(), 0.75 '1')
Diese Richtlinie für Nutzerkontingente verwendet den Kontingentnamen CPUS-per-project-region
im Kontingent "CPUs" der Compute Engine API. Informationen zum Suchen von Limitnamen finden Sie unter Kontingentmesswerte und Limitnamen identifizieren.
Verhältnisbenachrichtigung zur Nutzung des Zuweisungskontingents für einen Dienst
MQL unterstützt das Filtern mit Platzhaltern, regulären Ausdrücken und einer booleschen Logik. Sie können beispielsweise mit MQL eine Benachrichtigung erstellen, die mehrere Limits oder Dienste aufzeichnet, und warnt Sie, wenn ein Grenzwert überschritten wird.
Die folgende MQL-Abfrage beschreibt eine Benachrichtigung, die überwacht, wenn die tägliche Nutzung eines Ressourcendienstes 80% eines Kontingents für ein Kontingent überschreitet:
fetch consumer_quota
| filter resource.service =~ '.*'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
| align next_older(1d)
| group_by [resource.project_id, metric.quota_metric, resource.location],
max(val())
; metric serviceruntime.googleapis.com/quota/limit
| align next_older(1d)
| group_by [resource.project_id, metric.quota_metric, resource.location],
min(val())
}
| ratio
| every 1m
| condition gt(val(), 0.8 '1')
Sie können diese Abfrage wie dargestellt verwenden oder den regulären Ausdruck für resource.service
durch einen regulären Ausdruck für die Dienste, die Sie verfolgen möchten, ersetzen. Sie können auch nach einem bestimmten Dienst filtern und Platzhalter in einem Limitfilter verwenden.
Ändern Sie nicht den Vorgang every 1m
, der bestimmt, wie oft die Bedingung geprüft wird.
Beispiel: CPU-Auslastung über 50% in bestimmten Zonen
Die folgende Abfrage erstellt eine Benachrichtigungsrichtlinie, die ausgelöst wird, wenn die CPU-Nutzung von Compute Engine-VM-Instanzen in einer der Zonen vom Typ us-central1
mindestens 50% des Grenzwerts überschreitet. Diese Abfrage filtert die limit
-Daten nach einem Limitnamen und dem Ressourcenstandort:
fetch consumer_quota
| filter resource.service == 'compute.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
| align next_older(1d)
| group_by [resource.project_id, metric.quota_metric, resource.location],
max(val())
; metric serviceruntime.googleapis.com/quota/limit
| filter metric.limit_name == 'CPUS-per-project-zone' &&
resource.location =~ 'us-central1-.*'
| align next_older(1d)
| group_by [resource.project_id, metric.quota_metric, resource.location],
min(val())
}
| ratio
| every 1m
| condition gt(val(), 0.50 '1')
Diese Richtlinie für Nutzerkontingente verwendet den Kontingentnamen CPUS-per-project-zone
im Kontingent "CPUs" der Compute Engine API. Informationen zum Suchen von Limitnamen finden Sie unter Kontingentmesswerte und Limitnamen identifizieren.
Verhältnisbenachrichtigung mit ressourcenspezifisches Kontingent
Mit MQL können Sie Verhältnisse für ressourcenspezifische Messwerte einrichten. In diesem Fall geben Sie eine dienstspezifische überwachte Ressource an und berechnen ein Verhältnis zu einem Paar ressourcenspezifisches Kontingent.
Das folgende Abfragemuster beschreibt eine Benachrichtigung, die überwacht, wenn die Nutzung eines Kontingents 80% des Limits überschreitet:
fetch sample.googleapis.com/SampleResource
| { metric sample.googleapis.com/quota/samplemetric/usage
| align next_older(1d)
| group_by [resource.label_1, ... , resource.label_n,
metric.label_1, ... , metric.label_n],
max(val())
; metric sample.googleapis.com/quota/samplemetric/limit
| align next_older(1d)
| group_by [resource.label_1, ... , resource.label_n,
metric.label_1, ... , metric.label_n],
min(val())
}
| ratio
| every 1m
| condition gt(val(), 0.8 '1')
Wenn Sie dieses Abfragemuster verwenden möchten, müssen Sie die folgenden Änderungen vornehmen:
- Ersetzen Sie
sample.googleapis.com
durch den Dienst, den Sie überwachen möchten. - Ersetzen Sie
sampleResource
durch die zugehörige überwachte Ressource. - Ersetzen Sie
samplemetric
durch den String für eine Gruppe von Messwerttypen. - Listen Sie in den
group_by
-Vorgängen alle Ressourcen- und Messwertlabels auf.
Beispiel: CPU-Auslastung von 75% in jeder Region
Mit der folgenden MQL-Abfrage wird beispielsweise eine Benachrichtigung eingerichtet, die überwacht, wenn die Nutzung des Compute Engine-Kontingents instances_per_vpc_network
für eine Netzwerk-ID 80% überschreitet:
fetch compute.googleapis.com/VpcNetwork
| { metric compute.googleapis.com/quota/instances_per_vpc_network/usage
| align next_older(1d)
| group_by [resource.resource_container, metric.limit_name,
resource.location, resource.network_id],
max(val())
; metric compute.googleapis.com/quota/instances_per_vpc_network/limit
| align next_older(1d)
| group_by [resource.resource_container, metric.limit_name,
resource.location, resource.network_id],
min(val())
}
| ratio
| every 1m
| condition gt(val(), 0.80 '1')
Beachten Sie, dass diese Abfrage den Ressourcentyp compute.googleapis.com/VpcNetwork
und nicht consumer_quota
verwendet und das Verhältnis der beiden compute.googleapis.com/quota/instances_per_vpc_network
-Messwerte usage
und limit
übernimmt. auf.
Diagrammbeispiele
Diagramme zeigen Zeitreihendaten an. Mit dem Metrics Explorer können Sie ein Diagramm erstellen. Mit dem Metrics Explorer können Sie das Diagramm entweder löschen, wenn Sie es nicht mehr benötigen, oder es in einem Dashboard speichern. In der Dashboard-Ansicht können Sie ein Diagramm zum Dashboard hinzufügen.
Um ein Diagramm zu erstellen, geben Sie an, was Sie anzeigen möchten und wie Sie diese Daten anzeigen möchten. Der Rest dieses Abschnitts enthält Einstellungen, mit denen Sie Diagramme für Nutzerkontingente und ressourcenspezifische Kontingente erstellen können. Sie können auch die Einstellungen für das Dialogfeld Zielvorhaben einer Benachrichtigungsrichtlinie verwenden, um ein Diagramm zu erstellen.
Maximale Nutzung im Intervall für quota/allocation/usage
Um die Zeitachsendaten für den serviceruntime
-Messwert quota/allocation/usage
für alle Services in Ihrem Google Cloud-Projekt anzusehen, bei denen die Daten nach dem Namen der Quotenmetrik gruppiert sind und der maximale Wert der Metrik in einem 25-Stunden-Intervall angezeigt wird, nutzen Sie die folgenden Einstellungen:
Bereich Ziel Feld |
Wert |
---|---|
Ressourcentyp | Geben Sie consumer_quota ein. |
Messwert | serviceruntime.googleapis.com/quota/allocation/usage auswählen |
Filter |
Fügen Sie einen Filter hinzu, damit im Diagramm nur Daten für den Dienst angezeigt werden, den Sie überwachen möchten. Damit Sie z. B. den Identitäts- und Zugriffsverwaltungsdienst überwachen können, fügen Sie den folgenden Filter hinzu: service = iam.googleapis.com. Wenn das Filterfeld leer ist, werden alle verfügbaren Messwertdaten im Diagramm angezeigt. |
Group By (Gruppieren nach) |
Wählen Sie
Bei dieser Option werden die Daten nach dem Namenstyp des |
Aggregator |
Wählen Sie Das Aggregationsfeld wird automatisch auf |
Zeitraum | Wählen Sie 1500 m aus Der Zeitraum von 25 Stunden ist etwas länger als das Stichprobenintervall für diesen Messwert. |
Erweiterte Aggregation | Ausrichter:max Sekundärer Aggregator: sum Der Ausrichter ist so eingestellt, dass er den Höchstwert des Messwerts anzeigt, der über den Ausrichtungszeitraum gemessen wurde. Der alternative Aggregator kombiniert die Zeitachsen für die verschiedenen Services zu einer einzigen Zeitachse. |
Zeitachsen für quota/rate/net_usage
Um die Zeitachsendaten für den serviceruntime
-Messwert quota/rate/net_usage
für alle Services in Ihrem Google Cloud-Projekt anzusehen, bei denen die Daten nach dem Namen der Quotenmetrik gruppiert sind und die Nutzungsrate angezeigt wird, nutzen Sie die folgenden Einstellungen:
Bereich Ziel Feld |
Wert |
---|---|
Ressourcentyp | Geben Sie consumer_quota ein. |
Messwert | serviceruntime.googleapis.com/quota/rate/net_usage auswählen |
Filter |
Fügen Sie einen Filter hinzu, damit im Diagramm nur Daten für den Dienst angezeigt werden, den Sie überwachen möchten. Damit Sie z. B. den Identitäts- und Zugriffsverwaltungsdienst überwachen können, fügen Sie den folgenden Filter hinzu: service = iam.googleapis.com. Wenn das Filterfeld leer ist, werden alle verfügbaren Messwertdaten im Diagramm angezeigt. |
Group By (Gruppieren nach) |
Wählen Sie
Bei dieser Option werden die Daten nach dem Namenstyp des |
Aggregator |
Wählen Sie Das Aggregationsfeld wird automatisch auf |
Zeitraum | Wählen Sie 1 m aus Der Zeitraum von einer Minute entspricht dem Stichprobenintervall für diesen Messwert. |
Erweiterte Aggregation | Ausrichter: rate
Durch Festlegen des Ausrichters auf den Wert |
Zeitachsen für quota/limit
Verwenden Sie die folgenden Einstellungen, um die Zeitreihendaten für den serviceruntime
-Messwert quota/limit
für alle Services in Ihrem Google Cloud-Projekt, in denen die Daten über 25 Stunden aggregiert sind, anzuzeigen:
Bereich Ziel Feld |
Wert |
---|---|
Ressourcentyp | Geben Sie consumer_quota ein. |
Messwert | serviceruntime.googleapis.com/quota/limit auswählen |
Filter |
Fügen Sie einen Filter hinzu, damit im Diagramm nur Daten für den Dienst angezeigt werden, den Sie überwachen möchten. Damit Sie z. B. den Identitäts- und Zugriffsverwaltungsdienst überwachen können, fügen Sie den folgenden Filter hinzu: service = iam.googleapis.com. Wenn das Filterfeld leer ist, werden alle verfügbaren Messwertdaten im Diagramm angezeigt. |
Group By (Gruppieren nach) | Leer lassen. |
Aggregator | none |
Zeitraum | Wählen Sie 1500 m aus |
Erweiterte Aggregation | Ausrichter: next older Der Ausrichter wird auf |
Zeitachsen für quota/instances_per_vpc_network/limit
Verwenden Sie die folgenden Einstellungen für alle Netzwerke in Ihrem Google Cloud-Projekt, um die Zeitachsendaten für den compute.googleapis.com
Messwert quota/instances_per_vpc_network/limit
anzuzeigen:
Bereich Ziel Feld |
Wert |
---|---|
Ressourcentyp | Geben Sie compute.googleapis.com/VpcNetwork ein. |
Messwert | compute.googleapis.com/quota/instances_per_vpc_network/limit auswählen |
Filter | Leer lassen |
Group By (Gruppieren nach) | Leer lassen |
Aggregator | none verlassen |
Zeitraum | Wählen Sie 1 m aus Der angegebene Zeitraum entspricht dem Stichprobenintervall für diesen Messwert. |
Erweiterte Aggregation | Ignorieren |
Zeitachsen für quota/instances_per_vpc_network/usage
Verwenden Sie die folgenden Einstellungen, um die Zeitachsendaten für den compute.googleapis.com
Messwert quota/instances_per_vpc_network/usage
für ein Netzwerk in Ihrem Google Cloud-Projekt aufzurufen:
Bereich Ziel Feld |
Wert |
---|---|
Ressourcentyp | Geben Sie compute.googleapis.com/VpcNetwork ein. |
Messwert | compute.googleapis.com/quota/instances_per_vpc_network/usage auswählen |
Filter |
Fügen Sie einen Filter hinzu, damit im Diagramm nur ein Teil der Daten angezeigt wird. Wenn Sie beispielsweise die Nutzung für ein bestimmtes Netzwerk sehen möchten, fügen Sie folgenden Filter hinzu: network_id = identifier. Wenn das Filterfeld leer ist, werden alle verfügbaren Messwertdaten im Diagramm angezeigt. |
Group By (Gruppieren nach) | Leer lassen |
Aggregator | none verlassen |
Zeitraum | Wählen Sie 1 m aus |
Erweiterte Aggregation | Ignorieren |
MQL-Diagramme
Sie können MQL-Abfragen mit dem MQL-Abfrage-Editor zum Erstellen von Diagrammen verwenden. Beispielsweise können alle Abfragen, die in den Beispielen für MQL-Benachrichtigungsrichtlinien angezeigt werden, in den Abfrageeditor eingegeben werden. Sie können den letzten Vorgang, condition
, in jeder Abfrage weglassen. gilt es, wenn Sie eine Bedingung für eine Benachrichtigungsrichtlinie erstellen. In einem Diagramm hat der Vorgang condition
keine Auswirkungen.
Weitere Informationen finden Sie unter Abfrageeditor verwenden und MQL-Beispiele.