

Amazon Timestream for LiveAnalytics와 유사한 기능을 원하는 경우 Amazon Timestream for InfluxDB를 고려해 보세요. 간소화된 데이터 수집과 실시간 분석을 위한 10밀리초 미만의 쿼리 응답 시간을 제공합니다. [여기](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)에서 자세히 알아보세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 드릴다운에 예약된 쿼리 및 원시 데이터 사용
<a name="scheduledqueries-example2"></a>

플릿 전체에서 집계된 통계를 사용하여 드릴다운이 필요한 영역을 식별한 다음 원시 데이터를 사용하여 세분화된 데이터로 드릴다운하여 심층적인 인사이트를 얻을 수 있습니다.

이 예제에서는 집계 대시보드를 사용하여 다른 배포에 비해 CPU 사용률이 더 높은 것으로 보이는 배포(배포는 지정된 리전, 셀, 사일로 및 가용 영역 내의 특정 마이크로서비스용)를 식별하는 방법을 알아봅니다. 그런 다음 드릴다운하여 원시 데이터를 더 잘 이해할 수 있습니다. 이러한 드릴다운은 빈도가 낮고 배포와 관련된 데이터에만 액세스할 수 있으므로 이 분석에 원시 데이터를 사용할 수 있으며 예약된 쿼리를 사용할 필요가 없습니다.

**배포당 드릴다운**

아래 대시보드는 지정된 배포 내에서 보다 세분화된 서버 수준 통계를 드릴다운합니다. 플릿의 여러 부분을 드릴다운할 수 있도록 이 대시보드는 region, cell, silo, microservice, availability\$1zone 등의 변수를 사용합니다. 그런 다음 해당 배포에 대한 몇 가지 집계 통계를 표시합니다.

![\[Dashboard showing deployment statistics with filters for region, cell, silo, and other parameters.\]](http://docs.aws.amazon.com/ko_kr/timestream/latest/developerguide/images/sched_query_ex2_img1.png)


![\[CPU distribution graph showing consistent patterns for avg, p90, p95, and p99 values over 24 hours.\]](http://docs.aws.amazon.com/ko_kr/timestream/latest/developerguide/images/sched_query_ex2_img2.png)


아래 쿼리에서 변수의 드롭다운에서 선택한 값이 쿼리의 `WHERE` 절에서 조건자로 사용되므로 배포를 위한 데이터에만 집중할 수 있습니다. 그런 다음 패널은 해당 배포의 인스턴스에 대한 집계된 CPU 지표를 표시합니다. 원시 데이터를 사용하여 대화형 쿼리 지연 시간으로 이 드릴다운을 수행하여 심층적인 인사이트를 도출할 수 있습니다.

```
SELECT bin(time, 5m) as minute,
    ROUND(AVG(cpu_user), 2) AS avg_value,
    ROUND(APPROX_PERCENTILE(cpu_user, 0.9), 2) AS p90_value,
    ROUND(APPROX_PERCENTILE(cpu_user, 0.95), 2) AS p95_value,
    ROUND(APPROX_PERCENTILE(cpu_user, 0.99), 2) AS p99_value
FROM "raw_data"."devops"
WHERE time BETWEEN from_milliseconds(1636527099476) AND from_milliseconds(1636613499476)
    AND region = 'eu-west-1'
    AND cell = 'eu-west-1-cell-10'
    AND silo = 'eu-west-1-cell-10-silo-1'
    AND microservice_name = 'demeter'
    AND availability_zone = 'eu-west-1-3'
    AND measure_name = 'metrics'
GROUP BY bin(time, 5m)
ORDER BY 1
```

**인스턴스 수준 통계**

이 대시보드는 CPU 사용률이 높은 서버/인스턴스도 나열하는 다른 변수를 사용률 내림차순으로 정렬하여 추가로 계산합니다. 이 변수를 계산하는 데 사용되는 쿼리가 아래에 표시됩니다.

```
WITH microservice_cell_avg AS (
    SELECT AVG(cpu_user) AS microservice_avg_metric
    FROM "raw_data"."devops"
    WHERE $__timeFilter
        AND measure_name = 'metrics'
        AND region = '${region}'
        AND cell = '${cell}'
        AND silo = '${silo}'
        AND availability_zone = '${availability_zone}'
        AND microservice_name = '${microservice}'
), instance_avg AS (
    SELECT instance_name,
        AVG(cpu_user) AS instance_avg_metric
    FROM "raw_data"."devops"
    WHERE $__timeFilter
        AND measure_name = 'metrics'
        AND region = '${region}'
        AND cell = '${cell}'
        AND silo = '${silo}'
        AND microservice_name = '${microservice}'
        AND availability_zone = '${availability_zone}'
    GROUP BY availability_zone, instance_name
) 
SELECT i.instance_name
FROM instance_avg i CROSS JOIN microservice_cell_avg m 
WHERE i.instance_avg_metric > (1 + ${utilization_threshold}) * m.microservice_avg_metric
ORDER BY i.instance_avg_metric DESC
```

이전 쿼리에서 변수는 다른 변수에 대해 선택한 값에 따라 동적으로 다시 계산됩니다. 배포를 위해 변수가 채워지면 목록에서 개별 인스턴스를 선택하여 해당 인스턴스의 지표를 추가로 시각화할 수 있습니다. 아래 스냅샷과 같이 인스턴스 이름의 드롭다운에서 다른 인스턴스를 선택할 수 있습니다.

![\[List of Amazon Web Services (AWS) resource identifiers for Demeter instances in eu-west-1 region.\]](http://docs.aws.amazon.com/ko_kr/timestream/latest/developerguide/images/sched_query_ex2_img3.png)


![\[Dashboard showing CPU utilization, memory usage, GC pause events, and disk I/O metrics for an AWS instance.\]](http://docs.aws.amazon.com/ko_kr/timestream/latest/developerguide/images/sched_query_ex2_img4.png)


이전 패널에는 선택한 인스턴스의 통계가 표시되며, 이러한 통계를 가져오는 데 사용되는 쿼리는 다음과 같습니다.

```
SELECT BIN(time, 30m) AS time_bin, 
    AVG(cpu_user) AS avg_cpu,
    ROUND(APPROX_PERCENTILE(cpu_user, 0.99), 2) as p99_cpu
FROM "raw_data"."devops"
WHERE time BETWEEN from_milliseconds(1636527099477) AND from_milliseconds(1636613499477)
    AND measure_name = 'metrics'
    AND region = 'eu-west-1' AND cell = 'eu-west-1-cell-10' AND silo = 'eu-west-1-cell-10-silo-1' 
    AND availability_zone = 'eu-west-1-3' AND microservice_name = 'demeter' 
    AND instance_name = 'i-zaZswmJk-demeter-eu-west-1-cell-10-silo-1-00000272.amazonaws.com'
GROUP BY BIN(time, 30m)
ORDER BY time_bin desc
```

```
SELECT BIN(time, 30m) AS time_bin, 
    AVG(memory_used) AS avg_memory,
    ROUND(APPROX_PERCENTILE(memory_used, 0.99), 2) as p99_memory
FROM "raw_data"."devops"
WHERE time BETWEEN from_milliseconds(1636527099477) AND from_milliseconds(1636613499477)
    AND measure_name = 'metrics'
    AND region = 'eu-west-1' AND cell = 'eu-west-1-cell-10' AND silo = 'eu-west-1-cell-10-silo-1' 
    AND availability_zone = 'eu-west-1-3' AND microservice_name = 'demeter' 
    AND instance_name = 'i-zaZswmJk-demeter-eu-west-1-cell-10-silo-1-00000272.amazonaws.com'
GROUP BY BIN(time, 30m)
ORDER BY time_bin desc
```

```
SELECT COUNT(gc_pause)
FROM "raw_data"."devops"
WHERE time BETWEEN from_milliseconds(1636527099477) AND from_milliseconds(1636613499478)
    AND measure_name = 'events'
    AND region = 'eu-west-1' AND cell = 'eu-west-1-cell-10' AND silo = 'eu-west-1-cell-10-silo-1' 
    AND availability_zone = 'eu-west-1-3' AND microservice_name = 'demeter' 
    AND instance_name = 'i-zaZswmJk-demeter-eu-west-1-cell-10-silo-1-00000272.amazonaws.com'
```

```
SELECT avg(gc_pause) as avg, round(approx_percentile(gc_pause, 0.99), 2) as p99
FROM "raw_data"."devops"
WHERE time BETWEEN from_milliseconds(1636527099478) AND from_milliseconds(1636613499478)
    AND measure_name = 'events'
    AND region = 'eu-west-1' AND cell = 'eu-west-1-cell-10' AND silo = 'eu-west-1-cell-10-silo-1' 
    AND availability_zone = 'eu-west-1-3' AND microservice_name = 'demeter' 
    AND instance_name = 'i-zaZswmJk-demeter-eu-west-1-cell-10-silo-1-00000272.amazonaws.com'
```

```
SELECT BIN(time, 30m) AS time_bin, 
    AVG(disk_io_reads) AS avg,
    ROUND(APPROX_PERCENTILE(disk_io_reads, 0.99), 2) as p99
FROM "raw_data"."devops"
WHERE time BETWEEN from_milliseconds(1636527099478) AND from_milliseconds(1636613499478)
    AND measure_name = 'metrics'
    AND region = 'eu-west-1' AND cell = 'eu-west-1-cell-10' AND silo = 'eu-west-1-cell-10-silo-1' 
    AND availability_zone = 'eu-west-1-3' AND microservice_name = 'demeter' 
    AND instance_name = 'i-zaZswmJk-demeter-eu-west-1-cell-10-silo-1-00000272.amazonaws.com'
GROUP BY BIN(time, 30m)
ORDER BY time_bin desc
```