Per funzionalità simili a Amazon Timestream for, prendi in considerazione Amazon Timestream LiveAnalytics per InfluxDB. Offre un'acquisizione semplificata dei dati e tempi di risposta alle query di una sola cifra di millisecondi per analisi in tempo reale. Scopri di più qui.
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à.
Interrogazioni con funzioni di serie temporali
Set di dati e interrogazioni di esempio
È possibile utilizzare Timestream per LiveAnalytics comprendere e migliorare le prestazioni e la disponibilità dei servizi e delle applicazioni. Di seguito è riportato un esempio di tabella e delle query di esempio eseguite su tale tabella.
La tabella ec2_metrics
memorizza i dati di telemetria, come l'utilizzo della CPU e altre metriche delle istanze. EC2 È possibile visualizzare la tabella riportata di seguito.
Orario | Regione | az | Hostname (Nome host) | measure_name | measure_value::double | measure_value::bigint |
---|---|---|---|---|---|---|
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1a |
front-end 01 |
cpu_utilization |
35.1 |
null |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1a |
front-end 01 |
memory_utilization |
5.3 |
null |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1a |
front-end 01 |
network_bytes_in |
null |
1.500 |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1a |
front-end 01 |
network_bytes_out |
null |
6.700 |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1b |
front-end 02 |
cpu_utilization |
38,5 |
null |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1b |
front-end 02 |
memory_utilization |
58,4 |
null |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1b |
front-end 02 |
network_bytes_in |
null |
23.000 |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1b |
front-end 02 |
network_bytes_out |
null |
12.000 |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1c |
front-end 03 |
cpu_utilization |
45.0 |
null |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1c |
front-end 03 |
memory_utilization |
65,8 |
null |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1c |
front-end 03 |
network_bytes_in |
null |
15.000 |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1c |
front-end 03 |
network_bytes_out |
null |
836.000 |
2019-12-04 19:00:05.000 000000 |
us-east-1 |
us-east-1a |
front-end 01 |
cpu_utilization |
55.2 |
null |
2019-12-04 19:00:05.000 000000 |
us-east-1 |
us-east-1a |
front-end 01 |
memory_utilization |
75.0 |
null |
2019-12-04 19:00:05.000 000000 |
us-east-1 |
us-east-1a |
front-end 01 |
network_bytes_in |
null |
1.245 |
2019-12-04 19:00:05.000 000000 |
us-east-1 |
us-east-1a |
front-end 01 |
network_bytes_out |
null |
68.432 |
2019-12-04 19:00:08000 000000 |
us-east-1 |
us-east-1b |
front-end 02 |
cpu_utilization |
65,6 |
null |
2019-12-04 19:00:08000 000000 |
us-east-1 |
us-east-1b |
front-end 02 |
memory_utilization |
85,3 |
null |
2019-12-04 19:00:08000 000000 |
us-east-1 |
us-east-1b |
front-end 02 |
network_bytes_in |
null |
1.245 |
2019-12-04 19:00:08000 000000 |
us-east-1 |
us-east-1b |
front-end 02 |
network_bytes_out |
null |
68.432 |
2019-12-04 19:00:20000 000000 |
us-east-1 |
us-east-1c |
front-end 03 |
cpu_utilization |
12.1 |
null |
2019-12-04 19:00:20000 000000 |
us-east-1 |
us-east-1c |
front-end 03 |
memory_utilization |
32,0 |
null |
2019-12-04 19:00:20000 000000 |
us-east-1 |
us-east-1c |
front-end 03 |
network_bytes_in |
null |
1.400 |
2019-12-04 19:00:20000 000000 |
us-east-1 |
us-east-1c |
front-end 03 |
network_bytes_out |
null |
345 |
2019-12-04 19:00:10.000 000000 |
us-east-1 |
us-east-1a |
front-end 01 |
cpu_utilization |
15.3 |
null |
2019-12-04 19:00:10.000 000000 |
us-east-1 |
us-east-1a |
front-end 01 |
memory_utilization |
35,4 |
null |
2019-12-04 19:00:10.000 000000 |
us-east-1 |
us-east-1a |
front-end 01 |
network_bytes_in |
null |
23 |
2019-12-04 19:00:10.000 000000 |
us-east-1 |
us-east-1a |
front-end 01 |
network_bytes_out |
null |
0 |
2019-12-04 19:00:16.000 000000 |
us-east-1 |
us-east-1b |
front-end 02 |
cpu_utilization |
44.0 |
null |
2019-12-04 19:00:16.000 000000 |
us-east-1 |
us-east-1b |
front-end 02 |
memory_utilization |
64.2 |
null |
2019-12-04 19:00:16000 000000 |
us-east-1 |
us-east-1b |
front-end 02 |
network_bytes_in |
null |
1.450 |
2019-12-04 19:00:16000 000000 |
us-east-1 |
us-east-1b |
front-end 02 |
network_bytes_out |
null |
200 |
2019-12-04 19:00:40.000 000000 |
us-east-1 |
us-east-1c |
front-end 03 |
cpu_utilization |
6.4 |
null |
2019-12-04 19:00:40,000 000000 |
us-east-1 |
us-east-1c |
front-end 03 |
memory_utilization |
86,3 |
null |
2019-12-04 19:00:40,000 000000 |
us-east-1 |
us-east-1c |
front-end 03 |
network_bytes_in |
null |
300 |
2019-12-04 19:00:40.000 000000 |
us-east-1 |
us-east-1c |
front-end 03 |
network_bytes_out |
null |
423 |
Calcola l'utilizzo medio della CPU p90, p95 e p99 per un EC2 host specifico nelle ultime 2 ore:
SELECT region, az, hostname, BIN(time, 15s) AS binned_timestamp, ROUND(AVG(measure_value::double), 2) AS avg_cpu_utilization, ROUND(APPROX_PERCENTILE(measure_value::double, 0.9), 2) AS p90_cpu_utilization, ROUND(APPROX_PERCENTILE(measure_value::double, 0.95), 2) AS p95_cpu_utilization, ROUND(APPROX_PERCENTILE(measure_value::double, 0.99), 2) AS p99_cpu_utilization FROM "sampleDB".DevOps WHERE measure_name = 'cpu_utilization' AND hostname = 'host-Hovjv' AND time > ago(2h) GROUP BY region, hostname, az, BIN(time, 15s) ORDER BY binned_timestamp ASC
Identifica EC2 gli host con un utilizzo della CPU superiore del 10% o più rispetto all'utilizzo medio della CPU dell'intero parco macchine nelle ultime 2 ore:
WITH avg_fleet_utilization AS ( SELECT COUNT(DISTINCT hostname) AS total_host_count, AVG(measure_value::double) AS fleet_avg_cpu_utilization FROM "sampleDB".DevOps WHERE measure_name = 'cpu_utilization' AND time > ago(2h) ), avg_per_host_cpu AS ( SELECT region, az, hostname, AVG(measure_value::double) AS avg_cpu_utilization FROM "sampleDB".DevOps WHERE measure_name = 'cpu_utilization' AND time > ago(2h) GROUP BY region, az, hostname ) SELECT region, az, hostname, avg_cpu_utilization, fleet_avg_cpu_utilization FROM avg_fleet_utilization, avg_per_host_cpu WHERE avg_cpu_utilization > 1.1 * fleet_avg_cpu_utilization ORDER BY avg_cpu_utilization DESC
Trova l'utilizzo medio della CPU suddiviso a intervalli di 30 secondi per un EC2 host specifico nelle ultime 2 ore:
SELECT BIN(time, 30s) AS binned_timestamp, ROUND(AVG(measure_value::double), 2) AS avg_cpu_utilization FROM "sampleDB".DevOps WHERE measure_name = 'cpu_utilization' AND hostname = 'host-Hovjv' AND time > ago(2h) GROUP BY hostname, BIN(time, 30s) ORDER BY binned_timestamp ASC
Calcola l'utilizzo medio della CPU a intervalli di 30 secondi per un EC2 host specifico nelle ultime 2 ore, inserendo i valori mancanti utilizzando l'interpolazione lineare:
WITH binned_timeseries AS ( SELECT hostname, BIN(time, 30s) AS binned_timestamp, ROUND(AVG(measure_value::double), 2) AS avg_cpu_utilization FROM "sampleDB".DevOps WHERE measure_name = 'cpu_utilization' AND hostname = 'host-Hovjv' AND time > ago(2h) GROUP BY hostname, BIN(time, 30s) ), interpolated_timeseries AS ( SELECT hostname, INTERPOLATE_LINEAR( CREATE_TIME_SERIES(binned_timestamp, avg_cpu_utilization), SEQUENCE(min(binned_timestamp), max(binned_timestamp), 15s)) AS interpolated_avg_cpu_utilization FROM binned_timeseries GROUP BY hostname ) SELECT time, ROUND(value, 2) AS interpolated_cpu FROM interpolated_timeseries CROSS JOIN UNNEST(interpolated_avg_cpu_utilization)
Calcola l'utilizzo medio della CPU eseguito a intervalli di 30 secondi per un EC2 host specifico nelle ultime 2 ore, inserendo i valori mancanti utilizzando l'interpolazione basata sull'ultima osservazione effettuata:
WITH binned_timeseries AS ( SELECT hostname, BIN(time, 30s) AS binned_timestamp, ROUND(AVG(measure_value::double), 2) AS avg_cpu_utilization FROM "sampleDB".DevOps WHERE measure_name = 'cpu_utilization' AND hostname = 'host-Hovjv' AND time > ago(2h) GROUP BY hostname, BIN(time, 30s) ), interpolated_timeseries AS ( SELECT hostname, INTERPOLATE_LOCF( CREATE_TIME_SERIES(binned_timestamp, avg_cpu_utilization), SEQUENCE(min(binned_timestamp), max(binned_timestamp), 15s)) AS interpolated_avg_cpu_utilization FROM binned_timeseries GROUP BY hostname ) SELECT time, ROUND(value, 2) AS interpolated_cpu FROM interpolated_timeseries CROSS JOIN UNNEST(interpolated_avg_cpu_utilization)