Amazon Timestream LiveAnalytics for dejará de estar abierto a nuevos clientes a partir del 20 de junio de 2025. Si quieres usar Amazon Timestream LiveAnalytics, regístrate antes de esa fecha. Los clientes actuales pueden seguir utilizando el servicio con normalidad. Para obtener más información, consulta Amazon Timestream LiveAnalytics para ver los cambios de disponibilidad.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Consultas con funciones de series temporales
Ejemplo de conjunto de datos y consultas
Puede usar Timestream LiveAnalytics para comprender y mejorar el rendimiento y la disponibilidad de sus servicios y aplicaciones. A continuación se muestra una tabla de ejemplo y ejemplos de consultas que se ejecutan en esa tabla.
La tabla ec2_metrics
almacena datos de telemetría, como el uso de la CPU y otras métricas de EC2 las instancias. Puedes ver la siguiente tabla.
Tiempo | region | az | Hostname | measure_name | measure_value::double | measure_value::bigint |
---|---|---|---|---|---|---|
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1a |
parte delantera 01 |
utilización de la CPU |
35.1 |
null |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1a |
parte delantera 01 |
memory_utilization |
5.3 |
null |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1a |
parte delantera 01 |
network_bytes_in |
null |
1500 |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1a |
parte delantera 01 |
network_bytes_out |
null |
6700 |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1b |
parte delantera 02 |
utilización de la CPU |
38,5 |
null |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1b |
parte delantera 02 |
memory_utilization |
58.4 |
null |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1b |
parte delantera 02 |
network_bytes_in |
null |
23.000 |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1b |
parte delantera 02 |
network_bytes_out |
null |
12 000 |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1c |
parte delantera 03 |
utilización de la CPU |
45.0 |
null |
04/12/2019 19:00:00.000 000000 |
us-east-1 |
us-east-1c |
parte delantera 03 |
memory_utilization |
65,8 |
null |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1c |
parte delantera 03 |
network_bytes_in |
null |
15.000 |
2019-12-04 19:00:00.000 000000 |
us-east-1 |
us-east-1c |
parte delantera 03 |
network_bytes_out |
null |
836.000 |
2019-12-04 19:00:05.000 000000 |
us-east-1 |
us-east-1a |
parte delantera 01 |
utilización de la CPU |
5.2 |
null |
2019-12-04 19:00:05.000 000000 |
us-east-1 |
us-east-1a |
parte delantera 01 |
memory_utilization |
75.0 |
null |
2019-12-04 19:00:05.000 000000 |
us-east-1 |
us-east-1a |
parte delantera 01 |
network_bytes_in |
null |
1.245 |
2019-12-04 19:00:05.000 000000 |
us-east-1 |
us-east-1a |
parte delantera 01 |
network_bytes_out |
null |
68.432 |
2019-12-04 19:00:08.000 000000 |
us-east-1 |
us-east-1b |
parte delantera 02 |
utilización de la CPU |
65,6 |
null |
2019-12-04 19:00:08.000 000000 |
us-east-1 |
us-east-1b |
parte delantera 02 |
memory_utilization |
85.3 |
null |
2019-12-04 19:00:08.000 000000 |
us-east-1 |
us-east-1b |
parte delantera 02 |
network_bytes_in |
null |
1.245 |
2019-12-04 19:00:08.000 000000 |
us-east-1 |
us-east-1b |
parte delantera 02 |
network_bytes_out |
null |
68.432 |
2019-12-04 19:00:20.000 000000 |
us-east-1 |
us-east-1c |
front-end 03 |
utilización de la CPU |
12.1 |
null |
2019-12-04 19:00:20.000 000000 |
us-east-1 |
us-east-1c |
front-end 03 |
memory_utilization |
32,0 |
null |
2019-12-04 19:00:20.000 000000 |
us-east-1 |
us-east-1c |
front-end 03 |
network_bytes_in |
null |
1.400 |
2019-12-04 19:00:20.000 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 |
parte delantera 01 |
utilización de la CPU |
15.3 |
null |
2019-12-04 19:00:10.000 000000 |
us-east-1 |
us-east-1a |
parte delantera 01 |
memory_utilization |
35,4 |
null |
2019-12-04 19:00:10.000 000000 |
us-east-1 |
us-east-1a |
parte delantera 01 |
network_bytes_in |
null |
23 |
2019-12-04 19:00:10.000 000000 |
us-east-1 |
us-east-1a |
parte delantera 01 |
network_bytes_out |
null |
0 |
2019-12-04 19:00:16 .000 000000 |
us-east-1 |
us-east-1b |
parte delantera 02 |
utilización de la CPU |
44.0 |
null |
2019-12-04 19:00:16.000 000000 |
us-east-1 |
us-east-1b |
parte delantera 02 |
memory_utilization |
64.2 |
null |
2019-12-04 19:00:16.000 000000 |
us-east-1 |
us-east-1b |
parte delantera 02 |
network_bytes_in |
null |
1.450 |
2019-12-04 19:00:16.000 000000 |
us-east-1 |
us-east-1b |
parte delantera 02 |
network_bytes_out |
null |
200 |
2019-12-04 19:00:40.000 000000 |
us-east-1 |
us-east-1c |
front-end 03 |
utilización de la CPU |
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 |
Calcule el uso medio de la CPU en los valores p90, p95 y p99 de un EC2 host específico durante las últimas 2 horas:
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
Identifique los EC2 hosts cuya utilización de la CPU sea superior en un 10% o más a la utilización media de la CPU de toda la flota durante las últimas 2 horas:
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
Calcule el uso medio de la CPU almacenado en intervalos de 30 segundos para un EC2 host específico durante las últimas 2 horas:
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
Calcule el uso medio de la CPU agrupado en intervalos de 30 segundos para un EC2 host específico durante las últimas 2 horas y rellene los valores faltantes mediante la interpolación lineal:
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)
Calcula el uso medio de la CPU almacenado en intervalos de 30 segundos para un EC2 host específico durante las últimas 2 horas y rellena los valores faltantes mediante la interpolación en función de la última observación realizada:
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)