StatsD를 사용하여 사용자 지정 지표 검색 - Amazon CloudWatch

StatsD를 사용하여 사용자 지정 지표 검색

StatsD 프로토콜과 함께 CloudWatch 에이전트를 사용하여 애플리케이션 또는 서비스에서 추가 사용자 지정 지표를 검색할 수 있습니다. StatsD는 다양한 애플리케이션에서 지표를 수집할 수 있는 인기 있는 오픈 소스 솔루션입니다. StatsD는 고유한 지표를 계측하는 데 특히 유용합니다. CloudWatch 에이전트와 StatsD를 함께 사용하는 예는 Amazon CloudWatch 에이전트를 사용하여 사용자 지정 애플리케이션 지표를 효과적으로 모니터링하는 방법을 참조하세요.

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

MetricName:value|type|@sample_rate|#tag1: value,tag1...
  • MetricName – 콜론, 막대, # 문자 또는 @ 문자가 없는 문자열입니다.

  • value – 정수 또는 부동 소수점일 수 있습니다.

  • type – 카운터의 경우 c, 게이지의 경우 g, 타이머의 경우 ms, 히스토그램의 경우 h, 설정의 경우 s를 지정합니다.

  • sample_rate – (선택 사항) 0과 1(포함) 사이의 부동 소수점입니다. 카운터, 히스토그램 및 타이머 지표에만 사용하세요. 기본값은 1(시간의 샘플링 100%)입니다.

  • tags – (선택 사항) 쉼표로 구분된 태그 목록입니다. StatsD 태그는 CloudWatch의 측정기준과 유사합니다. env:prod와 같이 키/값 태그에 콜론을 사용하세요.

이 형식을 따르는 StatsD 클라이언트를 사용하여 지표를 CloudWatch 에이전트에 전송할 수 있습니다. 사용 가능한 일부 StatsD 클라이언트에 대한 자세한 내용은 GitHub의 StatsD 클라이언트 페이지를 참조하세요.

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

StatsD 기본 구성은 대부분의 사용자에게 작동합니다. 필요에 따라 에이전트 구성 파일의 statsd 섹션에 추가할 수 있는 선택 사항 필드가 있습니다.

  • service_address – CloudWatch 에이전트가 수신 대기해야 하는 서비스 주소입니다. 형식은 ip:port입니다. IP 주소를 생략하면 에이전트가 유효한 인터페이스를 모두 수신합니다. UDP 형식만 지원되므로 UDP 접두사를 지정할 필요가 없습니다.

    기본 값은 :8125입니다.

  • metrics_collection_intervalStatsD 플러그 인이 지표를 실행하고 수집하는 빈도(초)입니다. 기본값은 10초입니다. 범위는 1~172,000입니다.

  • metrics_aggregation_interval – CloudWatch가 지표를 단일 데이터 요소로 집계하는 빈도(초)입니다. 기본값은 60초입니다.

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

    범위는 0~172,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 지표 보기

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

CloudWatch 콘솔에서 StatsD 지표를 보려면
  1. https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

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

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

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

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

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

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

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

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

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