Utilizzare la matematica dei parametri - Amazon CloudWatch

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à.

Utilizzare la matematica dei parametri

La matematica metrica consente di interrogare più CloudWatch metriche e utilizzare espressioni matematiche per creare nuove serie temporali basate su queste metriche. Puoi visualizzare le serie temporali risultanti sulla CloudWatch console e aggiungerle ai dashboard. Utilizzando le AWS Lambda metriche come esempio, puoi dividere la Errors metrica per la metrica per ottenere un Invocations tasso di errore. Quindi aggiungi le serie temporali risultanti a un grafico sulla dashboard. CloudWatch

È inoltre possibile eseguire calcoli matematici dei parametri a livello di codice, utilizzando l'operazione API GetMetricData. Per ulteriori informazioni, consulta GetMetricData.

Aggiungere un'espressione matematica a un grafico CloudWatch

Puoi aggiungere un'espressione matematica a un grafico sulla dashboard CloudWatch . Ogni grafico è limitato all'utilizzo di un massimo di 500 parametri ed espressioni, perciò è possibile aggiungere un'espressione matematica solo se il grafico ha al massimo 499 parametri. Ciò vale anche se non tutti i parametri vengono visualizzati sul grafico.

Per aggiungere un'espressione matematica a un grafico
  1. Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Creare o modificare un grafico. Ci deve essere almeno una metrica nel grafico.

  3. Seleziona Graphed metrics (Parametri nel grafico).

  4. Scegli Math expression (Espressione matematica), Start with an empty expression (Inizia con un'espressione vuota). Viene visualizzata una nuova riga per l'espressione.

  5. Nella nuova riga, nella colonna Dettagli immetti l'espressione matematica. Le tabelle della sezione Sintassi e funzioni della formula di parametri elencano le funzioni che è possibile utilizzare nell'espressione.

    Per usare un parametro o il risultato di un'altra espressione come parte della formula di questa espressione, utilizzare il valore illustrato nella colonna id: ad esempio m1+m2 o e1-MIN(e1).

    Puoi modificare il valore di Id. È possibile includere numeri, lettere un carattere di sottolineatura e devono iniziare con una lettera minuscola. Modificando il valore di Id con un nome più significativo, inoltre, è possibile ottenete un grafico più comprensibile: ad esempio, si può modificare m1 e m2 con errors e requests.

    Suggerimento

    Scegli la freccia verso il basso accanto a Math Expression (Espressione matematica) per visualizzare un elenco di funzioni supportate, che è possibile utilizzare durante la creazione dell'espressione.

  6. Nella colonna Label (Etichetta) dell'espressione, immetti un nome che descriva ciò che l'espressione sta calcolando.

    Se il risultato di un'espressione è una gamma di serie temporali, ognuna di queste serie temporali viene visualizzata nel grafico con una linea separata, con colori diversi. Immediatamente sotto il grafico c'è una legenda per ogni riga nel grafico. Per una singola espressione che produce più serie temporali, le didascalie della legenda per quelle serie temporali sono nel formato Expression-Label Metric-Label. Ad esempio, se il grafico include un parametro con un'etichetta di Errors(Errori) e un'espressione FILL (METRICS (), 0), che ha un'etichetta di Filled With 0: (Completo con 0:), una linea nella legenda sarebbe Filled With 0: Errors (Completo con 0: Errori). Impostare Expression-Label in modo che sia vuota e fare in modo che la legenda mostri solo le etichette originali del parametro.

    Quando un'espressione produce un array di serie temporali nel grafico, non è possibile modificare i colori utilizzati per ciascuna di tali serie temporali.

  7. Dopo aver aggiunto le espressioni desiderate, è possibile semplificare il grafico nascondendo alcuni dei parametri originali. Per nascondere un parametro o un'espressione, deseleziona la casella di controllo a sinistra del campo Id.

Sintassi e funzioni della matematica dei parametri

Le seguenti sezioni spiegano le funzioni disponibili per la matematica dei parametri. Tutte le funzioni devono essere scritte in lettere maiuscole (ad esempio AVG), mentre il campo Id di tutti i parametri e le espressioni matematiche deve iniziare con una lettera minuscola.

Il risultato finale di qualsiasi espressione matematica deve essere una singola serie temporale o un array di serie temporali. Alcune funzioni producono un numero scalare. È possibile utilizzare queste funzioni all'interno di una funzione più grande che produce alla fine una serie temporale. Ad esempio, l'AVG di una singola serie temporale produce un numero scalare, per cui non può essere il risultato finale dell'espressione. Tuttavia, è possibile utilizzarlo nella funzione m1-AVG(m1) per visualizzare una serie temporale della differenza tra ogni singolo punto di dati e il valore medio nella serie temporale.

Abbreviazioni dei tipi di dati

Alcune funzioni sono valide solo per determinati tipi di dati. Le abbreviazioni dell'elenco seguente vengono utilizzate in tabelle di funzioni per rappresentare i tipi di dati supportati per ciascuna funzione:

  • S rappresenta un numero scalare, ad esempio 2, -5 o 50.25.

  • TS è una serie temporale (una serie di valori per una singola CloudWatch metrica nel tempo): ad esempio, la CPUUtilization metrica relativa agli i-1234567890abcdef0 ultimi tre giorni.

  • TS [] è una gamma di serie temporali, ad esempio le serie temporali per più parametri.

  • String[] è un array di stringhe.

La funzione METRICS()

La funzione METRICS() restituisce tutti i parametri della richiesta. Le espressioni matematiche non sono incluse.

È possibile utilizzare METRICS() all'interno di un'espressione maggiore che produce una singola serie temporale o un array di serie temporali. Ad esempio, l'espressione SUM(METRICS()) restituisce una serie temporale (TS) che è la somma dei valori di tutti i parametri nel grafico. METRICS()/100 restituisce un array di serie temporali, ciascuna delle quali è una serie temporale che mostra ciascun punto dati di uno dei parametri diviso per 100.

È possibile utilizzare la funzione METRICS() con una stringa per restituire solo i parametri contenuti nel grafico che contengono tale stringa nel campo Id. Ad esempio, l'espressione SUM(METRICS("errors")) restituisce una serie temporale che è la somma dei valori di tutti i parametri nel grafico che contengono "errori" nel campo Id. È inoltre possibile utilizzare SUM([METRICS("4xx"), METRICS("5xx")]) per abbinare più stringhe.

Funzioni aritmetiche di base

La tabella seguente elenca le funzioni aritmetiche di base supportate. I valori mancanti in una serie temporale vengono trattati come 0. Se il valore di un punto dati porta una funzione a tentare di dividere per zero, il punto dati viene eliminato.

Operazione Argomenti Esempi

Operatori aritmetici: + - * / ^

S, S

S, TS

TS, TS

S, TS[]

TS, TS[]

PERIOD(m1)/60

5 * m1

m1 - m2

SUM(100/[m1, m2])

AVG(METRICS())

METRICS()*100

Unary subtraction -

S

TS

TS[]

-5*m1

-m1

SUM(-[m1, m2])

Confronto e operatori logici

È possibile utilizzare operatori di confronto e logici con una coppia di serie temporali o una coppia di singoli valori scalari. Quando si utilizza un operatore di confronto con una coppia di serie temporali, gli operatori restituiscono una serie temporale in cui ogni punto dati è 0 (false) o 1 (true). Se si utilizza un operatore di confronto su una coppia di valori scalari, viene restituito un singolo valore scalare, 0 o 1.

Quando gli operatori di confronto vengono utilizzati tra due serie temporali e solo una delle serie temporali ha un valore per un determinato timestamp, la funzione considera il valore mancante nell'altra serie temporale come 0.

È possibile utilizzare gli operatori logici in combinazione con gli operatori di confronto, per creare funzioni più complesse.

Nella tabella seguente sono elencati gli operatori supportati.

Tipo di operatore Operatori supportati

Operatori di confronto

==

!=

<=

>=

<

>

Operatori logici

AND o &&

OR o ||

Per vedere come vengono utilizzati questi operatori, supponiamo di avere due serie temporali: metric1 ha valori di [30, 20, 0, 0] e metric2 ha valori di [20, -, 20, -] dove - indica che non c'è alcun valore per quella data e ora.

Expression Output

(metric1 < metric2)

0, 0, 1, 0

(metric1 >;= 30)

1, 0, 0, 0

(metric1 > 15 AND metric2 > 15)

1, 0, 0, 0

Funzioni supportate per la matematica dei parametri

La tabella riportata di seguito descrive le funzioni che è possibile utilizzare in espressioni matematiche. Immetti tutte le funzioni in lettere maiuscole.

Il risultato finale di qualsiasi espressione matematica deve essere una singola serie temporale o un array di serie temporali. Alcune funzioni nelle tabelle nelle seguenti sezioni producono un numero scalare. È possibile utilizzare queste funzioni all'interno di una funzione più grande che produce alla fine una serie temporale. Ad esempio, l'AVG di una singola serie temporale produce un numero scalare, per cui non può essere il risultato finale dell'espressione. Tuttavia, è possibile utilizzarlo nella funzione m1-AVG(m1) per visualizzare una serie temporale della differenza tra ogni singolo punto di dati e il valore medio di quel punto di dati.

Nella tabella riportata di seguito, ogni esempio nella colonna Examples (Esempi) è un'espressione che consente di ottenere una singola serie temporale o un array di serie temporali. Questo esempio mostra come le funzioni che restituiscono numeri scalari possono essere utilizzate come parte di un'espressione valida che produce una singola serie temporale.

Funzione Argomenti Tipo restituito * Descrizione Esempi Supportato per multi-account?

ABS

TS

TS[]

TS

TS[]

Restituisce il valore assoluto di ogni punto dati.

ABS(m1-m2)

MIN(ABS([m1, m2]))

ABS(METRICS())

ANOMALY_DETECTION_BAND

TS

TS, S

TS[]

Restituisce un intervallo di rilevamento delle anomalie per il parametro specificato. L'intervallo è composto da due serie temporali, una che rappresenta il limite superiore del valore previsto "normale" del parametro e l'altra che rappresenta il limite inferiore. La funzione può richiedere due argomenti. Il primo è l'ID del parametro per il quale creare l'intervallo. Il secondo argomento è il numero di deviazioni standard da usare per l'intervallo. Se non si specifica questo argomento, viene utilizzato il valore predefinito 2. Per ulteriori informazioni, consulta Utilizzo del CloudWatch rilevamento delle anomalie.

ANOMALY_DETECTION_BAND(m1)

ANOMALY_DETECTION_BAND(m1,4)

AVG

TS

TS[]

S

TS

L'AVG di una singola serie temporale restituisce un valore scalare con la media di tutti i punti di dati del parametro. L'AVG di un array di serie temporali restituisce una singola serie temporale. I valori mancanti vengono trattati come 0.

Nota

Si consiglia di non utilizzare questa funzione negli CloudWatch allarmi se si desidera che la funzione restituisca uno scalare. Ad esempio, AVG(m2). Ogni volta che un allarme valuta se cambiare stato, CloudWatch tenta di recuperare un numero maggiore di punti dati rispetto al numero specificato come Periodi di valutazione. Questa funzione agisce in modo diverso quando vengono richiesti dati aggiuntivi.

Per utilizzare questa funzione con gli allarmi, in particolare gli allarmi con operazioni di dimensionamento automatico, si consiglia di impostare l'allarme in modo che utilizzi M punti dati su N, dove M < N.

SUM([m1,m2])/AVG(m2)

AVG(METRICS())

CEIL

TS

TS[]

TS

TS[]

Restituisce il valore limite ogni parametro. Il valore limite è il numero intero più piccolo maggiore o uguale a ciascun valore.

CEIL(m1)

CEIL(METRICS())

SUM(CEIL(METRICS()))

DATAPOINT_COUNT

TS

TS[]

S

TS

Restituisce un conteggio dei punti dati che hanno segnalato valori. È utile per calcolare le medie di parametri sparse.

Nota

Si consiglia di non utilizzare questa funzione negli CloudWatch allarmi. Ogni volta che un allarme valuta se cambiare stato, CloudWatch tenta di recuperare un numero maggiore di punti dati rispetto al numero specificato come Periodi di valutazione. Questa funzione agisce in modo diverso quando vengono richiesti dati aggiuntivi.

SUM(m1) / DATAPOINT_COUNT(m1)

DATAPOINT_COUNT(METRICS())

DB_PERF_INSIGHTS

Stringa, stringa, stringa

String, String, String[]

TS (se viene fornita una singola stringa)

TS[] (se viene fornito un array di stringhe)

Restituisce i parametri del contatore di Approfondimenti sulle prestazioni per database come Amazon Relational Database Service e Amazon DocumentDB (compatibile con MongoDB). Questa funzione restituisce la stessa quantità di dati che è possibile ottenere interrogando direttamente le API di Approfondimenti sulle prestazioni. È possibile utilizzare queste metriche CloudWatch per rappresentare graficamente e creare allarmi.

Importante

Quando usi questa funzione, devi specificare l'ID univoco della risorsa del database. È diverso dall'identificatore del database. Per trovare l'ID della risorsa del database nella console Amazon RDS, scegli l'istanza database per vederne i dettagli. Quindi seleziona la scheda Configurazione. ID risorsa è visualizzato nella sezione Configurazione.

DB_PERF_INSIGHTS introduce il parametro DBLoad anche a intervalli inferiori al minuto.

Le metriche di Performance Insights recuperate con questa funzione non vengono archiviate in. CloudWatch Pertanto, alcune CloudWatch funzionalità come l'osservabilità tra account, il rilevamento delle anomalie, i flussi di metriche, il metrics explorer e Metric Insights non funzionano con le metriche di Performance Insights recuperate con DB_PERF_INSIGHTS.

Una singola richiesta che utilizza la funzione DB_PERF_INSIGHTS può recuperare il seguente numero di punti dati.

  • 1080 punti dati per periodi ad alta risoluzione (1 s, 10 s, 30 s)

  • 1440 punti dati per periodi di risoluzione standard (1 m, 5 m, 1 ora, 1d)

La funzione DB_PERF_INSIGHTS supporta solo le seguenti lunghezze di periodo:

  • 1 secondo

  • 10 secondi

  • 30 secondi

  • 1 minuto

  • 5 minuti

  • 1 ora

  • 1 giorno

Per ulteriori informazioni su Approfondimenti sulle prestazioni di Amazon RDS, consulta Approfondimenti sulle prestazioni per i parametri del contatore.

Per ulteriori informazioni su Approfondimenti sulle prestazioni di Amazon DocumentDB, consulta Approfondimenti sulle prestazioni per i parametri del contatore.

Nota

I parametri ad alta risoluzione con granularità inferiore al minuto recuperati da DB_PERF_INSIGHTS sono applicabili solo al parametro DBLoad o ai parametri del sistema operativo se è stato abilitato il monitoraggio avanzato a una risoluzione più elevata. Per ulteriori informazioni sul monitoraggio avanzato di Amazon RDS, consulta Monitoraggio dei parametri del sistema operativo con il monitoraggio avanzato.

È possibile creare un allarme ad alta risoluzione utilizzando la funzione DB_PERF_INSIGHTS per un intervallo di tempo massimo di tre ore. È possibile utilizzare la CloudWatch console per rappresentare graficamente le metriche recuperate con la funzione DB_PERF_INSIGHTS per qualsiasi intervallo di tempo.

DB_PERF_INSIGHTS(‘RDS', ‘db-ABCDEFGHIJKLMNOPQRSTUVWXY1', ‘os.cpuUtilization.user.avg')

DB_PERF_INSIGHTS(‘DOCDB, ‘db-ABCDEFGHIJKLMNOPQRSTUVWXY1', [‘os.cpuUtilization.idle.avg', ‘os.cpuUtilization.user.max'])

DIFF

TS

TS[]

TS

TS[]

Restituisce la differenza tra ogni valore della serie temporale e il valore precedente di quella serie temporale.

DIFF(m1)

DIFF_TIME

TS

TS[]

TS

TS[]

Restituisce la differenza in secondi tra il timestamp di ogni valore della serie temporale e il timestamp del valore precedente di quella serie temporale.

DIFF_TIME(METRICS())

FILL

TS, [S | REPEAT | LINEAR]

TS[], [TS | S | REPEAT | LINEAR]

TS

TS[]

Riempie i valori mancanti di una serie temporale. Ci sono diverse opzioni per i valori da utilizzare come filler per i valori mancanti:

  • È possibile specificare un valore da utilizzare come valore filler.

  • È possibile specificare un parametro da utilizzare come valore filler.

  • Puoi utilizzare la parola chiave REPEAT per riempire i valori mancanti con il valore effettivo più recente del parametro prima del valore mancante.

  • Puoi utilizzare la parola chiave LINEAR per riempire i valori mancanti con valori che creano un'interpolazione lineare tra i valori all'inizio e alla fine dello spazio.

Nota

Quando usi questa funzione in un avviso, puoi riscontrare un problema se i tuoi parametri vengono pubblicati con un leggero ritardo e il minuto più recente non ha mai dati. In questo caso, FILL sostituisce il punto dati mancante con il valore richiesto. Ciò fa sì che il punto dati più recente per il parametro sia sempre il valore FILL, che può bloccare l'allarme nello stato OK o ALARM. Puoi aggirare questo problema usando un allarme M di N. Per ulteriori informazioni, consulta Valutazione di un allarme.

FILL(m1,10)

FILL(METRICS(), 0)

FILL(METRICS(), m1)

FILL(m1, MIN(m1))

FILL(m1, REPEAT)

FILL(METRICS(), LINEAR)

FIRST

LAST

TS[]

TS

Restituisce la prima o l'ultima serie temporale da un array di serie temporali. Questo è utile quando viene utilizzato con la funzione SORT. Può anche essere utilizzato per ottenere le soglie minime e massime dalla funzione ANOMALY_DETECTION_BAND.

IF(FIRST(SORT(METRICS(), AVG, DESC))>100, 1, 0) esamina il parametro principale da un array, che viene ordinato per AVG. Restituisce quindi un 1 o uno 0 per ogni punto di dati, a seconda se il valore del punto di dati è superiore a 100.

LAST(ANOMALY_DETECTION_BAND(m1)) restituisce il limite superiore della banda di previsione dell'anomalia.

FLOOR

TS

TS[]

TS

TS[]

Restituisce il valore minimo di ciascun parametro. Il valore minimo è il numero intero più grande minore o uguale a ciascun valore.

FLOOR(m1)

FLOOR(METRICS())

IF

Espressione IF

TS

Utilizzare IF insieme a un operatore di confronto per filtrare i punti dati da una serie temporale o creare una serie temporale mista composta da più serie temporali raccolte. Per ulteriori informazioni, consulta Utilizzo delle espressioni IF.

Per alcuni esempi, consulta Utilizzo delle espressioni IF.

INSIGHT_RULE_METRIC

INSIGHT_RULE_METRIC(ruleName, metricName)

TS

Utilizza INSIGHT_RULE_METRIC per estrarre le statistiche da una regola in Contributor Insights. Per ulteriori informazioni, consulta Rappresentazione grafica dei parametri generati dalle regole.

LAMBDA

LAMBDA ([, opzional-arg] *) LambdaFunctionName

TS

TS[]

Richiama una funzione Lambda per interrogare le metriche da un'origine dati che non lo è. CloudWatch Per ulteriori informazioni, consulta Come passare argomenti alla funzione Lambda.

LOG

TS

TS[]

TS

TS[]

Il LOG di una serie temporale restituisce il valore logaritmico naturale di ogni valore della serie temporale.

LOG(METRICS())

LOG10

TS

TS[]

TS

TS[]

Il LOG10 di una serie temporale restituisce il valore logaritmico in base 10 di ogni valore della serie temporale.

LOG10(m1)

MAX

TS

TS[]

S

TS

Il MAX di una singola serie temporale restituisce un valore scalare con il valore massimo di tutti i punti di dati del parametro.

Se si immette una matrice di serie temporali, la funzione MAX crea e restituisce una serie temporale costituita dal valore più alto per ogni punto dati, tra le serie temporali utilizzate come input.

Nota

Si consiglia di non utilizzare questa funzione negli CloudWatch allarmi se si desidera che la funzione restituisca uno scalare. Ad esempio, MAX(m2) ogni volta che un allarme valuta se cambiare stato, CloudWatch tenta di recuperare un numero maggiore di punti dati rispetto al numero specificato come Periodi di valutazione. Questa funzione agisce in modo diverso quando vengono richiesti dati aggiuntivi.

MAX(m1)/m1

MAX(METRICS())

METRIC_COUNT

TS[]

S

Restituisce il numero di parametri nell'array di serie temporali.

m1/METRIC_COUNT(METRICS())

PARAMETRI

null

string

TS[]

La funzione METRICS () restituisce tutte le CloudWatch metriche della richiesta. Le espressioni matematiche non sono incluse.

È possibile utilizzare METRICS() all'interno di un'espressione maggiore che produce una singola serie temporale o un array di serie temporali.

È possibile utilizzare la funzione METRICS() con una stringa per restituire solo i parametri contenuti nel grafico che contengono tale stringa nel campo Id. Ad esempio, l'espressione SUM(METRICS("errors")) restituisce una serie temporale che è la somma dei valori di tutti i parametri nel grafico che contengono "errori" nel campo Id. È inoltre possibile utilizzare SUM([METRICS("4xx"), METRICS("5xx")]) per abbinare più stringhe.

AVG(METRICS())

SUM(METRICS("errors"))

MIN

TS

TS[]

S

TS

Il MIN di una singola serie temporale restituisce un valore scalare con il valore minimo di tutti i punti di dati del parametro.

Se si immette una matrice di serie temporali, la funzione MIN crea e restituisce una serie temporale costituita dal valore più basso per ogni punto dati, tra le serie temporali utilizzate come input.

Se si immette una matrice di serie temporali, la funzione MIN crea e restituisce una serie temporale costituita dal valore più basso per ogni punto dati, tra le serie temporali utilizzate come input.

Nota

Si consiglia di non utilizzare questa funzione negli CloudWatch allarmi se si desidera che la funzione restituisca uno scalare. Ad esempio, MIN(m2) ogni volta che un allarme valuta se cambiare stato, CloudWatch tenta di recuperare un numero maggiore di punti dati rispetto al numero specificato come Periodi di valutazione. Questa funzione agisce in modo diverso quando vengono richiesti dati aggiuntivi.

m1-MIN(m1)

MIN(METRICS())

MINUTO

ORA

GIORNO

DATA

MESE

ANNO

EPOCA

TS

TS

Queste funzioni prendono il periodo e l'intervallo della serie temporale e restituiscono una nuova serie temporale non sparse in cui ogni valore è basato sul relativo timestamp.

  • MINUTE restituisce una serie temporale non sparse di numeri interi compresi tra 0 e 59 che rappresentano il minuto UTC di ogni timestamp nella serie temporale originale.

  • HOUR restituisce una serie temporale non sparse di numeri interi compresi tra 0 e 23 che rappresentano l'ora UTC di ogni timestamp nella serie temporale originale.

  • DAY restituisce una serie temporale non sparse di numeri interi tra 1 e 7 che rappresentano il giorno UTC della settimana di ogni timestamp nella serie temporale originale. 1 rappresenta il lunedì e 7 la domenica.

  • DATE restituisce una serie temporale non sparse di numeri interi tra 1 e 31 che rappresentano il giorno UTC del mese di ogni timestamp nella serie temporale originale.

  • MONTH restituisce una serie temporale non sparse di numeri interi tra 1 e 12 che rappresentano il mese UTC di ogni timestamp nella serie temporale originale. 1 rappresenta gennaio e 12 rappresenta dicembre.

  • YEAR restituisce una serie temporale non sparse di numeri interi che rappresentano l'anno UTC di ogni timestamp nella serie temporale originale.

  • EPOCH restituisce una serie temporale non sparsa di interi che rappresentano il tempo UTC in secondi dall'epoca di ogni timestamp nella serie temporale originale. L'epoca è il 1° gennaio 1970.

MINUTE(m1)

IF(DAY(m1)<6,m1) restituisce i parametri solo dai giorni feriali, dal lunedì al venerdì.

IF(MONTH(m1) == 4,m1) restituisce solo i parametri pubblicati ad aprile.

PERIODO

TS

S

Restituisce il periodo di un parametro in secondi. L'input valido è un parametro, non i risultati di altre espressioni.

m1/PERIOD(m1)

TARIFFA

TS

TS[]

TS

TS[]

Restituisce la percentuale di variazione del parametro al secondo. Questo viene calcolato come la differenza tra il valore dell'ultimo punto dati e il valore precedente, diviso per la differenza temporale in secondi tra i due valori.

Importante

L'impostazione di allarmi su espressioni che utilizzano la funzione RATE su metriche con dati sparsi può comportarsi in modo imprevedibile, poiché l'intervallo di punti dati recuperato durante la valutazione dell'allarme può variare in base all'ultima pubblicazione dei punti dati.

RATE(m1)

RATE(METRICS())

REMOVE_EMPTY

TS[]

TS[]

Rimuove tutte le serie temporali che non dispongono di punti di dati da una gamma di serie temporali. Il risultato è un gamma di serie temporali in cui ogni serie temporale contiene almeno un punto di dati.

Nota

Ti consigliamo di non utilizzare questa funzione negli allarmi. CloudWatch Ogni volta che un allarme valuta se cambiare stato, CloudWatch tenta di recuperare un numero maggiore di punti dati rispetto al numero specificato come Periodi di valutazione. Questa funzione agisce in modo diverso quando vengono richiesti dati aggiuntivi.

REMOVE_EMPTY (METRICS ())

RUNNING_SUM

TS

TS[]

TS

TS[]

Restituisce una serie temporale con la somma parziale dei valori della serie temporale originale.

Nota

Si consiglia di non utilizzare questa funzione negli CloudWatch allarmi. Ogni volta che un allarme valuta se cambiare stato, CloudWatch tenta di recuperare un numero maggiore di punti dati rispetto al numero specificato come Periodi di valutazione. Questa funzione agisce in modo diverso quando vengono richiesti dati aggiuntivi.

RUNNING_SUM([m1,m2])

SEARCH

Espressione di ricerca

Uno o più TS

Restituisce una o più serie temporali che corrispondono a un criterio di ricerca specificato. La funzione SEARCH consente di aggiungere più serie temporali correlate a un grafico con un'espressione. Il grafico viene aggiornato in modo dinamico per includere nuovi parametri, che vengono aggiunti successivamente e soddisfano i criteri di ricerca. Per ulteriori informazioni, consulta Utilizzo delle espressioni di ricerca nei grafici.

Non puoi creare un allarme in base a un'espressione SEARCH. Questo perché le espressioni di ricerca restituiscono più serie temporali e un allarme basato su un'espressione matematica può osservare solo una serie temporale.

Se hai effettuato l'accesso a un account di monitoraggio in modalità osservabile CloudWatch su più account, la funzione RICERCA trova le metriche negli account di origine e nell'account di monitoraggio.

SERVICE_QUOTA

TS che è un parametro di utilizzo

TS

Restituisce la quota di servizio per il parametro di utilizzo specificato. Puoi utilizzare questa opzione per visualizzare il modo in cui l'utilizzo corrente si rapporta alla quota e per impostare gli allarmi che ti avvisano quando ti avvicini alla quota. Per ulteriori informazioni, consulta AWS metriche di utilizzo.

SEZIONE

(TS[], S, S) or (TS[], S)

TS[]

TS

Recupera parte di un array di serie temporali. Ciò è particolarmente utile se combinato con SORT. Ad esempio, è possibile escludere il risultato principale da un array di serie temporali.

È possibile utilizzare due argomenti scalari per definire il set di serie temporali che si desidera ottenere. I due scalari definiscono l'inizio (inclusivo) e la fine (esclusivo) dell'array da ottenere. L'array è a indice zero, quindi la prima serie temporale nell'array è la serie temporale 0. In alternativa, puoi specificare un solo valore e CloudWatch restituire tutte le serie temporali che iniziano con quel valore.

SLICE(SORT(METRICS(), SUM, DESC), 0, 10) restituisce i dieci parametri dall'array dei parametri nella richiesta che hanno il valore SUM più alto.

SLICE(SORT(METRICS(), AVG, ASC), 5) ordina l'array dei parametri in base alla statistica AVG, quindi restituisce tutte le serie temporali ad eccezione delle cinque con AVG più basso.

SORT

(TS[], FUNCTION, SORT_ORDER)

(TS[], FUNCTION, SORT_ORDER, S)

TS[]

Ordina un array di serie temporali in base alla funzione specificata. La funzione utilizzata può essere AVG, MIN, MAX o SUM. L'ordinamento può essere ASC per crescente (valori più bassi prima) o DESC per ordinare prima i valori più alti. È possibile specificare facoltativamente un numero dopo l'ordinamento che funga da limite. Ad esempio, specificando un limite di 5 vengono restituite solo le prime 5 serie temporali dall'ordinamento.

Quando questa funzione matematica viene visualizzata su un grafico, anche le etichette di ogni parametro nel grafico vengono ordinate e numerate.

SORT(METRICS(), AVG, DESC, 10) calcola il valore medio di ogni serie temporale, ordina le serie temporali con i valori più alti all'inizio dell'ordinamento e restituisce solo le 10 serie temporali con le medie più alte.

SORT(METRICS(), MAX, ASC) ordina l'array dei parametri in base alla statistica MAX, quindi le restituisce tutte in ordine crescente.

STDDEV

TS

TS[]

S

TS

Lo STDDEV di una singola serie temporale restituisce un valore scalare che rappresenta la deviazione standard di tutti i punti di dati del parametro. Lo STDDEV di una gamma di serie temporali restituisce una singola serie temporale.

Nota

Si consiglia di non utilizzare questa funzione negli CloudWatch allarmi se si desidera che la funzione restituisca uno scalare. Ad esempio, STDDEV(m2) ogni volta che un allarme valuta se cambiare stato, CloudWatch tenta di recuperare un numero maggiore di punti dati rispetto al numero specificato come Periodi di valutazione. Questa funzione agisce in modo diverso quando vengono richiesti dati aggiuntivi.

m1/STDDEV(m1)

STDDEV(METRICS())

SUM

TS

TS[]

S

TS

La SUM di una singola serie temporale restituisce un valore scalare che rappresenta la somma dei valori di tutti i punti di dati del parametro. La funzione SUM di un array di serie temporali restituisce una singola serie temporale.

Nota

Si consiglia di non utilizzare questa funzione negli CloudWatch allarmi se si desidera che la funzione restituisca uno scalare. Ad esempio, SUM(m1). Ogni volta che un allarme valuta se cambiare stato, CloudWatch tenta di recuperare un numero maggiore di punti dati rispetto al numero specificato come Periodi di valutazione. Questa funzione agisce in modo diverso quando vengono richiesti dati aggiuntivi.

SUM(METRICS())/SUM(m1)

SUM([m1,m2])

SUM(METRICS("errors"))/SUM(METRICS("requests"))*100

TIME_SERIES

S

TS

Restituisce una serie temporale non sparse in cui ogni valore è impostato su un argomento scalare.

TIME_SERIES(MAX(m1))

TIME_SERIES(5*AVG(m1))

TIME_SERIES(10)

*L'utilizzo solo di una funzione che restituisce solo un numero scalare non è valido, così come tutti i risultati finali di espressioni devono essere una singola serie temporale o un array di serie temporali. Al contrario, utilizzare queste funzioni come parte di un'espressione più grande che restituisce una serie temporale.

Utilizzo delle espressioni IF

Utilizzare IF insieme a un operatore di confronto per filtrare i punti dati da una serie temporale o creare una serie temporale mista composta da più serie temporali raccolte.

IF utilizza gli argomenti seguenti:

IF(condition, trueValue, falseValue)

La condizione valuta FALSE se il valore del punto di dati di condizione è 0 e TRUE se il valore della condizione è qualsiasi altro valore, se tale valore è positivo o negativo. Se la condizione è una serie temporale, viene valutata separatamente per ogni timestamp.

Di seguito sono elencate le sintassi valide. Per ciascuna di queste sintassi, l'output è una singola serie temporale.

  • IF(TS Comparison Operator S, S | TS, S | TS)

    Nota

    Se TS comparison operator S è TRUE ma metric2 non ha un punto dati corrispondente, l'output sarà 0.

  • IF(TS, TS, TS)

  • IF(TS, S, TS)

  • IF(TS, TS, S)

  • IF(TS, S, S)

  • IF(S, TS, TS)

Le sezioni seguenti forniscono ulteriori dettagli ed esempi per queste sintassi.

IF(TS Comparison Operator S, scalar2 | metric2, scalar3 | metric3)

Il corrispondente valore della serie temporale di output:

  • ha il valore di scalar2 o metric2, se TS Comparison Operator S è TRUE

  • ha il valore di scalar3 o metric3, se TS Comparison Operator S è FALSE

  • ha il valore 0 se l'operatore di confronto TS è TRUE e il punto dati corrispondente in metric2 non esiste.

  • ha il valore 0 se l'operatore di confronto TS è FALSE e il punto dati corrispondente in metric3 non esiste.

  • è una serie temporale vuota, se il punto di dati corrispondente di non esiste in metric3, o se scalar3/metric3 viene omesso dall'espressione

IF(metric1, metric2, metric3)

Per ogni punto di dati di metric1, il corrispondente valore della serie temporale di output:

  • ha il valore di metric2, se il punto di dati corrispondente di metric1 è TRUE.

  • ha il valore di metric3, se il punto di dati corrispondente di metric1 è FALSE.

  • ha il valore 0, se il punto di dati corrispondente di metric1 è TRUE e il punto di dati corrispondente non esiste in metric2.

  • viene eliminato, se il punto dati corrispondente di metric1 è FALSE e il punto dati corrispondente non esiste in metric3

  • viene eliminato se il punto dati corrispondente di metric1 è FALSE e metric3 viene omesso dall'espressione.

  • viene eliminato, se manca il punto dati corrispondente di metric1.

Nella tabella seguente viene illustrato un esempio per questa sintassi.

Parametro o funzione Valori

(metric1)

[1, 1, 0, 0, -]

(metric2)

[30, -, 0, 0, 30]

(metric3)

[0, 0, 20, -, 20]

IF(metric1, metric2, metric3)

[30, 0, 20, 0, -]

IF(metric1, scalar2, metric3)

Per ogni punto di dati di metric1, il corrispondente valore della serie temporale di output:

  • ha il valore di scalar2, se il punto dati corrispondente di metric1 è TRUE.

  • ha il valore di metric3, se il punto di dati corrispondente di metric1 è FALSE.

  • viene eliminato, se il punto di dati corrispondente di metric1 è FALSE e il punto di dati corrispondente non esiste su metric3 o se metric3 viene omesso dall'espressione.

Parametro o funzione Valori

(metric1)

[1, 1, 0, 0, -]

scalar2

5

(metric3)

[0, 0, 20, -, 20]

IF(metric1, scalar2, metric3)

[5, 5, 20, -, -]

IF(metric1, metric2, scalar3)

Per ogni punto di dati di metric1, il corrispondente valore della serie temporale di output:

  • ha il valore di metric2, se il punto di dati corrispondente di metric1 è TRUE.

  • ha il valore di scalar3, se il punto di dati corrispondente di metric1 è FALSE.

  • ha il valore 0, se il punto di dati corrispondente di metric1 è TRUE e il punto di dati corrispondente non esiste in metric2.

  • viene eliminato se il punto dati corrispondente in metric1 non esiste.

Parametro o funzione Valori

(metric1)

[1, 1, 0, 0, -]

(metric2)

[30, -, 0, 0, 30]

scalar3

5

IF(metric1, metric2, scalar3)

[30, 0, 5, 5, -]

IF(scalar1, metric2, metric3)

Il corrispondente valore della serie temporale di output:

  • ha il valore di metric2, se scalar1 è TRUE.

  • ha il valore di metric3, se scalar1 è FALSE.

  • è una serie temporale vuota, se metric3 viene omesso dall'espressione.

Esempi di casi d'uso per le espressioni IF

Gli esempi seguenti illustrano i possibili usi della funzione IF .

  • Per visualizzare solo i valori inferiori di un parametro:

    IF(metric1<400, metric1)

  • Per modificare ogni punto di dati in un parametro in uno dei due valori, per mostrare valori massimi e minimi relativi del parametro originale:

    IF(metric1<400, 10, 2)

  • Per visualizzare un 1 per ogni timestamp in cui la latenza supera la soglia e visualizzare uno 0 per tutti gli altri punti di dati:

    IF(latency>threshold, 1, 0)

Usa la matematica metrica con l'operazione API GetMetricData

Puoi utilizzare GetMetricData per eseguire calcoli utilizzando espressioni matematiche, nonché per recuperare batch di dati di parametri di grandi dimensioni in una chiamata API. Per ulteriori informazioni, consulta. GetMetricData

Rilevamento di anomalie sulla matematica del parametro

Il rilevamento di anomalie sulla matematica del parametro è una funzione che è possibile utilizzare per creare allarmi di rilevamento anomalie su singole metriche e output di espressioni matematiche del parametro. È possibile utilizzare queste espressioni per creare grafici che visualizzano le bande di rilevamento delle anomalie. La funzione supporta funzioni aritmetiche di base, operatori logici e confronto e la maggior parte delle altre funzioni.

Il rilevamento di anomalie sulla matematica del parametro non supporta le seguenti funzioni:

  • Espressioni che contengono più di unaANOMALY_DETECTION_BANDnella stessa riga.

  • Espressioni che contengono più di 10 metriche o espressioni matematiche.

  • Espressioni che contengono ilMETRICHEespressione.

  • Espressioni che contengono ilRICERCAfunzione.

  • Espressioni che utilizzano la funzione DP_PERF_INSIGHTS.

  • Espressioni che utilizzano metriche con periodi diversi.

  • Rilevatori di anomalie matematiche metriche che utilizzano metriche ad alta risoluzione come input.

Per ulteriori informazioni su questa funzionalità, consulta Using CloudWatch anomaly detection nella Amazon CloudWatch User Guide.