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à.
Utilizzo di espressioni matematiche con metriche CloudWatch
La matematica metrica consente di interrogare più CloudWatch metriche e utilizzare espressioni matematiche per creare nuove serie temporali basate su tali 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.
Aggiungi 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
-
Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/
. -
Creare o modificare un grafico. Ci deve essere almeno una metrica nel grafico.
-
Seleziona Graphed metrics (Parametri nel grafico).
-
Scegli Math expression (Espressione matematica), Start with an empty expression (Inizia con un'espressione vuota). Viene visualizzata una nuova riga per l'espressione.
-
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.
-
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 delle legende per tali 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). Per fare in modo che la legenda mostri solo le etichette delle metriche originali, impostaExpression-Label
come vuota.Quando un'espressione produce un array di serie temporali nel grafico, non è possibile modificare i colori utilizzati per ciascuna di tali serie temporali.
-
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
metricai-1234567890abcdef0
degli 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. NotaSi consiglia di non utilizzare questa funzione negli CloudWatch allarmi se si desidera che la funzione restituisca uno scalare. Ad esempio 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. NotaSi 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 Performance Insights APIs. Puoi utilizzare queste metriche CloudWatch per rappresentare graficamente e creare allarmi. ImportanteQuando 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 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.
La funzione DB_PERF_INSIGHTS supporta solo le seguenti lunghezze di periodo:
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. NotaLe metriche ad alta risoluzione con granularità inferiore al minuto recuperate da DB_PERF_INSIGHTS sono applicabili solo alla metrica o alle DBLoadmetriche 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. Puoi 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-', 'os.CPUUtilization.user.avg') ABCDEFGHIJKLMNOPQRSTUVWXY1 DB_PERF_INSIGHTS ('DOCDB, 'db-', ['os.cpuUtilization.idle.AVG', 'os.cpuUtilization.user.max']) ABCDEFGHIJKLMNOPQRSTUVWXY1 |
|
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:
NotaQuando 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 delle metriche generate dalle regole in CloudWatch. |
||
LAMBDA |
Lambda LambdaFunctionName ([, opzionale-arg] *) |
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[] |
Lo 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. NotaSi consiglia di non utilizzare questa funzione negli CloudWatch allarmi se si desidera che la funzione restituisca uno scalare. Ad esempio, |
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. NotaSi consiglia di non utilizzare questa funzione negli CloudWatch allarmi se si desidera che la funzione restituisca uno scalare. Ad esempio, |
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(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. ImportanteL'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. NotaTi 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. NotaSi 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 su CloudWatch più account, la funzione SEARCH 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, è possibile specificare un solo valore e CloudWatch restituisce tutte le serie temporali a partire da 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. NotaSi consiglia di non utilizzare questa funzione negli CloudWatch allarmi se si desidera che la funzione restituisca uno scalare. Ad esempio, |
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. NotaSi consiglia di non utilizzare questa funzione negli CloudWatch allarmi se si desidera che la funzione restituisca uno scalare. Ad esempio |
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 ognuna di queste sintassi, l'output è una singola serie temporale.
SE (TS
Comparison Operator
S, S | TS, S | TS)Nota
Se
TS comparison operator S
è TRUE mametric2
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 maggiori dettagli ed esempi di queste sintassi.
IF (TS Comparison Operator
S, scalare2 | metric2, scalar3 | metric3)
Il corrispondente valore della serie temporale di output:
ha il valore di scalar2 o metric2, se TS S è TRUE
Comparison Operator
ha il valore di scalar3 o metric3, se TS S è FALSE
Comparison Operator
ha il valore 0 se TS
Comparison Operator
è TRUE e il punto dati corrispondente in metric2 non esiste.ha il valore 0 se TS
Comparison Operator
è 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.
Espressioni che utilizzano periodi più lunghi di un'ora come input.
Espressioni che utilizzano metriche ad alta risoluzione come input.
Per ulteriori informazioni su questa funzionalità, consulta Using CloudWatch anomaly detection nella Amazon CloudWatch User Guide.