Regelgruppen im verwalteten Azure Monitor-Dienst für Prometheus

Regeln werden in Prometheus direkt während der Erfassung auf Daten angewendet. Sie werden als Teil einer Prometheus-Regelgruppe konfiguriert, die im Azure Monitor-Arbeitsbereich auf Prometheus-Metriken angewendet wird.

Regeltypen

Es gibt zwei Typen von Prometheus-Regeln, wie in der folgenden Tabelle beschrieben.

type Beschreibung
Warnung Mit Warnungsregeln können Sie eine Azure Monitor-Warnung erstellen, die auf den Ergebnissen einer Prom QL-Abfrage (Prometheus Query Language) basiert. Warnungen, die von Azure Managed Prometheus-Warnungsregeln ausgelöst werden, werden verarbeitet und lösen Benachrichtigungen auf ähnliche Weise wie andere Azure Monitor-Warnungen aus.
Aufzeichnung Mit Aufzeichnungsregeln können Sie häufig benötigte oder rechenintensive Ausdrücke im Voraus berechnen und ihr Ergebnis als neue Zeitreihengruppe speichern. Zeitreihen, die durch Aufzeichnungsregeln erstellt wurden, werden als neue Prometheus-Metriken erfasst und wieder in Ihren Azure Monitor-Arbeitsbereich eingefügt.

Erstellen von Prometheus-Regeln

Von Azure verwaltete Prometheus-Regelgruppen, -Aufzeichnungsregeln und -Warnungsregeln können mit dem Azure-Ressourcentyp Microsoft.AlertsManagement/prometheusRuleGroups erstellt und konfiguriert werden. Dabei werden die Warnungsregeln und Aufzeichnungsregeln als Teil der Regelgruppeneigenschaften definiert. Prometheus-Regelgruppen werden mit einem Bereich eines bestimmten Azure Monitor-Arbeitsbereichs definiert. Prometheus-Regelgruppen können mithilfe von ARM-Vorlagen (Azure Resource Manager), der API, der Azure CLI oder PowerShell erstellt werden.

Von Azure verwaltete Prometheus-Regelgruppen folgen der Struktur und Terminologie der Open Source Prometheus-Regelgruppen. Regelnamen, Ausdruck, „for“-Klausel, Bezeichnungen, Anmerkungen werden alle in der Azure-Version unterstützt. Die folgenden wichtigen Unterschiede zwischen OSS-Regelgruppen und von Azure verwalteten Prometheus-Regelgruppen sollten beachtet werden:

  • Von Azure verwaltete Prometheus-Regelgruppen werden als Azure-Ressourcen verwaltet und enthalten erforderliche Informationen für die Ressourcenverwaltung, z. B. das Abonnement und die Ressourcengruppe, in der sich die Azure-Regelgruppe befinden soll.
  • Zu den von Azure verwalteten Prometheus-Warnungsregeln gehören dedizierte Eigenschaften, mit denen Warnungen wie andere Azure Monitor-Warnungen verarbeitet werden können. Beispielsweise werden Warnungsschweregrad, Aktionsgruppenzuordnung und automatische Auflösungskonfiguration für Warnungen als Teil der von Azure verwalteten Prometheus-Warnungsregeln unterstützt.

Hinweis

Für Ihre AKS- oder ARC-Kubernetes-Cluster können Sie einige der empfohlenen Benachrichtigungsregeln verwenden. Hier finden Sie weitere Informationen zu vordefinierten Benachrichtigungsregeln.

Einschränken von Regeln auf einen bestimmten Cluster

Sie können die Regeln in einer Regelgruppe optional auf Abfragen von Daten beschränken, die von einem einzelnen bestimmten Cluster stammen, indem Sie Ihrer Regelgruppe einen Clusterbereich hinzufügen und/oder die Regelgruppeneigenschaft „clusterName“ verwenden. Sie sollten Regeln auf einen einzelnen Cluster beschränken, wenn der Azure Monitor-Arbeitsbereich eine große Menge von Daten aus mehreren Clustern enthält. In einem solchen Fall besteht die Sorge, dass die Ausführung eines einzelnen Regelsatzes für alle Daten zu Leistungs- oder Drosselungsproblemen führen kann. Mithilfe des Clusterbereichs können Sie mehrere Regelgruppen erstellen, die jeweils mit denselben Regeln konfiguriert sind, wobei jede Gruppe einen anderen Cluster abdeckt.

Um Ihre Regelgruppe mithilfe einer ARM-Vorlage auf einen Clusterbereich zu beschränken, sollten Sie die Azure-Ressourcen-ID Ihres Clusters zur Liste der Regelgruppenbereiche[] hinzufügen. Die Bereichsliste muss weiterhin die Ressourcen-ID des Azure Monitor-Arbeitsbereichs enthalten. Die folgenden Clusterressourcentypen werden als Clusterbereich unterstützt:

  • Azure Kubernetes Service-Cluster (AKS) (Microsoft.ContainerService/managedClusters)
  • Azure Arc-fähige Kubernetes-Cluster (Microsoft.kubernetes/connectedClusters)
  • Mit Azure verbundene Appliances (Microsoft.ResourceConnector/appliances)

Zusätzlich zur Cluster-ID können Sie die Eigenschaft clusterName Ihrer Regelgruppe konfigurieren. Die Eigenschaft „clusterName“ muss mit der Bezeichnung „cluster“ übereinstimmen, die zu Ihren Metriken hinzugefügt wird, wenn sie von einem bestimmten Cluster ausgelesen wird. Standardmäßig ist diese Bezeichnung auf den letzten Teil (Ressourcenname) Ihrer Cluster-ID festgelegt. Wenn Sie diese Bezeichnung mithilfe der Einstellung „cluster_alias“ in Ihrer ConfigMap für das Auslesen von Clustern geändert haben, müssen Sie den aktualisierten Wert in die Eigenschaft „clusterName“ der Regelgruppe einschließen. Wenn für Ihr Auslesen der standardmäßige Wert „cluster“ der Bezeichnung verwendet, ist die Eigenschaft „clusterName“ optional.

Hier ist ein Beispiel dafür, wie eine Regelgruppe so konfiguriert ist, dass die Abfrage auf einen bestimmten Cluster beschränkt wird:

{
    "name": "sampleRuleGroup",
    "type": "Microsoft.AlertsManagement/prometheusRuleGroups",
    "apiVersion": "2023-03-01",
    "location": "northcentralus",
    "properties": {
         "description": "Sample Prometheus Rule Group limited to a specific cluster",
         "scopes": [
             "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.monitor/accounts/<azure-monitor-workspace-name>",
             "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.containerservice/managedclusters/<myClusterName>"
         ],
         "clusterName": "<myCLusterName>",
         "rules": [
             {
                ...
             }
         ]
    }
}        

Wenn sowohl der Cluster-ID-Bereich als auch clusterName nicht für eine Regelgruppe angegeben sind, werden die Regeln in den Gruppenabfragedaten aus allen Clustern im Arbeitsbereich aus allen Clustern abgerufen.

Sie können Ihre Regelgruppe auch auf einen Clusterbereich beschränken, indem Sie die Portal-Benutzeroberfläche verwenden.

Erstellen oder Bearbeiten der Prometheus-Regelgruppe im Azure-Portal

So erstellen Sie eine neue Regelgruppe auf der Startseite des Portals:

  1. Wählen Sie im Portal die Option Überwachen>Warnungen aus.
  2. Wählen Sie Prometheus-RegelgruppenScreenshot, der zeigt, wie man Prometheus-Regelgruppen vom Azure Monitor-Warnbildschirm aus erreicht..
  3. Wählen Sie + Erstellen aus, um den Assistenten zum Erstellen von Regelgruppen zu öffnenScreenshot, der die Schritte zur Erstellung einer neuen Prometheus-Regelgruppe zeigt..

So bearbeiten Sie eine neue Regelgruppe auf der Startseite des Portals:

  1. Wählen Sie im Portal die Option Überwachen>Warnungen aus.
  2. Wählen Sie Prometheus-Regelgruppen aus, um die Liste der vorhandenen Regelgruppen in Ihrem Abonnement anzuzeigen.
  3. Wählen Sie die gewünschte Regelgruppe aus, um in den Bearbeitungsmodus zu wechseln.

Konfigurieren des Regelgruppenbereichs

Auf der Registerkarte Bereich der Regelgruppe:

  1. Wählen Sie den Azure Monitor-Arbeitsbereich aus einer Liste der Arbeitsbereiche aus, die in Ihren Abonnements verfügbar sind. Die Regeln in dieser Gruppe fragen Daten aus diesem Arbeitsbereich ab.
  2. Wenn Sie die Regelgruppe auf einen Clusterbereich beschränken möchten, wählen Sie die Option Bestimmter Cluster aus:
    • Wählen Sie den Cluster aus der Liste der Cluster aus, die bereits mit dem ausgewählten Azure Monitor-Arbeitsbereich verbunden sind.
    • Der Standardwert für Clustername ist bereits für Sie eingegeben. Sie sollten diesen Wert nur ändern, wenn Sie ihren Clusterbezeichnungswert mithilfe von cluster_alias geändert haben.
  3. Wählen Sie Weiter aus, um die Details der Regelgruppe zu konfigurieren.

Screenshot, der die Konfiguration des Prometheus-Regelgruppenbereichs zeigt.

Konfigurieren der Regelgruppendetails

Auf der Registerkarte Details der Regelgruppe:

  1. Wählen Sie das Abonnement und die Ressourcengruppe aus, wo die Regelgruppe gespeichert werden soll.
  2. Geben Sie den Namen und die Beschreibung der Regelgruppe ein. Der Name der Regelgruppe kann nicht geändert werden, nachdem die Regelgruppe erstellt wurde.
  3. Wählen Sie den Zeitraum für Auswerten alle für die Regelgruppe aus. Die Standardeinstellung ist 1 Minute.
  4. Wählen Sie aus, ob die Regelgruppe beim Erstellen aktiviert werden soll.
  5. Wählen Sie Weiter aus, um die Regeln in der Gruppe zu konfigurieren.

Screenshot, der die Konfiguration der Prometheus-Regelgruppendetails zeigt.

Konfigurieren der Regeln in der Gruppe

  • Auf der Registerkarte Regeln der Regelgruppe können Sie die Liste der Aufzeichnungsregeln und Warnungsregeln in der Gruppe anzeigen.

  • Sie können Regeln hinzufügen; die Obergrenze für eine einzelne Gruppe sind 20 Regeln.

  • Die Regeln werden in der Reihenfolge ausgewertet, in der sie in der Gruppe erscheinen. Sie können die Reihenfolge der Regeln mithilfe der Optionen Nach oben und Nach unten ändern.

  • So fügen Sie eine neue Aufzeichnungsregel hinzu:

  1. Wählen Sie + Aufzeichnungsregel hinzufügen, um den Bereich Aufzeichnungsregel erstellen zu öffnen.
  2. Geben Sie den Namen der Regel ein. Dieser Name ist der Name der Metrik, die von der Regel erstellt wird.
  3. Geben Sie den PromQL-Ausdruck für die Regel ein.
  4. Wählen Sie aus, ob die Regel beim Erstellen aktiviert werden soll.
  5. Sie können in Bezeichnungen optional Schlüssel-Wert-Paare für die Regel eingeben. Diese Bezeichnungen werden der von der Regel erstellten Metrik hinzugefügt.
  6. Wählen Sie Erstellen aus, um die neue Regel zur Regelliste hinzuzufügen.

Screenshot, der die Konfiguration der Prometheus-Regelgruppenaufzeichnungsregel zeigt.

  • So fügen Sie eine neue Warnungsregel hinzu:
  1. Wählen Sie + Warnungsregel erstellen aus, um den Bereich „Warnungsregel erstellen“ zu öffnen.
  2. Wählen Sie den Schweregrad der Warnungen aus, die von dieser Regel ausgelöst werden.
  3. Geben Sie den Namen der Regel ein. Dieser Name ist der Name von Warnungen, die von der Regel ausgelöst werden.
  4. Geben Sie den PromQL-Ausdruck für die Regel ein.
  5. Wählen Sie den Wert Für für den Zeitraum zwischen dem Zeitpunkt, zu dem der Warnungsausdruck „true“ wird, und dem Zeitpunkt, zu dem die Warnung ausgelöst wird.
  6. Sie können in Anmerkungen optional Schlüssel-Wert-Paare für die Regel eingeben. Diese Anmerkungen werden Warnungen hinzugefügt, die von dieser Regel ausgelöst werden.
  7. Sie können in Bezeichnungen optional Schlüssel-Wert-Paare für die Regel eingeben. Diese Bezeichnungen werden den von der Regel ausgelösten Warnungen hinzugefügt.
  8. Wählen Sie die Aktionsgruppen aus, die von der Regel ausgelöst werden.
  9. Wählen Sie Warnung automatisch auflösen aus, um Warnungen automatisch aufzulösen, wenn die Regelbedingung während des Zeitraums zum automatischen Auflösen nicht mehr zutrifft.
  10. Wählen Sie aus, ob die Regel beim Erstellen aktiviert werden soll.
  11. Wählen Sie Erstellen aus, um die neue Regel zur Regelliste hinzuzufügen.

Screenshot, der die Konfiguration der Warnungsregel der Prometheus-Regelgruppe zeigt.

Fertigstellen der Erstellung der Regelgruppe

  1. Legen Sie auf der Registerkarte Tags alle erforderlichen Azure-Ressourcentags fest, die der Regelgruppenressource hinzugefügt werden sollen. Screenshot der Registerkarte „Tags“ beim Erstellen einer neuen Warnungsregel
  2. Auf der Registerkarte Überprüfen + Erstellen wird die Regel überprüft, und Sie werden über ggf. vorhandene Probleme informiert. Auf dieser Registerkarte können Sie auch die Option Automatisierungsvorlage anzeigen auswählen und die Vorlage für die Gruppe herunterladen, die Sie erstellen möchten.
  3. Wenn die Überprüfung erfolgreich ist und Sie die Einstellungen geprüft haben, wählen Sie die Schaltfläche Erstellen aus. Screenshot der Registerkarte „Überprüfen und erstellen“ beim Erstellen einer neuen Warnungsregel
  4. Sie können die Bereitstellung der Regelgruppe nachverfolgen, um sicherzustellen, dass sie erfolgreich abgeschlossen wird oder dass Sie bei einem Fehler benachrichtigt werden.

Erstellen einer Prometheus-Regelgruppe mithilfe einer Resource Manager-Vorlage

Sie können eine Resource Manager-Vorlage verwenden, um Prometheus-Regelgruppen, -Warnungsregeln und -Aufzeichnungsregeln zu erstellen und zu konfigurieren. Mithilfe von Resource Manager-Vorlagen können Sie programmgesteuert auf konsistente, reproduzierbare Weise und übergreifend für alle Ihre Umgebungen Regelgruppen erstellen und konfigurieren.

Die grundlegenden Schritte lauten wie folgt:

  1. Verwenden Sie eine der folgenden Vorlagen als JSON-Datei, die das Erstellen der Regelgruppe beschreibt.
  2. Stellen Sie die Vorlage mithilfe einer beliebigen Bereitstellungsmethode bereit, z. B.: Azure-Portal, Azure CLI, Azure PowerShell oder Rest-API.

Beispielvorlage für eine Prometheus-Regelgruppe

Nachfolgend sehen Sie eine Beispielvorlage, mit der eine Prometheus-Regelgruppe erstellt wird, die eine Aufzeichnungsregel und eine Warnungsregel enthält. Diese Vorlage erstellt eine Ressource vom Typ Microsoft.AlertsManagement/prometheusRuleGroups. Der Umfang dieser Gruppe ist auf einen einzelnen AKS-Cluster beschränkt. Die Regeln werden in der Reihenfolge ausgeführt, in der sie innerhalb einer Gruppe aufgelistet sind.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {},
    "variables": {},
    "resources": [
        {
           "name": "sampleRuleGroup",
           "type": "Microsoft.AlertsManagement/prometheusRuleGroups",
           "apiVersion": "2023-03-01",
           "location": "northcentralus",
           "properties": {
                "description": "Sample Prometheus Rule Group",
                "scopes": [
                    "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.monitor/accounts/<azure-monitor-workspace-name>",
                    "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.containerservice/managedclusters/<myClusterName>"
                ],
                "enabled": true,
                "clusterName": "<myCLusterName>",
                "interval": "PT1M",
                "rules": [
                    {
                        "record": "instance:node_cpu_utilisation:rate5m",
                        "expression": "1 - avg without (cpu) (sum without (mode)(rate(node_cpu_seconds_total{job=\"node\", mode=~\"idle|iowait|steal\"}[5m])))",
                        "labels": {
                            "workload_type": "job"
                        },
                        "enabled": true
                    },
                    {
                        "alert": "KubeCPUQuotaOvercommit",
                        "expression": "sum(min without(resource) (kube_resourcequota{job=\"kube-state-metrics\", type=\"hard\", resource=~\"(cpu|requests.cpu)\"})) /  sum(kube_node_status_allocatable{resource=\"cpu\", job=\"kube-state-metrics\"}) > 1.5",
                        "for": "PT5M",
                        "labels": {
                            "team": "prod"
                        },
                        "annotations": {
                            "description": "Cluster has overcommitted CPU resource requests for Namespaces.",
                            "runbook_url": "https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubecpuquotaovercommit",
                            "summary": "Cluster has overcommitted CPU resource requests."
                        },
                        "enabled": true,
                        "severity": 3,
                        "resolveConfiguration": {
                            "autoResolved": true,
                            "timeToResolve": "PT10M"
                        },
                        "actions": [
                            {
                               "actionGroupID": "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.insights/actiongroups/<action-group-name>"
                            }
                        ]
                    }
                ]
            }
        }
    ]
}        

In den folgenden Tabellen werden die einzelnen Eigenschaften in der Regeldefinition beschrieben.

Regelgruppe

Die Regelgruppe enthält die folgenden Eigenschaften.

Name Erforderlich Type Beschreibung
name True Zeichenfolge Name der Prometheus-Regelgruppe
type True Zeichenfolge Microsoft.AlertsManagement/prometheusRuleGroups
apiVersion True Zeichenfolge 2023-03-01
location True Zeichenfolge Ressourcenspeicherort aus den unterstützten Regionen.
properties.description False Zeichenfolge Beschreibung der Regelgruppe
properties.scopes True string[] Muss die-Azure Monitor-Zielarbeitsbereichs-ID enthalten. Kann optional auch eine weitere Cluster-ID enthalten.
properties.enabled False boolean Gruppe aktivieren/deaktivieren. Der Standardwert ist "true".
properties.clusterName False Zeichenfolge Muss mit der Bezeichnung „cluster“ übereinstimmen, die Metriken hinzugefügt wird, die aus Ihrem Zielcluster ausgelesen wurden. Ist standardmäßig auf den letzten Teil (Ressourcenname) der Cluster-ID festgelegt, die in „Bereiche[]“ angezeigt wird.
properties.interval False Zeichenfolge Intervall für Gruppenauswertung. Standard = PT1M

Aufzeichnungsregeln

Der Abschnitt rules enthält die folgenden Eigenschaften für Aufzeichnungsregeln.

Name Erforderlich Type Beschreibung
record True Zeichenfolge Name der Aufzeichnungsregel. Dieser Name wird für die neue Zeitreihe verwendet.
expression True Zeichenfolge PromQL-Ausdruck zum Berechnen des neuen Zeitreihenwerts.
labels True Zeichenfolge Schlüssel-Wert-Paare für Prometheus-Regelbezeichnungen. Diese Bezeichnungen werden der aufgezeichneten Zeitreihe hinzugefügt.
enabled False boolean Gruppe aktivieren/deaktivieren. Der Standardwert ist "true".

Warnungsregeln

Der Abschnitt rules enthält die folgenden Eigenschaften für Warnungsregeln.

Name Erforderlich Type Beschreibung des Dataflows Hinweise
alert False Zeichenfolge Name der Warnungsregel
expression True Zeichenfolge Der auszuwertende PromQL-Ausdruck.
for False Zeichenfolge Timeout für das Auslösen der Warnung. Werte – „PT1M“, „PT5M“ usw.
labels False Objekt (object) Schlüssel-Wert-Paare für Bezeichnungen Bezeichnungen für Prometheus-Warnungsregeln. Diese Bezeichnungen werden Warnungen hinzugefügt, die von dieser Regel ausgelöst werden.
rules.annotations False Objekt (object) Schlüssel-Wert-Paare für Anmerkungen, die der Warnung hinzugefügt werden können.
enabled False boolean Gruppe aktivieren/deaktivieren. Der Standardwert ist "true".
rules.severity False integer Schweregrad der Warnung. 0–4, der Standardwert ist 3 (informativ)
rules.resolveConfigurations.autoResolved False boolean Falls aktiviert, wird die Warnung automatisch aufgelöst, wenn die Bedingung nicht mehr zutrifft. Der Standardwert ist „true“.
rules.resolveConfigurations.timeToResolve False Zeichenfolge Timeout für die automatische Auflösung von Warnungen. Standardwert = „PT5M“
rules.action[].actionGroupId false Zeichenfolge Mindestens eine Ressourcen-ID für Aktionsgruppen. Jede wird aktiviert, sobald eine Warnung ausgelöst wird.

Konvertieren der Prometheus-Regeldatei in eine ARM-Vorlage für die Prometheus-Regelgruppe

Wenn Sie über eine Prometheus-Regelkonfigurationsdatei (im YAML-Format) verfügen, können Sie sie jetzt mithilfe des Hilfsprogramms „az-prom-rules-converter“ in eine ARM-Vorlage der Azure Prometheus-Regelgruppe konvertieren. Die Regeldatei kann eine Definition einer oder mehrerer Regelgruppen enthalten.

Zusätzlich zur Regeldatei müssen Sie dem Hilfsprogramm zusätzliche Eigenschaften bereitstellen, die zum Erstellen der Azure Prometheus-Regelgruppen erforderlich sind, einschließlich: Abonnement, Ressourcengruppe, Speicherort, Azure Monitor-Zielarbeitsbereich, Zielcluster-ID und Aktionsgruppen (für Warnungsregeln). Das Hilfsprogramm erstellt eine Vorlagendatei, die direkt oder in einer Bereitstellungspipe, die einige dieser Eigenschaften als Parameter bereitstellt, bereitgestellt werden kann. Eigenschaften, die Sie für das Hilfsprogramm bereitstellen, werden für alle Regelgruppen in der Vorlage verwendet. Beispielsweise werden alle Regelgruppen in der Datei im selben Abonnement, in derselben Ressourcengruppe und am gleichen Speicherort erstellt und verwenden denselben Azure Monitor-Arbeitsbereich. Wenn eine Aktionsgruppe als Parameter für das Hilfsprogramm bereitgestellt wird, wird dieselbe Aktionsgruppe in allen Warnungsregeln in der Vorlage verwendet. Wenn Sie diese Standardkonfiguration ändern möchten (z. B. verschiedene Aktionsgruppen in verschiedenen Regeln verwenden), können Sie die resultierende Vorlage nach Ihren Anforderungen bearbeiten, bevor Sie sie bereitstellen.

Hinweis

Das Programm „az-prom-convert“ wird als Hilfsprogramm zu Verfügung gestellt. Es wird empfohlen, die resultierende Vorlage zu überprüfen und zu verifizieren, ob sie Ihrer gewollten Konfiguration entspricht.

Erstellen einer Prometheus-Regelgruppe mithilfe der Azure CLI

Sie können die Azure CLI verwenden, um Prometheus-Regelgruppen, -Warnungsregeln und -Aufzeichnungsregeln zu erstellen und zu konfigurieren. In den folgenden Codebeispielen wird Azure Cloud Shell verwendet.

  1. Wählen Sie im PortalCloud Shell aus. Verwenden Sie an der Eingabeaufforderung die folgenden Befehle.

  2. Verwenden Sie den Befehl az alerts-management prometheus-rule-group create, um eine Prometheus-Regelgruppe zu erstellen. Eine ausführliche Dokumentation zum Erstellen von Prometheus-Regelgruppen finden Sie im Abschnitt az alerts-management prometheus-rule-group create der Azure CLI-Befehle zum Erstellen und Verwalten von Prometheus-Regelgruppen.

Beispiel: Erstellen einer neuen Prometheus-Regelgruppe mit Regeln

 az alerts-management prometheus-rule-group create -n TestPrometheusRuleGroup -g TestResourceGroup -l westus --enabled --description "test" --interval PT10M --scopes "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testrg/providers/microsoft.monitor/accounts/testaccount" --rules [{"record":"test","expression":"test","labels":{"team":"prod"}},{"alert":"Billing_Processing_Very_Slow","expression":"test","enabled":"true","severity":2,"for":"PT5M","labels":{"team":"prod"},"annotations":{"annotationName1":"annotationValue1"},"resolveConfiguration":{"autoResolved":"true","timeToResolve":"PT10M"},"actions":[{"actionGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/microsoft.insights/actionGroups/test-action-group-name1","actionProperties":{"key11":"value11","key12":"value12"}},{"actionGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/microsoft.insights/actionGroups/test-action-group-name2","actionProperties":{"key21":"value21","key22":"value22"}}]}]

Erstellen einer neuen Prometheus-Regelgruppe mit PowerShell

Verwenden Sie zum Erstellen einer Prometheus-Regelgruppe mithilfe von PowerShell das Cmdlet new-azprometheusrulegroup.

Beispiel: Erstellen einer Prometheus-Regelgruppendefinition mit Regeln.

$rule1 = New-AzPrometheusRuleObject -Record "job_type:billing_jobs_duration_seconds:99p5m"
$action =  New-AzPrometheusRuleGroupActionObject -ActionGroupId /subscriptions/fffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/MyresourceGroup/providers/microsoft.insights/actiongroups/MyActionGroup -ActionProperty @{"key1" = "value1"}
$Timespan = New-TimeSpan -Minutes 15
$rule2 = New-AzPrometheusRuleObject -Alert Billing_Processing_Very_Slow -Expression "job_type:billing_jobs_duration_seconds:99p5m > 30" -Enabled $false -Severity 3 -For $Timespan -Label @{"team"="prod"} -Annotation @{"annotation" = "value"} -ResolveConfigurationAutoResolved $true -ResolveConfigurationTimeToResolve $Timespan -Action $action
$rules = @($rule1, $rule2)
$scope = "/subscriptions/fffffffff-ffff-ffff-ffff-ffffffffffff/resourcegroups/MyresourceGroup/providers/microsoft.monitor/accounts/MyAccounts"
New-AzPrometheusRuleGroup -ResourceGroupName MyresourceGroup -RuleGroupName MyRuleGroup -Location eastus -Rule $rules -Scope $scope -Enabled

Anzeigen von Prometheus-Regelgruppen

Sie können Ihre Prometheus-Regelgruppen und die darin enthaltenen Regeln auf eine der folgenden Arten im Azure-Portal anzeigen:

  • Suchen Sie auf der Startseite des Portals im Suchfeld nach Prometheus-Regelgruppen.
  • Wählen Sie auf der Startseite des PortalsÜberwachen>Warnungen, und wählen Sie dann Prometheus-Regelgruppen aus. Screenshot, der zeigt, wie man Prometheus-Regelgruppen über den Warnungsbildschirm anzeigen kann.
  • Wählen Sie auf der Seite einer bestimmten Azure Kubernetes Services (AKS)-Ressource oder eines bestimmten Azure Monitor Workspace (AMW) die Option Überwachen>Warnungen und dann Prometheus Rule Groups, um eine Liste der Regelgruppen für diese spezifische Ressource anzuzeigen. Sie können eine Regelgruppe aus der Liste auswählen, um die Details anzuzeigen oder zu bearbeiten.

Anzeigen der Ressourcenintegritätszustände Ihrer Prometheus-Regelgruppen

Sie können nun den Ressourcenintegritätszustand Ihrer Prometheus-Regelgruppe im Portal anzeigen. Auf diese Weise können Sie Probleme in Regelgruppen erkennen, z. B. falsche Konfiguration oder Abfrageeinschränkungsprobleme

  1. Wechseln Sie im Portal zur Übersicht Ihrer Prometheus-Regelgruppe, die Sie überwachen möchten
  2. Wählen Sie im linken Bereich unter Hilfe die Option Ressourcenintegrität aus. Screenshot, der zeigt, wie der Ressourcenintegritätszustand einer Prometheus-Regelgruppe angezeigt werden kann.
  3. Im Bildschirm „Integrität der Regelgruppenressource“ können Sie den aktuellen Verfügbarkeitsstatus der Regelgruppe sowie einen Verlauf der aktuellen Ressourcenintegritätsereignisse bis zu 30 Tage zurück anzeigen. Screenshot, der zeigt, wie der Verlauf der Ressourcenintegrität einer Prometheus-Regelgruppe angezeigt wird.
  • Wenn die Regelgruppe als Verfügbar markiert ist, funktioniert sie erwartungsgemäß.
  • Wenn die Regelgruppe als Herabgestuft markiert ist, funktionieren mindestens eine Regel in der Gruppe nicht wie erwartet. Dies kann darauf zurückzuführen sein, dass die Regelabfrage gedrosselt wird, oder auf andere Probleme, die zum Fehlschlagen der Regelauswertung führen können. Erweitern Sie den Statuseintrag, um weitere Informationen über das erkannte Problem sowie Vorschläge zur Abhilfe oder zur weiteren Fehlerbehebung zu erhalten.
  • Wenn die Regelgruppe als Nicht verfügbar markiert ist, funktioniert die gesamte Regelgruppe nicht wie erwartet. Dies kann auf ein Konfigurationsproblem (z. B. kann der Azure Monitor Workspace nicht erkannt werden) oder auf interne Probleme mit dem Dienst zurückzuführen sein. Erweitern Sie den Statuseintrag, um weitere Informationen über das erkannte Problem sowie Vorschläge zur Abhilfe oder zur weiteren Fehlerbehebung zu erhalten.
  • Wenn die Regelgruppe als Unbekannt markiert ist, ist die gesamte Regelgruppe deaktiviert oder befindet sich in einem unbekannten Zustand.

Deaktivieren und Aktivieren von Regelgruppen

Um eine Regel zu aktivieren oder zu deaktivieren, wählen Sie die Regelgruppe im Azure-Portal aus. Wählen Sie entweder Aktivieren oder Deaktivieren aus, um den Status zu ändern.

Nächste Schritte