

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Riferimento modello
<a name="v9-alerting-template-reference"></a>

****  
**Questo argomento della documentazione è progettato per le aree di lavoro Grafana che supportano la versione 9.x di Grafana.**  
Per le aree di lavoro Grafana che supportano la versione 12.x di Grafana, vedere. [Funzionamento nella versione 12 di Grafana](using-grafana-v12.md)  
Per le aree di lavoro Grafana che supportano la versione 10.x di Grafana, vedere. [Funzionamento nella versione 10 di Grafana](using-grafana-v10.md)  
Per le aree di lavoro Grafana che supportano la versione 8.x di Grafana, vedere. [Funzionamento in Grafana versione 8](using-grafana-v8.md)

Questa sezione fornisce informazioni di riferimento per la creazione dei modelli.

## Dati del modello
<a name="v9-alerting-template-data"></a>

I seguenti dati vengono passati ai modelli di messaggio.


| Nome | Tipo | Note | 
| --- | --- | --- | 
| `Receiver` | stringa | Nome del punto di contatto a cui viene inviata la notifica. | 
| `Status` | stringa | attivazione se viene attivato almeno un avviso, altrimenti risolto. | 
| `Alerts` | Alert | Elenco degli oggetti di avviso inclusi in questa notifica (vedi sotto). | 
| `GroupLabels` | KeyValue | Etichette in base alle quali questi avvisi sono stati raggruppati. | 
| `CommonLabels` | KeyValue | Etichette comuni a tutti gli avvisi inclusi in questa notifica. | 
| `CommonAnnotations` | KeyValue | Annotazioni comuni a tutti gli avvisi inclusi in questa notifica. | 
| `ExternalURL` | stringa | Link di ritorno al Grafana che ha inviato la notifica. Se si utilizza un Alertmanager esterno, ricollega a questo Alertmanager. | 

Il `Alerts` tipo espone due funzioni per filtrare gli avvisi restituiti.
+ `Alerts.Firing`— Restituisce un elenco di avvisi di attivazione.
+ `Alerts.Resolved`— Restituisce un elenco di avvisi risolti.

**Avviso (tipo)**

Il tipo di avviso contiene i seguenti dati.


| Nome | Tipo | Note | 
| --- | --- | --- | 
| Stato | stringa | `firing` o `resolved`. | 
| Etichette | KeyValue | Un set di etichette allegate all'avviso. | 
| Annotazioni | KeyValue | Un insieme di annotazioni allegate all'avviso. | 
| Valori | KeyValue | I valori di tutte le espressioni, incluse le condizioni classiche | 
| StartsAt | Time.time | L'ora in cui l'allarme ha iniziato a scattare. | 
| EndsAt | Tempo. Tempo | Impostato solo se è nota l'ora di fine di un avviso. Altrimenti impostato su un periodo di timeout configurabile dal momento in cui è stato ricevuto l'ultimo avviso. | 
| URL del generatore | stringa | Un link a Grafana o Alertmanager esterno. | 
| URL silenzioso | stringa | Un link per silenziare l'avviso (con le etichette precompilate per questo avviso). Solo per gli avvisi gestiti da Grafana. | 
| URL del pannello di controllo | stringa | Collegamento alla dashboard di Grafana, se la regola di avviso appartiene a una di esse. Solo per gli avvisi gestiti da Grafana. | 
| URL del pannello | stringa | Collegamento al pannello di dashboard di Grafana, se la regola di avviso appartiene a uno. Solo per gli avvisi gestiti da Grafana. | 
| Impronta digitale | stringa | Impronta digitale che può essere utilizzata per identificare l'avviso. | 
| ValueString | stringa | Una stringa che contiene le etichette e il valore di ogni espressione ridotta nell'avviso. | 

 **ExtendedData**

L' ExtendedData oggetto contiene le seguenti proprietà.


| Nome | Tipo | Description | Esempio | 
| --- | --- | --- | --- | 
| Ricevitore | `string` | Il nome del punto di contatto che invia la notifica. | `{{ .Receiver }}` | 
| Stato | `string` | Lo stato è `firing if at least one alert is firing, otherwise resolved.` | `{{ .Status }}` | 
| Avvisi | `[]Alert` | Elenco di tutti gli allarmi attivi e risolti in questa notifica. | `There are {{ len .Alerts }} alerts` | 
| Avvisi di attivazione | `[]Alert` | Elenco di tutti gli allarmi di attivazione contenuti in questa notifica. | `There are {{ len .Alerts.Firing }} firing alerts` | 
| Avvisi risolti | `[]Alert` | Elenco di tutti gli avvisi risolti in questa notifica. | `There are {{ len .Alerts.Resolved }} resolved alerts` | 
| GroupLabels | `KeyValue` | Le etichette che raggruppano questi avvisi in questa notifica. | `{{ .GroupLabels }}` | 
| CommonLabels | `KeyValue` | Le etichette comuni a tutti gli avvisi di questa notifica. | `{{ .CommonLabels }}` | 
| CommonAnnotations | `KeyValue` | Le annotazioni comuni a tutti gli avvisi di questa notifica. | `{{ .CommonAnnotations }}` | 
| URL esterno | `string` | Un collegamento all'area di lavoro Grafana o Alertmanager che ha inviato questa notifica. | `{{ .ExternalURL }}` | 

**KeyValue tipo**

Il `KeyValue` tipo è un insieme di coppie di key/value stringhe che rappresentano etichette e annotazioni.

Oltre all'accesso diretto ai dati archiviati come file`KeyValue`, esistono anche metodi per ordinare, rimuovere e trasformare i dati.


| Nome | Arguments (Argomenti) | Valori restituiti | Note | Esempio | 
| --- | --- | --- | --- | --- | 
| SortedPairs |  | Elenco ordinato di coppie di stringhe di chiavi e valori |  | `{{ .Annotations.SortedPairs }}` | 
| Rimuovi | [] stringa | KeyValue | Restituisce una copia della Key/Value mappa senza le chiavi fornite. | `{{ .Annotations.Remove "summary" }}` | 
| Nomi |  | [] stringa | Elenco dei nomi delle etichette | `{{ .Names }}` | 
| Valori |  | [] stringa | Elenco dei valori delle etichette | `{{ .Values }}` | 

**Time** (Orario)

L'ora proviene dal [https://pkg.go.dev/time#Time](https://pkg.go.dev/time#Time)pacchetto Go. È possibile stampare un orario in diversi formati. Ad esempio, per stampare l'ora di attivazione di un avviso nel formato`Monday, 1st January 2022 at 10:00AM`, scrivi il seguente modello:

```
{{ .StartsAt.Format "Monday, 2 January 2006 at 3:04PM" }}
```

Puoi trovare un riferimento per il formato orario di Go [qui](https://pkg.go.dev/time#pkg-constants).

## Funzioni del modello
<a name="v9-alerting-template-functions"></a>

Utilizzando le funzioni del modello è possibile elaborare etichette e annotazioni per generare notifiche dinamiche. Sono disponibili le seguenti funzioni.


| Nome | Tipo di argomento | Tipo restituito | Description | 
| --- | --- | --- | --- | 
| `humanize` | numero o stringa | stringa | Converte un numero in un formato più leggibile, utilizzando prefissi metrici. | 
| `humanize1024` | numero o stringa | stringa | Come humanize, ma usa 1024 come base anziché 1000. | 
| `humanizeDuration` | numero o stringa | stringa | Converte una durata in secondi in un formato più leggibile. | 
| `humanizePercentage` | numero o stringa | stringa | Converte un valore del rapporto in una frazione di 100. | 
| `humanizeTimestamp` | numero o stringa | stringa | Converte un timestamp Unix in pochi secondi in un formato più leggibile. | 
| `title` | stringa | stringa | Strings.title, mette in maiuscolo il primo carattere di ogni parola. | 
| `toUpper` | stringa | stringa | stringhe. ToUpper, converte tutti i caratteri in maiuscolo. | 
| `toLower` | stringa | stringa | stringhe. ToLower, converte tutti i caratteri in minuscolo. | 
| `match` | motivo, testo | Booleano | espressione regolare. MatchString Verifica una corrispondenza regexp non ancorata. | 
| `reReplaceAll` | modello, sostituzione, testo | stringa | Regexp.ReplaceAllString Sostituzione Regexp, non ancorata. | 
| `graphLink` | string - Oggetto JSON con e campi `expr` `datasource` | stringa | Restituisce il percorso della visualizzazione grafica in Explore per l'espressione e l'origine dati specificate. | 
| `tableLink` | string - Oggetto JSON con `expr` e campi `datasource` | stringa | Restituisce il percorso della vista tabulare in Explore per l'espressione e l'origine dati specificate. | 
| `args` | [] interfaccia {} | mappa [stringa] interfaccia {} | Converte un elenco di oggetti in una mappa con chiavi, ad esempio arg0, arg1. Utilizzate questa funzione per passare più argomenti ai modelli. | 
| `externalURL` | nulla | stringa | Restituisce una stringa che rappresenta l'URL esterno. | 
| `pathPrefix` | nulla | stringa | Restituisce il percorso dell'URL esterno. | 

La tabella seguente mostra esempi di utilizzo di ciascuna funzione.


| Funzione | TemplateString | Input | Expected (Atteso) | 
| --- | --- | --- | --- | 
| umanizzare | {umanizza $value} | 1234567,0 | 1,235 M | 
| umanizza 1024 | {humanize1024 $value} | 1048576,0 | 1 Mi | 
| Durata umanizzata | {UmanizeDuration $value} | 899,99 | 14 m 59 s | 
| Umanizza la percentuale | {humanizePercentage $value} | 0,1234567 | 12,35% | 
| Umanizza il timestamp | {humanizeTimestamp $value} | 1435065584,128 | 2015-06-23 13:19:44.128 \+0000 UTC | 
| titolo | {$valore \| titolo} | un B C | Aa Bb Cc | 
| toUpper | {$valore \| toUpper} | un dB C | A B C | 
| toLower | {$valore \| toLower} | un B C | a b c | 
| match | {match «a\+» $labels.instance} | aa | true | 
| re ReplaceAll | {{re ReplaceAll «localhost :( .\*)» «my.domain: $1" $labels.instance}} | host locale: 3000 | mio.domain:3000 | 
| GraphLink | {{graphLink «{\\" expr\\»:\\ "up\\»,\\ "fonte dati\\»:\\ "gdev-prometheus\\"}»}} |  | /esplorare? left= ["ora-1h», "adesso», "gdev-prometheus», {"datasource» :"gdev-prometheus», "expr» :"up», "instant» :false, "range» :true}] | 
| TableLink | {{tableLink «{\\" expr\\»:\\ "up\\»,\\ "fonte dati\\»:\\ "gdev-prometheus\\"}»}} |  | /esplorare? left= ["ora-1h», "adesso», "gdev-prometheus», {"datasource» :"gdev-prometheus», "expr» :"up», "instant» :true, "range» :false}] | 
| args | {{define «x"}} {{.arg0}} {{.arg1}} {{end}} {{template «x» (args 1 «2")}} |  | 1 2 | 
| URL esterno | {URL esterno} |  | http://localhost/path/prefix | 
| Prefisso del percorso | {PathPrefix} |  | /path/prefix | 