Consultas con funciones de series temporales - Amazon Timestream

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)