

# StatsD를 사용하여 사용자 지정 지표 검색
<a name="CloudWatch-Agent-custom-metrics-statsd"></a>

`StatsD` 프로토콜과 함께 CloudWatch 에이전트를 사용하여 애플리케이션 또는 서비스에서 추가 사용자 지정 지표를 검색할 수 있습니다. StatsD는 다양한 애플리케이션에서 지표를 수집할 수 있는 인기 있는 오픈 소스 솔루션입니다. StatsD는 고유한 지표를 계측하는 데 특히 유용합니다. CloudWatch 에이전트와 StatsD를 함께 사용하는 예는 [Amazon CloudWatch 에이전트를 사용하여 사용자 지정 애플리케이션 지표를 효과적으로 모니터링하는 방법](https://aws.amazon.com/blogs/devops/new-how-to-better-monitor-your-custom-application-metrics-using-amazon-cloudwatch-agent/)을 참조하세요.

`StatsD`는 Windows Server를 실행하는 서버와 Linux 서버에서 모두 지원됩니다. CloudWatch는 다음과 같은 `StatsD` 형식을 지원합니다.

```
MetricName:value|type|@sample_rate|#tag1:
  value,tag1...
```
+ `MetricName` – 콜론, 막대, \$1 문자 또는 @ 문자가 없는 문자열입니다.
+ `value` – 정수 또는 부동 소수점일 수 있습니다.
+ `type` – 카운터의 경우 `c`, 게이지의 경우 `g`, 타이머의 경우 `ms`, 히스토그램의 경우 `h`, 설정의 경우 `s`를 지정합니다.
+ `sample_rate` – (선택 사항) 0과 1(포함) 사이의 부동 소수점입니다. 카운터, 히스토그램 및 타이머 지표에만 사용하세요. 기본값은 1(시간의 샘플링 100%)입니다.
+ `tags` – (선택 사항) 쉼표로 구분된 태그 목록입니다. `StatsD` 태그는 CloudWatch의 측정기준과 유사합니다. `env:prod`와 같이 키/값 태그에 콜론을 사용하세요.

이 형식을 따르는 `StatsD` 클라이언트를 사용하여 지표를 CloudWatch 에이전트에 전송할 수 있습니다. 사용 가능한 일부 `StatsD` 클라이언트에 대한 자세한 내용은 [GitHub의 StatsD 클라이언트 페이지](https://github.com/etsy/statsd/wiki#client-implementations)를 참조하세요.

이러한 사용자 지정 지표를 수집하려면 에이전트 구성 파일의 `metrics_collected` 섹션에 `"statsd": {}` 줄을 추가합니다. 이 줄을 수동으로 추가할 수 있습니다. 마법사를 사용하여 구성 파일을 생성하는 경우 자동으로 수행됩니다. 자세한 내용은 [CloudWatch 에이전트 구성 파일 생성](create-cloudwatch-agent-configuration-file.md) 단원을 참조하세요.

`StatsD` 기본 구성은 대부분의 사용자에게 작동합니다. 필요에 따라 에이전트 구성 파일의 **statsd** 섹션에 추가할 수 있는 선택 사항 필드가 있습니다.
+ `service_address` – CloudWatch 에이전트가 수신 대기해야 하는 서비스 주소입니다. 형식은 `ip:port`입니다. IP 주소를 생략하면 에이전트가 유효한 인터페이스를 모두 수신합니다. UDP 형식만 지원되므로 UDP 접두사를 지정할 필요가 없습니다.

  기본값은 `:8125`입니다.
+ `metrics_collection_interval` – `StatsD` 플러그 인이 지표를 실행하고 수집하는 빈도(초)입니다. 기본값은 10초입니다. 범위는 1\$1172,000입니다.
+ `metrics_aggregation_interval` – CloudWatch가 지표를 단일 데이터 요소로 집계하는 빈도(초)입니다. 기본값은 60초입니다.

  예를 들어 `metrics_collection_interval`이 10이고 `metrics_aggregation_interval`이 60이면 CloudWatch는 10초마다 데이터를 수집합니다. 1분 후마다 해당 1분의 6개 데이터 판독값이 단일 데이터 요소에 집계되어 CloudWatch에 전송됩니다.

  범위는 0\$1172,000입니다. `metrics_aggregation_interval`을 0으로 설정하면 `StatsD` 지표를 집계할 수 없습니다.
+ `allowed_pending_messages` – 대기열에 대기하도록 허용된 UDP 메시지 수입니다. 대기열이 가득 차면 StatsD 서버가 패킷을 삭제하기 시작합니다. 기본값은 10,000입니다.
+ `drop_original_metrics` – 선택 사항입니다. `metrics` 섹션의 `aggregation_dimensions` 필드를 사용하여 지표를 집계된 결과로 롤업하는 경우 기본적으로 에이전트는 집계된 지표와 측정기준의 각 값에 대해 구분된 원래 지표를 모두 전송합니다. 원본 지표를 CloudWatch로 전송하지 않으려면 지표 목록과 함께 이 파라미터를 지정할 수 있습니다. 이 파라미터와 함께 지정된 지표에는 CloudWatch에 보고되는 측정기준별 지표가 없습니다. 대신 집계된 지표만 보고됩니다. 이렇게 하면 에이전트가 수집하는 지표의 수가 줄어들어 비용이 절감됩니다.

다음은 기본값 포트와 사용자 지정 수집 및 집계 간격을 사용하는 에이전트 구성 파일의 **statsd** 섹션의 예입니다.

```
{
   "metrics":{
      "metrics_collected":{
         "statsd":{
            "service_address":":8125",
            "metrics_collection_interval":60,
            "metrics_aggregation_interval":300
         }
      }
   }
}
```

## CloudWatch 에이전트가 가져온 StatsD 지표 보기
<a name="CloudWatch-view-statsd-metrics"></a>

StatsD 지표를 CloudWatch로 가져온 후 이러한 지표를 시계열 그래프로 보고, 해당 지표를 감시하여 지표가 지정된 임곗값을 위반하는 경우 이를 알릴 수 있는 경보를 생성할 수 있습니다. 다음 절차에서는 StatsD 지표를 시계열 그래프로 보는 방법을 보여 줍니다. 경보 설정에 대한 자세한 내용은 [Amazon CloudWatch 경보 사용](CloudWatch_Alarms.md) 단원을 참조하세요.

**CloudWatch 콘솔에서 StatsD 지표를 보려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창에서 **지표**를 선택합니다.

1. 에이전트가 수집한 지표의 네임스페이스를 선택합니다. 기본적으로 이 네임스페이스는 **CWAgent**이지만, CloudWatch 에이전트 구성 파일에서 다른 네임스페이스를 지정했을 수 있습니다.

1. 지표 측정기준(예: **인스턴스별 지표**)을 선택합니다.

1. **모든 지표** 탭에 네임스페이스의 해당 측정기준에 대한 모든 지표가 표시됩니다. 다음을 수행할 수 있습니다.

   1. 측정치를 그래프로 표시하려면 측정치 옆에 있는 확인란을 선택합니다. 모든 지표를 선택하려면 테이블의 머리글 행에 있는 확인란을 선택합니다.

   1. 테이블을 정렬하려면 열 머리글을 사용합니다.

   1. 리소스로 필터링하려면 리소스 ID를 선택한 후 **검색에 추가**를 선택합니다.

   1. 지표로 필터링하려면 지표 이름을 선택한 후 **검색에 추가**를 선택합니다.

1. (선택 사항) 이 그래프를 CloudWatch 대시보드에 추가하려면 [**작업(Actions)**], [**대시보드에 추가(Add to dashboard)**]를 선택합니다.