In diesem Dokument wird beschrieben, wie Sie Benachrichtigungsrichtlinien und Diagramme erstellen, um das Kontingent zu überwachen, das Ihnen von Google Cloudzugewiesen wurde. Außerdem sind mehrere Beispiele enthalten.Google Cloud legt verschiedene Kontingente fest, mit denen Sie die von einem Projekt oder einer Organisation verbrauchten Ressourcen verfolgen und begrenzen können. Allgemeine Informationen zu Kontingenten, einschließlich Informationen zu Zuteilungskontingenten und Ratenkontingenten, finden Sie unter Mit Kontingenten arbeiten.
Hinweise
In diesem Dokument wird davon ausgegangen, dass Sie mit Zeitachsendaten und deren Bearbeitung vertraut sind. Weitere Informationen finden Sie in den folgenden Ressourcen:
- Informationen zum Arbeiten mit Zeitachsendaten finden Sie unter Filtern und Aggregieren.
- Definitionen der Begriffe Gauge, Delta und Cumulative finden Sie unter Arten von Messwerten.
- Weitere Informationen zu den Feldern, die für die Kombination von Zeitachsen verwendet werden, finden Sie unter
Aligner
undReducer
.
Kontingentverwaltung
Cloud Monitoring verwaltet Kontingente auf zwei Arten:
Nutzerkontingent: Bei dieser Art von Kontingent ist 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 stellen überwachte Ressourcen mit ressourcenspezifischen Messwerten für Kontingente zur Verfügung. Diese Messwerttypen werden in Dreiergruppen angezeigt und folgen einem Namensformat:
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 die Teilmengecompute.googleapis.com/quota
dercompute
-Messwerte. Für das Kontingent "Instanzen pro VPC-Netzwerk" gibt es drei Messwerttypen:quota/instances_per_vpc_network/exceeded
quota/instances_per_vpc_network/limit
quota/instances_per_vpc_network/usage
Kontingentmesswerte und Limitnamen ermitteln
Rohdaten zum Kontingentverbrauch, insbesondere zum Nutzerkontingent, können Informationen zu vielen verschiedenen Kontingenten enthalten. Wenn Sie Informationen zu einem bestimmten Kontingent für ein Diagramm oder eine Benachrichtigungsrichtlinie extrahieren möchten, 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 Folgendes:
- Kontingentmesswert: Der Kontingentmesswert ist eine Kennung 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 hat das Labelquota_metric
, das zum Filtern nach einem bestimmten Kontingent verwendet werden kann, z. B. Daten zur Zuteilungsnutzung. - Limitname: Der Name des Limits gibt ein Limit für einen bestimmten Kontingenttyp an.
Mit einem Kontingent können mehrere Limits verknüpft sein. Ein Kontingent für Leseaufrufe kann beispielsweise ein Limit von 100 Aufrufen pro Minute und ein Limit von 1.000 Aufrufen pro Tag mit zwei Limitnamen haben:
readsPerMinute
undreadsPerDay
. Kontingentbezogene Messwerttypen haben möglicherweise ein Feldlimit_name
für diesen Wert.
Alle serviceruntime.googleapis.com/quota
-Messwerttypen stellen das Label quota_metric
bereit, aber nur einige enthalten das Label limit_name
.
Ressourcenspezifische Messwerttypen für Kontingente enthalten das Label limit_name
.
Kontingentmesswerte werden nicht von allen Google Cloud Diensten unterstützt. So können Sie ermitteln, ob ein Dienst Kontingentmesswerte unterstützt, und die Werte der kontingentspezifischen Labels ermitteln:
-
Rufen Sie in der Google Cloud Console die Seite Kontingente und Systemlimits auf:
Zur Seite Kontingente und Systemlimits
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift IAM & Admin ist.
Klicken Sie auf view_column Spalte ansehen und fügen Sie der Kontingentanzeige die folgenden Spalten hinzu:
- Messwert: In dieser Spalte wird der Wert des Labels
quota_metric
angezeigt. - Name des Limits: In dieser Spalte wird der Wert des Labels
limit_name
angezeigt. - Überwachte Ressource: Wenn dieses Feld ausgefüllt ist, wird für das Kontingent die aufgeführte überwachte Ressource verwendet. Wenn leer, ist die überwachte Ressource für das Kontingent
consumer_quota
.
- Messwert: In dieser Spalte wird der Wert des Labels
Suchen Sie das gewünschte Kontingent.
Im Kontingent für die Compute Engine API-Subnetzwerke ist beispielsweise der Messwert als
compute.googleapis.com/subnetworks
und der Limitname alsSUBNETWORKS-per-project
aufgeführt. Eine Überwachte Ressource ist nicht aufgeführt. Die überwachte Ressource für dieses Kontingent ist daherconsumer_quota
.
Beispiel: Nutzung für einen bestimmten Nutzerkontingentmesswert aufrufen
Ziel ist es, ein Diagramm zu erstellen, das die Gesamtspeicherkontingente von Compute Engine nach Region anzeigt. In diesem Beispiel für ein Nutzerkontingent werden quota/allocation/usage
-Daten abgerufen und dann die Daten gefiltert, sodass die Zuteilungsnutzung für einen bestimmten Kontingentmesswert angezeigt wird:
Wählen Sie in der Google Cloud -Console Cloud Monitoring und dann Metrics Explorer aus.
Maximieren Sie in der Symbolleiste das Menü „Zeitraum“ und wählen Sie Letzte 14 Tage aus.
Maximieren Sie das Menü Widget-Typ und wählen Sie Gestapeltes Balkendiagramm aus.
So konfigurieren Sie den Metrics Explorer, um die Nutzung des Zuteilungskontingents aufzurufen:
- Klicken Sie auf Messwert auswählen und geben Sie
allocation
in die filter_list Filterleiste ein. - Wählen Sie für die Ressource Nutzerkontingent aus.
- Wählen Sie Kontingent als Messwertkategorie aus.
- Wählen Sie Nutzung von Zuteilungskontingenten als Messwert aus und klicken Sie auf Übernehmen.
- Maximieren Sie das Menü Aggregation und wählen Sie Nicht aggregiert aus.
Das Diagramm zeigt die Nutzung des Zuteilungskontingents als Balkendiagramm für den Zeitraum von sechs Wochen. 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"
Sie können diesen Filterwert anzeigen, indem Sie das Menü Ressourcentyp maximieren und dann Direkter Filtermodus auswählen.
- Klicken Sie auf Messwert auswählen und geben Sie
Wenn Sie das Diagramm auf den Compute Engine-Dienst beschränken möchten, fügen Sie den Filter
service = compute.googleapis.com
hinzu: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
gibt die Zeitachse für das Gesamtspeicherkontingent von Compute Engine an.Im Diagramm wird die Kontingentnutzung nur für Kontingente angezeigt, für die die Nutzung aufgezeichnet wurde. Wenn das Projekt beispielsweise keine Compute Engine-Ressourcen hat, führt das Filtern nach dem Dienst
compute.googleapis.com
zu einem Diagramm ohne Daten.Verwenden Sie den Filter
quota_metric = compute.googleapis.com/disks_total_storage
, um ein Diagramm zu erstellen, in dem die Nutzung des Compute Engine-Gesamtspeicherkontingents angezeigt wird: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-central1
undus-east1
sowie für mehrere Zonen, einschließlich der Zoneus-central1-a
.Wenn Sie das Diagramm so verfeinern möchten, dass nur Daten für die Regionen und nicht die Zonen angezeigt werden, fügen Sie einen Filter hinzu, der auf dem Label
location
basiert. In diesem Beispiel, in dem beide Regionen mit dem Präfixus-
beginnen und mit1
enden, eignet sich ein Filter, der den regulären Ausdrucklocation =~ ^us.*1$
verwendet:
Bei Nutzerkontingenten identifiziert der Wert des Labels quota_metric
sowohl den Dienst als auch die konkrete Kontingentnutzung, die überwacht wird. Diese Informationen verwenden Sie, wenn Sie Diagramme oder Benachrichtigungsrichtlinien erstellen, die einen bestimmten Kontingentmesswert überwachen.
Benachrichtigungsrichtlinien in Cloud Monitoring
Mithilfe von Benachrichtigungsrichtlinien können Sie Monitoring so konfigurieren, dass Sie benachrichtigt werden, wenn etwas passiert, z. B. das Erreichen von 85% Ihres Kontingentlimits.
Eine Benachrichtigungsrichtlinie ist eine Sammlung von Bedingungen und Benachrichtigungsinformationen:
- Eine Bedingung beschreibt, was überwacht wird, wie die Zeitachsendaten für diese Ressource kombiniert werden und wann ein Vorfall generiert wird. Eine Benachrichtigungsrichtlinie muss mindestens eine Bedingung angeben.
- Der Benachrichtigungskanal gibt an, wer benachrichtigt werden soll und wie er benachrichtigt werden soll, wenn ein Vorfall auftritt. Beispielsweise können Sie die Benachrichtigungsrichtlinie so konfigurieren, dass eine E-Mail an eine bestimmte Person oder an eine Gruppe von Personen gesendet wird.
Es gibt zwei Techniken, um Benachrichtigungsrichtlinienbedingungen zu erstellen:
Monitoring-Filter zum Auswählen und Bearbeiten von Daten verwenden. 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 Filter auch in Anfragen an die Monitoring API verwenden.
PromQL zum Auswählen und Bearbeiten von Daten verwenden. PromQL ist eine textbasierte Abfragesprache. Mit dem PromQL-Code-Editor können Sie Abfragen erstellen, die Sie nicht mit der filterbasierten Technik erstellen können. Wir empfehlen die Verwendung von PromQL zum Erstellen von verhältnisbasierten Benachrichtigungsrichtlinien. Weitere Informationen finden Sie unter Beispiele für PromQL-Benachrichtigungsrichtlinien.
Auf dieser Seite werden beide Techniken erläutert. Sie können Diagramme auch mit einer der beiden Methoden erstellen.
Beispiele für Filterbenachrichtigungsrichtlinien
In diesem Abschnitt enthält jeder Unterabschnitt eine JSON-Darstellung einer Benachrichtigungsrichtlinie sowie ein Paar von Tabellen, in denen das Konfigurieren der Richtlinie in der Google Cloud -Konsole beschrieben wird:
- Die erste Tabelle beschreibt, was überwacht wird und wie die Daten kombiniert werden.
- Die zweite Tabelle beschreibt, wann ein Vorfall generiert werden soll.
Diese Beispiele beziehen sich auf den filterbasierten Ansatz.
Keine dieser Richtlinien berechnet Verhältnisse. Beispiele für verhältnisbasierte Beispiele finden Sie unter Beispiele für PromQL-Benachrichtigungsrichtlinien.
Benachrichtigung bei quota/exceeded
-Fehlern
Sie können eine Benachrichtigungsrichtlinie erstellen, um Sie zu benachrichtigen, wenn ein Dienst in IhremGoogle 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 das Dialogfeld Neue Bedingung mit den Einstellungen in der folgenden Tabelle ab.
Mit dieser Einstellung geben Sie an, dass Sie die Zeitachsendaten für den serviceruntime
-Messwert /quota/exceeded
für alle Dienste in Ihrem Google Cloud -Projekt überwachen und die Daten nach Kontingentgrenze gruppieren möchten.
Dialogfeld Neue Bedingung Feld |
Wert |
---|---|
Ressource und Messwert | Wählen Sie im Menü Ressourcen die Option Nutzerkontingent aus. Wählen Sie im Menü Messwertkategorien die Option Kontingent aus. Wählen Sie im Menü Messwerte die Option Fehler „Kontingent überschritten“ aus. (Der metric.type ist serviceruntime.googleapis.com/quota/exceeded ,und der resource.type ist consumer_quota .)
|
Filter |
Fügen Sie einen Filter hinzu, damit das Diagramm nur Daten für den Dienst anzeigt, den Sie überwachen möchten. Zur Überwachung des Identity and Access Management-Dienstes fügen Sie beispielsweise den folgenden Filter hinzu: service = iam.googleapis.com. Wenn das Filterfeld leer ist, werden alle verfügbaren Messwertdaten in das Diagramm aufgenommen. |
Rollierendes Zeitfenster | Wählen Sie 1 m aus. |
Funktion für rollierendes Zeitfenster | Wählen Sie count true aus.
Dieser Messwert ist vom Typ Für diesen Messwert sind die Funktionen für gleitende Fenster von |
Über Zeitreihen hinweg Zeitreihenaggregation |
Wählen Sie Das Aggregationsfeld wird automatisch auf |
Über Zeitreihen hinweg Zeitreihen gruppieren nach |
Wählen Sie
Bei dieser Option werden die Daten nach dem Namenstyp des |
Schließen Sie das Dialogfeld Trigger konfigurieren 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.
Dialogfeld Trigger konfigurieren Feld |
Wert |
---|---|
Bedingungstyp | Threshold |
Benachrichtigungstrigger | Any time series violates |
Grenzwertposition | Above threshold |
Grenzwert | 0 |
Zeitfenster noch einmal testen | 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 der Google Cloud CLI 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 Dienst in IhremGoogle 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 das Dialogfeld Neue Bedingung mit den Einstellungen in der folgenden Tabelle ab.
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.
Dialogfeld Neue Bedingung Feld |
Wert |
---|---|
Ressource und Messwert | Wählen Sie im Menü Ressourcen die Option Nutzerkontingent aus. Wählen Sie im Menü Messwertkategorien die Option Kontingent aus. Wählen Sie im Menü Messwerte die Option Nutzung von Zuteilungskontingenten aus. (Der metric.type ist serviceruntime.googleapis.com/quota/allocation/usage ,und der resource.type ist consumer_quota .)
|
Filter |
Fügen Sie einen Filter hinzu, damit das Diagramm nur Daten für den Dienst anzeigt, den Sie überwachen möchten. Zur Überwachung des Identity and Access Management-Dienstes fügen Sie beispielsweise den folgenden Filter hinzu: service = iam.googleapis.com. Wenn das Filterfeld leer ist, werden alle verfügbaren Messwertdaten in das Diagramm aufgenommen. |
Rollierendes Zeitfenster | Wählen Sie 1440 m aus Der angegebene Zeitraum entspricht dem Stichprobenintervall für diesen Messwert. |
Funktion für rollierendes Zeitfenster | Wählen Sie next older aus. Die Funktion für das gleitende Fenster wird auf |
Über Zeitreihen hinweg Zeitreihenaggregation |
Wählen Sie Das Aggregationsfeld wird automatisch auf |
Über Zeitreihen hinweg Zeitreihen gruppieren nach |
Wählen Sie
Bei dieser Option werden die Daten nach dem Namenstyp des |
Schließen Sie das Dialogfeld Trigger konfigurieren 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 gleitenden Fenster. 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.
Dialogfeld Trigger konfigurieren Feld |
Wert |
---|---|
Bedingungstyp | Threshold |
Benachrichtigungstrigger | Any time series violates |
Grenzwertposition | Above threshold |
Grenzwert | 2.5 |
Zeitfenster noch einmal testen | 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 der Google Cloud CLI 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": "86400s",
"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 PromQL-Benachrichtigungsrichtlinien
PromQL ist eine textbasierte Abfragesprache, mit der Sie leistungsstärkere und flexiblere Abfragen erstellen können als mit Monitoring-Filtern. Wir empfehlen die Verwendung von PromQL zum Einrichten von verhältnisbasierten Benachrichtigungsrichtlinien. Mit PromQL können Sie beispielsweise ein Verhältnis für die Ratenkontingentnutzung einrichten, wofür die Berechnung des Verhältnisses eines Messgerät-Messwerts (Limit) und eines Delta-Messwerts (Rate) erforderlich ist.
Sie können PromQL-basierte Benachrichtigungsrichtlinien mithilfe der Google Cloud Console oder der Monitoring API erstellen:
Google Cloud -Konsole: Verwenden Sie beim Erstellen der Benachrichtigungsbedingung den PromQL-Codeeditor. Klicken Sie in der Symbolleiste des Dialogfelds Benachrichtigungsrichtlinie erstellen auf PromQL, um den PromQL-Code-Editor aufzurufen. Weitere Informationen zur Verwendung dieses Editors finden Sie unter Code-Editor für PromQL verwenden.
Monitoring API: Verwenden Sie die Methode
alertPolicies.create
und geben Sie eine Bedingung vom TypPrometheusQueryLanguageCondition
an. Dieser Bedingungstyp verwendet eine PromQL-Abfrage als Feldwert. Weitere Informationen zur Verwendung der Monitoring API mit PromQL finden Sie unter PromQL-basierte Benachrichtigungsrichtlinien erstellen.
Informationen zu PromQL finden Sie unter PromQL für Cloud Monitoring. Weitere Informationen zu PromQL-basierten Benachrichtigungsrichtlinien finden Sie unter PromQL-basierte Benachrichtigungsrichtlinien.
Benachrichtigungsrichtlinie, die das Verhältnis von Ratenkontingent zu Kontingentlimit überwacht
Das folgende PromQL-Abfragemuster beschreibt eine Benachrichtigungsrichtlinie, die eine Benachrichtigung sendet, wenn die minutengenaue Auslastung eines bestimmten Ressourcendienstes 80% eines bestimmten Limits überschreitet:
(
sum by (project_id, quota_metric, location) (increase({"serviceruntime.googleapis.com/quota/rate/net_usage", monitored_resource="consumer_quota", service="sample.googleapis.com"}[1m]))
/
max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service="sample.googleapis.com", limit_name="Limit"})
) > 0.8
Nehmen Sie folgende Änderungen vor, um dieses Abfragemuster zu verwenden:
- Ersetzen Sie
sample.googleapis.com
durch den zu überwachenden Dienst. - Ersetzen Sie
Limit
fürlimit_name
durch das Limit, das Sie verfolgen möchten. Informationen zum Suchen nach Limitnamen finden Sie unter Kontingentmesswerte und Limitnamen ermitteln. - Ersetzen Sie
1m
durch ein geeignetes Zeitfenster für Ihre Abfrage.
Sie können diese Abfrage nicht mit Filtern erstellen.
Benachrichtigungsrichtlinie, die das Verhältnis des Ratenkontingents mit Platzhaltern überwacht
PromQL unterstützt das Filtern mit Platzhaltern, regulären Ausdrücken und boolescher Logik. Mit PromQL können Sie beispielsweise eine Benachrichtigungsrichtlinie erstellen, die mehrere Limits verfolgt und Sie benachrichtigt, wenn ein Grenzwert überschritten wird.
Das folgende PromQL-Abfragemuster beschreibt eine Benachrichtigungsrichtlinie, die Benachrichtigungen sendet, wenn die Ratennutzung eines Ressourcendiensts pro Minute oder Tag 80 % überschreitet:
(
sum by (project_id, quota_metric, location) (increase({"serviceruntime.googleapis.com/quota/rate/net_usage", monitored_resource="consumer_quota", service=~".*"}[1m]))
/
max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service=~".*", limit_name=~".*PerMinute.*"})
)
or
(
sum by (project_id, quota_metric, location) (increase({"serviceruntime.googleapis.com/quota/rate/net_usage", monitored_resource="consumer_quota", service=~".*"}[23h]))
/
max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service=~".*", limit_name=~".*PerDay.*"})
) > 0.8
In der vorherigen Abfrage ist das Argument für den Ausrichter pro Tag auf 23 Stunden anstelle von 1 Tag festgelegt. PromQL kann nur 23 Stunden und 30 Minuten Daten erfordern. Zu Berechnungszwecken fügt der Ausrichter dem Ausrichtungszeitraum eine Stunde hinzu. Wenn Sie [1d]
verwenden, kann die Bedingung nicht gespeichert werden, da sie 25 Stunden an Daten erfordert.
Nehmen Sie folgende Änderungen vor, um dieses Abfragemuster zu verwenden:
- Ersetzen Sie den regulären Ausdruck für
service=~
durch einen regulären Ausdruck für die Dienste, die Sie verfolgen möchten. - Im ersten Verhältnis gilt:
- Ersetzen Sie
.*PerMinute.*
fürlimit_name=~
durch einen regulären Ausdruck für die erste Gruppe von Limits, die Sie verfolgen möchten. Informationen zum Suchen nach Limitnamen finden Sie unter Kontingentmesswerte und Limitnamen ermitteln. - Ersetzen Sie
1m
durch ein Fenster, das für Ihre Limits geeignet ist.
- Ersetzen Sie
- Im zweiten Verhältnis:
- Ersetzen Sie
.*PerDay.*
fürlimit_name=~
durch einen regulären Ausdruck für die zweite Gruppe von Limits, die Sie verfolgen möchten. - Ersetzen Sie
23h
durch ein Fenster, das für Ihre Limits geeignet ist.
- Ersetzen Sie
Sie können diese Abfrage nicht mit Filtern erstellen.
Verhältnisbenachrichtigung zur Nutzung des Zuteilungskontingents für ein Limit
Das folgende PromQL-Abfragemuster beschreibt eine Benachrichtigung, die überwacht, wenn die tägliche Zuweisungsnutzung eines bestimmten Ressourcendienstes 80% eines bestimmten Limits überschreitet:
(
max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/allocation/usage", monitored_resource="consumer_quota", service="sample.googleapis.com"})
/
min by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service="sample.googleapis.com", limit_name="Limit"})
) > 0.8
Nehmen Sie folgende Änderungen vor, um dieses Abfragemuster zu verwenden:
- Ersetzen Sie
sample.googleapis.com
durch den zu überwachenden Dienst. - Ersetzen Sie
Limit
fürlimit_name
durch das Limit, das Sie verfolgen möchten. Informationen zum Suchen nach Limitnamen finden Sie unter Kontingentmesswerte und Limitnamen ermitteln.
Beispiel: CPU-Auslastung von 75 % in einer beliebigen Region
Die folgende Abfrage erstellt eine Benachrichtigungsrichtlinie, die ausgelöst wird, wenn die CPU-Nutzung der Compute Engine-VM-Instanz in einer beliebigen Region 75% des Limits überschreitet:
(
max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/allocation/usage", monitored_resource="consumer_quota", service="compute.googleapis.com"})
/
min by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service="compute.googleapis.com", limit_name="CPUS-per-project-region"})
) > 0.75
Diese Nutzerkontingentrichtlinie verwendet den CPUS-per-project-region
-Limitnamen im Compute Engine API-Kontingent "CPUs". Informationen zum Suchen nach Limitnamen finden Sie unter Kontingentmesswerte und Limitnamen ermitteln.
Benachrichtigungsrichtlinie, die das Verhältnis des Zuteilungskontingents für einen Dienst überwacht
PromQL unterstützt das Filtern mit Platzhaltern, regulären Ausdrücken und boolescher Logik. Beispiel: Mit PromQL können Sie eine Benachrichtigung erstellen, die mehrere Limits oder Dienste verfolgt und Sie benachrichtigt, wenn ein Grenzwert überschritten wird.
Die folgende PromQL-Abfrage beschreibt eine Benachrichtigung, die überwacht, wenn die tägliche Zuweisungsnutzung eines Ressourcendienstes 80% für ein Kontingentlimit überschreitet:
(
max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/allocation/usage", monitored_resource="consumer_quota"})
/
min by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota"})
) > 0.8
Sie können diese Abfrage wie dargestellt verwenden oder Dienste nach einem regulären Ausdruck für die Dienste filtern, die Sie verfolgen möchten. Sie können auch nach einem bestimmten Dienst filtern und Platzhalter in einem Limitfilter verwenden.
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 50% des Limits in einer der us-central1
-Zonen überschreitet. Mit dieser Abfrage werden die limit
-Daten nach einem Limitnamen und dem Ressourcenstandort gefiltert:
(
max by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/allocation/usage", monitored_resource="consumer_quota", service="compute.googleapis.com"})
/
min by (project_id, quota_metric, location) ({"serviceruntime.googleapis.com/quota/limit", monitored_resource="consumer_quota", service="compute.googleapis.com", limit_name="CPUS-per-project-zone", location=~"us-central1-.*"})
)
> 0.5
Diese Nutzerkontingentrichtlinie verwendet den CPUS-per-project-zone
-Limitnamen im Compute Engine API-Kontingent "CPUs". Informationen zum Suchen nach Limitnamen finden Sie unter Kontingentmesswerte und Limitnamen ermitteln.
Verhältnisbenachrichtigung mit ressourcenspezifischem Kontingent
Mit PromQL können Sie Verhältnisse für ressourcenspezifische kontingentbezogene Messwerte einrichten. In diesem Fall geben Sie eine dienstspezifische überwachte Ressource an und berechnen ein Verhältnis zwischen zwei ressourcenspezifischen kontingentbezogenen Messwerten.
Das folgende Abfragemuster beschreibt eine Benachrichtigung, die überwacht, ob die Nutzung eines Kontingents 80 % des Limits überschreitet:
(
max by (resource_label_1, ..., resource_label_n, metric_label_1, ..., metric_label_n) ({"sample.googleapis.com/quota/samplemetric/usage", monitored_resource="sample.googleapis.com/SampleResource"})
/
min by (resource_label_1, ..., resource_label_n, metric_label_1, ..., metric_label_n) ({"sample.googleapis.com/quota/samplemetric/limit", monitored_resource="sample.googleapis.com/SampleResource"})
) > 0.8
Nehmen Sie folgende Änderungen vor, um dieses Abfragemuster zu verwenden:
- Ersetzen Sie
sample.googleapis.com
durch den zu überwachenden Dienst. - 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
by (...)
-Vorgängen die Ressourcen- und Messwertlabels auf.
Beispiel: CPU-Auslastung von 75 % in einer beliebigen Region
Die folgende PromQL-Abfrage richtet zum Beispiel eine Benachrichtigung ein, die überwacht, wenn die Nutzung des instances_per_vpc_network
-Kontingents von Compute Engine für eine beliebige Netzwerk-ID 80% überschreitet:
(
max by (resource_container, limit_name, location, network_id) ({"compute.googleapis.com/quota/instances_per_vpc_network/usage", monitored_resource="compute.googleapis.com/VpcNetwork"})
/
min by (resource_container, limit_name, location, network_id) ({"compute.googleapis.com/quota/instances_per_vpc_network/limit", monitored_resource="compute.googleapis.com/VpcNetwork"})
) > 0.8
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
nimmt.
Diagrammbeispiele
Diagramme zeigen Zeitachsendauer 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.
Wenn Sie nur ein Diagramm konfigurieren möchten, in dem Kontingentdaten angezeigt werden, können Sie die Einstellungen in der Tabelle Neue Bedingung verwenden. Für Benachrichtigungsbedingungen wird eine andere Notation als für Diagrammtools verwendet. Zu den Diagrammtools gehören der Metrics Explorer und die Konfiguration von Diagrammen in benutzerdefinierten Dashboards:Dialogfeld Neue Bedingung Feldname |
Diagramme |
---|---|
Funktion für rollierendes Zeitfenster | Optimal konfiguriert basierend auf den ausgewählten Messwert- und Aggregationseinstellungen. So geben Sie die Ausrichtungsfunktion an:
|
Rollierendes Zeitfenster | Minimales Intervall (zum Aufrufen auf add Abfrageelement hinzufügen klicken) |
Zeitreihen gruppieren nach (im Abschnitt Über Zeitreihen hinweg) |
Zweites Menü des Elements Aggregation |
Zeitreihenaggregation (im Abschnitt Über Zeitreihen hinweg) |
Erstes Menü des Elements Aggregation |
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:
Dialogfeld Neue Bedingung Feld |
Wert |
---|---|
Ressource und Messwert | Wählen Sie im Menü Ressourcen die Option Nutzerkontingent aus. Wählen Sie im Menü Messwertkategorien die Option Kontingent aus. Wählen Sie im Menü Messwerte die Option Ratenkontingentnutzung aus. (Der metric.type ist serviceruntime.googleapis.com/quota/rate/net_usage ,und der resource.type ist consumer_quota .)
|
Filter |
Fügen Sie einen Filter hinzu, damit das Diagramm nur Daten für den Dienst anzeigt, den Sie überwachen möchten. Zur Überwachung des Identity and Access Management-Dienstes fügen Sie beispielsweise den folgenden Filter hinzu: service = iam.googleapis.com. Wenn das Filterfeld leer ist, werden alle verfügbaren Messwertdaten in das Diagramm aufgenommen. |
Rollierendes Zeitfenster | Wählen Sie 1 m aus Der Zeitraum von einer Minute entspricht dem Stichprobenintervall für diesen Messwert. |
Funktion für rollierendes Zeitfenster | Wählen Sie rate aus.
Durch Festlegen des Ausrichters auf den Wert |
Über Zeitreihen hinweg Zeitreihenaggregation |
Wählen Sie Das Aggregationsfeld wird automatisch auf |
Über Zeitreihen hinweg Zeitreihen gruppieren nach |
Wählen Sie
Bei dieser Option werden die Daten nach dem Namenstyp des |
Zeitachsen für quota/instances_per_vpc_network/limit
Verwenden Sie die folgenden Einstellungen, um die Zeitachsendaten für den compute.googleapis.com
-Messwert quota/instances_per_vpc_network/limit
für alle Netzwerke in Ihrem Google Cloud -Projekt anzuzeigen:
Dialogfeld Neue Bedingung Feld |
Wert |
---|---|
Ressource und Messwert | Wählen Sie im Menü Ressourcentyp die Option VPC-Netzwerk aus. Wählen Sie im Menü Messwertkategorie die Option Kontingent aus. Wählen Sie im Menü Messwert die Option Kontingentlimit für Instanzen pro VPC-Netzwerk aus. (Der metric.type ist compute.googleapis.com/quota/instances_per_vpc_network/limit ,und der resource.type ist compute.googleapis.com/VpcNetwork .)
|
Filter | Leer lassen |
Rollierendes Zeitfenster | Wählen Sie 1 m aus Der angegebene Zeitraum entspricht dem Stichprobenintervall für diesen Messwert. |
Funktion für rollierendes Zeitfenster | Wählen Sie mean aus. |
Über Zeitreihen hinweg Zeitreihenaggregation |
Als none lassen
|
Über Zeitreihen hinweg Zeitreihen gruppieren nach |
Leer lassen |
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 eines der Netzwerke in Ihrem Google Cloud -Projekt anzuzeigen:
Dialogfeld Neue Bedingung Feld |
Wert |
---|---|
Ressource und Messwert | Wählen Sie im Menü Ressourcentyp die Option VPC-Netzwerk aus. Wählen Sie im Menü Messwertkategorie die Option Kontingent aus. Wählen Sie im Menü Messwert die Option Kontingentnutzung für Instanzen pro VPC-Netzwerk aus. (Der metric.type ist compute.googleapis.com/quota/instances_per_vpc_network/usage ,und der resource.type ist compute.googleapis.com/VpcNetwork .)
|
Messwert | Wählen Sie im Menü Messwert die Option compute.googleapis.com/quota/instances_per_vpc_network/usage aus. |
Filter |
Fügen Sie einen Filter hinzu, damit das Diagramm nur einen Teil aller Daten anzeigt. Wenn Sie beispielsweise die Nutzung für ein bestimmtes Netzwerk anzeigen möchten, fügen Sie den folgenden Filter hinzu: network_id = Kennung. Wenn das Filterfeld leer ist, werden alle verfügbaren Messwertdaten in das Diagramm aufgenommen. |
Rollierendes Zeitfenster | Wählen Sie 1 m aus Der angegebene Zeitraum entspricht dem Stichprobenintervall für diesen Messwert. |
Funktion für rollierendes Zeitfenster | Wählen Sie mean aus. |
Über Zeitreihen hinweg Zeitreihenaggregation |
Als none lassen
|
Über Zeitreihen hinweg Zeitreihen gruppieren nach |
Leer lassen |
PromQL-Diagramme
Sie können PromQL-Abfragen verwenden, um Diagramme mit dem PromQL-Code-Editor zu erstellen. So können beispielsweise alle Abfragen, die in Beispielen für PromQL-Benachrichtigungsrichtlinien angezeigt werden, in den Code-Editor eingegeben werden. Sie können bei jeder Abfrage den Vergleichsoperator am Ende, z. B. > 0.8
, weglassen. Er gilt nur beim Erstellen einer Bedingung für eine Benachrichtigungsrichtlinie. In einem Diagramm hat das Festlegen einer Bedingung mit einem Vergleichsoperator keine Auswirkungen.
Weitere Informationen finden Sie unter Code-Editor für PromQL verwenden.