Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile creare una regola di avviso per le metriche di Prometheus o le metriche personalizzate (OTel) archiviate nell'area di lavoro di Monitoraggio di Azure, con una condizione di avviso delle metriche basata su query usando PromQL.
Questo articolo offre una panoramica degli avvisi delle metriche basati su query in Monitoraggio di Azure, concentrandosi su come usare PromQL per creare regole di avviso per le metriche di Prometheus o personalizzate (OTel) archiviate in un'area di lavoro di Monitoraggio di Azure.
Che cos'è PromQL?
PromQL è un linguaggio di query basato su metriche open source con:
- Set di funzioni e operatori delle metriche per la selezione, l'aggregazione e la trasformazione dei dati.
- Manipolazione, valutazione e avvisi nativi multidimensionali, inclusi filtraggio delle dimensioni, aggregazione e ridenominazione.
- Condizioni composte, tra cui annidamento della condizione.
- Unione e confronto di più metriche
- Riutilizzare le espressioni di avviso PromQL dalla community o dai sistemi di monitoraggio basati su Prometheus esistenti.
Capacità
-
Ambiti delle regole incentrati sulle risorse e incentrati sulle aree di lavoro.
- Le regole incentrate sulle risorse applicano query alle metriche di risorse specifiche di Azure, come Azure Kubernetes Services (AKS) o le macchine virtuali, con granularità RBAC che richiede l'accesso solo alla risorsa monitorata.
- Le regole incentrate sull'area di lavoro consentono agli utenti autorizzati di eseguire query su qualsiasi metrica generata nell'area di lavoro da qualsiasi risorsa, incluse le query tra risorse.
- Autorizzazione basata su identità gestite. È possibile autorizzare l'accesso alle aree di lavoro usando l'identità gestita di Azure. L'identità gestita offre accesso sicuro e gestito da Azure alle risorse, migliorando la granularità del controllo degli accessi basato sui ruoli (RBAC) separando i diritti di accesso degli utenti da quelli delle regole. Gli avvisi delle metriche supportano sia le identità assegnate dall'utente che le identità assegnate dal sistema.
-
Personalizzazione degli avvisi innescati. È possibile personalizzare gli avvisi delle metriche basati su query in modo da includere informazioni più contestuali specifiche dello scenario.
- Oggetto di posta elettronica personalizzato: configurare gli argomenti di posta elettronica di notifica degli avvisi con informazioni specifiche dello scenario. Usare lo schema di avviso comune per identificare i campi nel payload.
- Proprietà personalizzate: aggiungere testo, collegamenti o metadati specifici dello scenario al payload dell'avviso.
Annotazioni
Sia l'oggetto di posta elettronica personalizzato che le proprietà personalizzate supportano l'inserimento dinamico delle proprietà dal payload dell'avviso.
Avvisi delle metriche basati su query confrontati con i gruppi di regole Prometheus
Gli avvisi delle metriche basati su query sono un'alternativa agli avvisi nei gruppi di regole Prometheus.
Vantaggi dell'uso degli avvisi delle metriche basati su query:
- Le regole di avviso vengono configurate e gestite come singole risorse di Azure. Non è necessario creare e gestire gruppi di regole sopra le singole regole.
- Supporto per query incentrate sulle risorse e controllo degli accessi basato sui ruoli: gli utenti non necessitano dei diritti di accesso all'area di lavoro.
- Supporto per l'autenticazione e l'autorizzazione tramite Identità gestita di Azure.
- Supporto della personalizzazione dell'oggetto del messaggio di posta elettronica.
Differenze nell'uso delle regole di avviso per metriche basate su query rispetto ai gruppi di regole Prometheus
-
Limitazione dell'ambito. Nei gruppi di regole di Prometheus, è possibile limitare l'ambito delle regole a un singolo cluster AKS o ARC, usando la proprietà
clusterName. Con le regole di avviso delle metriche basate su query, la limitazione dell'ambito a un singolo cluster (o qualsiasi altra risorsa) viene eseguita impostando la regolascopesu una risorsa specifica. -
Condizione della regola. La proprietà della regola di avviso della metrica
queryè completamente equivalente alla proprietà dei gruppi di regole di Prometheusexpressione genererebbe gli stessi risultati. Laforproprietà funziona allo stesso modo in entrambi i servizi. -
Gestione delle etichette delle metriche. Gli avvisi delle metriche basati su query supportano completamente la gestione e la modifica delle etichette nelle metriche Prometheus e OTel in base allo standard PromQL. Tuttavia, quando viene generato un avviso, le etichette delle metriche rimanenti e i relativi valori vengono visualizzati nel payload come
dimensions, seguendo la terminologia usata in altri avvisi di Azure e nelle esperienze di Monitoraggio di Azure. - Metadati e informazioni personalizzati. È possibile definire etichette personalizzate e annotazioni per aggiungere metadati dinamici, testo informativo, collegamenti ai runbook e altro ancora al payload degli avvisi nelle regole di avviso del gruppo di regole Prometheus. Negli avvisi delle metriche basate su query, le funzionalità simili vengono fornite tramite proprietà personalizzate.
Identità gestite per avvisi basati su query
È necessario usare le identità gestite di Azure per le regole di avviso delle metriche basate su query.
L'identità gestita deve avere un ruolo di Lettore monitoraggio (o un ruolo personalizzato con autorizzazioni equivalenti) sulla risorsa con ambito o su AMW.
Sono supportati sia i tipi MI assegnati dall'utente che quelli assegnati dal sistema.
Schema e proprietà
La tabella seguente fornisce una spiegazione dello schema e delle proprietà per una regola di avviso delle metriche basata su query.
| Nome | Obbligatorio | TIPO | Description | Note |
|---|---|---|---|---|
| nome | Vero | string | Nome della regola di notifica | |
| ubicazione | Vero | string | Posizione risorsa | Dalle aree supportate nell'anteprima |
| identity.type | Vero | string | Tipo di identità gestita | Assegnato all'utente o Assegnato al sistema |
| identity.userAssignedIdentities | Vero | string | ID risorsa per identità gestita assegnata dall'utente | Necessario se il tipo è UserAssigned |
| properties.enabled | Falso | boolean | Abilitazione/disabilitazione della regola | Valore predefinito = true |
| proprietà.descrizione | Falso | string | Descrizione della regola di avviso | |
| properties.severity | Falso | integer | Gravità dell'avviso | 0-4, il valore predefinito è 3 (informativo) |
| properties.targetResourceType | Falso | string | Tipo di risorsa di destinazione dell'avviso | |
| properties.scopes | Vero | string[] | ID risorsa di Azure | ID della risorsa AMW (per una regola incentrata sull'area di lavoro) o un altro ID della risorsa di Azure, ID del gruppo di risorse, o ID della sottoscrizione (per una regola orientata incentrata sulle risorse). Attualmente è supportato un solo elemento di ambito. |
| properties.evaluationFrequency | Vero | string | Intervallo di valutazione delle regole | Equivalente a Prometheus Interval. |
| properties.criteria.allOf[].name | Vero | string | Nome condizione | |
| properties.criteria.allOf[].query | Vero | string | Query della regola di avviso | "Query di PromQL, equivalente all'espressione della regola di avviso di Prometheus" |
| properties.criteria.allOf[].criterionType | Falso | string | Tipo di condizione | Il valore predefinito è StaticThresholdCriterion (soglia dinamica non supportata nell'anteprima) |
| properties.criteria.failingPeriods.for | Falso | string | Durata della condizione che deve rimanere vero prima di lanciare un avviso | Equivalente alla regola di allerta Prometheus 'for'. Valori : 'PT1M', 'PT5M' e così via. Il valore predefinito è 0 (attiva immediatamente) |
| properties.resolveConfigurations.autoResolved | Falso | boolean | Risoluzione automatica degli avvisi abilitata | Valore predefinito = true |
| proprietà.risolviConfigurazioni.tempoDiRisoluzione | Falso | string | Timeout di risoluzione automatica degli avvisi | Valore predefinito = "PT5M" |
| properties.actions[].actionGroupId | false | string | elenco ID del gruppo di azioni | matrice di gruppi di azioni che vengono eseguiti quando viene attivato o risolto un avviso |
| properties.actionProperties.EmailSubject | false | string | modello per l'oggetto di posta elettronica personalizzato | |
| properties.customProperties | false | string | coppie chiave/valore per le proprietà personalizzate degli avvisi |
Regioni supportate
- East US
- West Europe
- Stati Uniti orientali 2
- North Europe
- Central US
- West US 2 (Regione Ovest degli Stati Uniti 2)
- UK South
- Sud-est asiatico
- India centrale
- West US
- Germania centro-occidentale
- Japan East
- Canada Central
- Stati Uniti centro-meridionali
- East Asia
- Australia East
- Svezia centrale
- Switzerland North
- Francia centrale
- UAE North
- Norway East
- Korea Central
- Brasile meridionale
- Stati Uniti occidentali 3
- Australia Southeast
- Sudafrica settentrionale
Passaggi successivi
- Creare un cluster AKS (Azure Kubernetes Service) con Prometheus gestito da Azure - la creazione dell'area di lavoro di Monitoraggio di Azure fa parte di questo flusso di lavoro.
- Crea un avviso basato su query