예측된 측정항목 값 알림 정책 만들기

이 문서에서는 Google Cloud 콘솔을 사용하여 다가오는 예측 기간 내에 기준점을 위반할 것으로 예상되는 경우 알림을 보내는 알림 정책을 만드는 방법에 대해 설명합니다. 예측은 시계열이 미래의 기간인 예측 기간 내 임곗값을 위반하는지 여부를 예측합니다. 예측 기간은 1시간(3,600초)에서 2.5일(216,000초) 사이입니다.

이 콘텐츠는 로그 기준 알림 정책에 적용되지 않습니다. 특정 메시지가 로그에 표시될 때 알림을 표시하는 로그 기준 알림 정책에 대한 자세한 내용은 로그 모니터링을 참조하세요.

이 문서에서는 다음에 대해 설명하지 않습니다.

예측 조건 정보

대부분의 측정항목을 모니터링할 때 예측을 사용할 수 있습니다. 하지만 할당량, 디스크 공간, 메모리 사용량과 같은 제한적인 리소스를 모니터링하면 임곗값을 위반하기 전에 예측 조건에 따라 알림을 받을 수 있습니다. 이 기능을 사용하면 임곗값을 위반하기 전에 제한적인 리소스가 소비되는 방식에 대응하는 데 더 많은 시간을 할애할 수 있습니다.

예측 조건이 모니터링하는 각 시계열에 대해 조건은 결정 알고리즘을 인스턴스화합니다. 해당 알고리즘이 학습되면 조건이 평가될 때마다 예측을 생성합니다. 각 예측은 시계열이 예측 기간 내 기준점을 위반하거나 위반하지 않을 것이라는 예측입니다. 모니터링된 시계열에 정기적 주기성이 있는 경우 해당 시계열의 결정 알고리즘은 주기적 동작을 예측에 통합합니다.

예측 조건은 다음 중 하나 또는 둘 다 발생할 때 충족됩니다.

  • 특정 재테스트 기간 동안 시계열의 모든 값은 기준점을 위반하는 경우
  • 재테스트 기간에 수행된 특정 시계열에 대한 모든 예측에서 시계열이 예측 기간 내 기준점을 위반할 것이라고 예측하는 경우

결정 알고리즘의 초기 학습 시간은 예측 기간의 2배입니다. 예를 들어 예측 기간이 1시간이면 학습 시간 2시간이 필요합니다. 각 시계열의 결정 알고리즘은 독립적으로 학습됩니다. 결정 알고리즘이 학습되는 동안 시계열의 값이 지정된 재테스트 기간의 기준점을 위반하는 경우에만 시계열이 조건을 충족할 수 있습니다.

초기 학습이 완료되면 각 결정 알고리즘은 예측 기간의 최대 6배에 해당하는 데이터를 사용하여 지속적으로 학습됩니다. 예를 들어 예측 기간이 1시간이면 지속적인 학습 중에 최근 6시간의 데이터가 사용됩니다.

예측 조건을 구성한 후 데이터가 10분 넘게 수신되지 않으면 예측이 사용 중지되고 조건이 측정항목 기준점 조건으로 작동합니다.

예측에서 시계열이 예측 기간 내 조건의 기준점을 위반할 것이라고 예측하면 이슈가 생성됩니다. 예측에서 시계열이 예측 기간 내 기준점을 위반하지 않을 것이라고 예측하면 Monitoring에서 이슈를 자동으로 종료합니다.

시작하기 전에

  1. Google Cloud 콘솔을 사용하여 알림 정책을 만들고 수정하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 모니터링 편집자(roles/monitoring.editor) IAM 역할 부여를 요청합니다. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

    커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

    Cloud Monitoring 역할에 대한 자세한 내용은 Identity and Access Management로 액세스 제어를 참조하세요.

  2. 알림 정책의 일반 개념을 숙지해야 합니다. 이러한 주제에 대한 자세한 내용은 알림 개요를 참조하세요.

  3. 알림을 수신하는 데 사용할 알림 채널을 구성합니다. 중복화 목적으로 여러 유형의 알림 채널을 만드는 것이 좋습니다. 자세한 내용은 알림 채널 만들기 및 관리를 참고하세요.

알림 정책 만들기

예측을 기반으로 알림을 전송하는 알림 정책을 만들려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서  알림 페이지로 이동합니다.

    알림으로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Monitoring인 결과를 선택합니다.

  2. 정책 만들기를 선택합니다.
  3. 모니터링할 시계열을 선택합니다.

    1. 측정항목 선택을 클릭하고, 메뉴를 탐색하여 리소스 유형 및 측정항목 유형을 선택한 다음 적용을 클릭합니다.

      측정항목 선택 메뉴에는 사용 가능한 측정항목 유형을 찾는 데 도움이 되는 기능이 포함되어 있습니다.

      • 특정 측정항목 유형을 찾으려면 필터 막대를 사용합니다. 예를 들어 util을 입력하면 util이 포함된 항목이 표시되도록 메뉴를 제한합니다. 항목이 대소문자를 구분하지 않는 'contains' 테스트를 통과하면 표시됩니다.
      • 데이터가 없는 측정항목 유형을 포함하여 모든 측정항목 유형을 표시하려면 활성을 클릭합니다. 기본적으로 메뉴에는 데이터가 있는 측정항목 유형만 표시됩니다. 자세한 내용은 메뉴에 측정항목이 표시되지 않음을 참조하세요.

      기본 제공 측정항목이나 값 유형이 double 또는 int64인 제약조건 측정항목이고 Amazon VM 인스턴스에 대한 측정항목이 아닌 모든 사용자 정의 메트릭 유형을 모니터링할 수 있습니다.

      64개 이상의 시계열이 모니터링되는 측정항목 유형을 선택하면 Monitoring은 값이 기준점에 가장 근접하거나 이미 임곗값을 위반하는 64개의 시계열을 예측합니다. 다른 시계열의 경우 이들 값을 임곗값과 비교합니다.

    2. 선택사항: 이전 단계에서 선택한 측정항목 및 리소스 유형과 일치하는 시계열의 하위 집합을 모니터링하려면 필터 추가를 클릭합니다. 필터 대화상자에서 필터링할 라벨, 비교 연산자를 선택한 후 필터 값을 선택합니다. 예를 들어 zone =~ ^us.*.a$ 필터는 정규 표현식을 사용하여 해당 영역 이름이 us로 시작하고 a로 끝나는 모든 시계열 데이터를 찾습니다. 자세한 내용은 선택한 시계열 필터링을 참조하세요.

    3. 선택사항: 시계열의 지점을 정렬하는 방식을 변경하려면 데이터 변환 섹션에서 순환 기간 순환 기간 함수 필드를 설정합니다.

      로그 기반 측정항목을 모니터링하는 경우 순환 기간 메뉴를 최소 10분 이상으로 설정하는 것이 좋습니다.

      이 필드에서는 일정 범위에 기록된 지점을 결합하는 방식을 지정합니다. 예를 들어 범위가 15분이고 범위 함수가 max라고 가정합시다. 정렬된 지점은 최근 15분 동안 모든 지점의 최댓값입니다. 자세한 내용은 정렬: 시리즈 내 정규화를 참조하세요.

      또한 순환 기간 함수 필드를 사용하여 측정항목 값이 변경 비율로 변경되는 비율을 모니터링할 수 있습니다. 자세한 내용은 변경률 모니터링을 참조하세요.

    4. 선택사항: 정책이 모니터링하는 시계열 수를 줄이거나 시계열 컬렉션만 모니터링하려는 경우 시계열을 조합합니다. 예를 들어 각 VM 인스턴스의 CPU 사용률을 모니터링하는 대신 영역에 있는 모든 VM에 대해 평균 CPU 사용률을 계산한 후 해당 평균을 모니터링해야 할 수 있습니다. 기본적으로 시계열은 조합되지 않습니다. 일반 정보는 축소: 시계열 조합을 참조하세요.

      모든 시계열을 조합하려면 다음을 수행하세요.

      1. 시계열 간 섹션에서 확장을 클릭합니다.
      2. 시계열 집계 필드를 none 이외의 값으로 설정합니다. 예를 들어 시계열의 평균 값을 표시하려면 mean을 선택합니다.
      3. 시계열 그룹화 기준 필드가 비어 있는지 확인합니다.

      라벨 값으로 시계열을 조합하거나 그룹화하려면 다음을 수행합니다.

      1. 시계열 간 섹션에서 확장을 클릭합니다.
      2. 시계열 집계 필드를 none 이외의 값으로 설정합니다.
      3. 시계열 그룹화 기준 필드에서 그룹화할 라벨을 선택합니다.

      예를 들어 zone 라벨별로 그룹화한 후 집계 필드를 mean 값으로 설정하면 차트에 데이터가 있는 각 영역마다 시계열이 하나씩 표시됩니다. 특정 영역에 표시되는 시계열은 해당 영역의 모든 시계열의 평균입니다.

    5. 다음을 클릭합니다.

  4. 조건 트리거를 구성합니다.

    1. 조건 유형으로 예측을 선택합니다.

    2. 선택사항: 다음 값이 있는 알림 트리거 메뉴를 업데이트합니다.

      • 특정 시계열 위반: 기본 설정입니다. 전체 재테스트 기간에 대한 기준점을 위반하거나 기준점을 위반할 것으로 예측되는 시계열이 있으면 조건이 충족됩니다.

      • 시계열 위반 비율: 시계열의 일정 비율이 전체 재테스트 기간에 대한 기준점을 위반하거나 기준점을 위반할 것으로 예측되어야 조건이 충족됩니다. 예를 들어, 모니터링된 시계열의 50%가 전체 재테스트 기간에 대한 기준점을 위반할 때 알림을 받을 수 있습니다.

      • 시계열 위반 수: 특정 수의 시계열이 전체 재테스트 기간에 대한 기준점을 위반하거나 기준점을 위반할 것으로 예측되어야 조건이 충족됩니다. 예를 들어, 모니터링된 시계열 중 32개가 전체 재테스트 기간에 대한 기준점을 위반할 때 알림을 받을 수 있습니다.

      • 모든 시계열 위반: 모든 시계열이 전체 재테스트 기간에 대한 기준점을 위반하거나 기준점을 위반할 것으로 예측되어야 조건이 충족됩니다.

      Monitoring에서 시계열 데이터를 정렬하고 측정하기 위해 사용하는 인터벌에 대한 자세한 내용은 정렬 기간 및 재테스트 기간을 참조하세요.

    3. 예측 기간의 값을 선택합니다. 선택한 값은 예측에 대한 미래 시간입니다. 이 값은 최소 1시간(3,600초)에서 최대 2.5일(216,000초)로 설정해야 합니다.

    4. 기준 위치기준 값 필드를 사용하여 선택한 측정항목의 예측 값이 임곗값을 위반하는 경우를 입력합니다. 예를 들어 이러한 값을 기준 초과10으로 설정하면 10보다 큰 모든 예측값이 기준을 위반합니다.

    5. 선택사항: 고급 옵션을 펼치고 재테스트 기간 값을 설정합니다. 이 필드의 기본값은 재테스트 없음입니다.

      이 필드를 최소 10분으로 설정하는 것이 좋습니다.

      예를 들어 모든 시계열이 조건을 충족할 수 있도록 예측 조건을 구성한다고 가정해 보겠습니다. 또한 재테스트 기간이 15분으로 설정되고, 예측 기간이 1시간으로 설정되며, 시계열 값이 10으로 설정된 임곗값보다 높으면 위반이 발생한다고 가정합니다. 다음 중 하나가 발생하면 이 조건이 충족됩니다.

      • 시계열의 모든 값이 10보다 커지고 최소 15분 이상 유지됩니다.
      • 15분 간격으로 시계열 예측에 대한 모든 예측은 예측값이 경우에 따라 다음 1시간 내에 임곗값 10보다 높을 것으로 예측합니다.
    6. 선택사항: 데이터 도착이 중지될 때 Monitoring이 조건을 평가하는 방법을 지정하려면 고급 옵션을 확장한 후 누락 데이터 평가 메뉴를 사용합니다.

      재테스트 기간의 값이 다시 테스트하지 않음인 경우 평가 누락 데이터 메뉴가 사용 중지됩니다.

      10분 넘게 데이터가 누락되면 예측 조건에서 예측이 중지되고 대신 평가 누락 데이터 필드의 값을 사용하여 이슈 관리 방법을 결정합니다. 관측이 다시 시작되면 예측이 다시 시작됩니다.

      Google Cloud 콘솔
      '누락 데이터 평가' 필드
      요약 세부정보
      누락 데이터 비어 있음 미해결 이슈가 미해결 상태로 유지됩니다.
      새 이슈가 열리지 않습니다.

      충족된 조건의 경우 데이터 수신이 중지될 때 조건이 계속 충족됩니다. 이 조건에 대해 이슈가 열려 있으면 이슈가 미해결 상태로 유지됩니다. 이슈가 미해결 상태이고 데이터가 수신되지 않으면 최소 15분의 지연 시간 이후에 자동 종료 타이머가 시작됩니다. 타이머가 만료되면 이슈가 종료됩니다.

      충족되지 않은 조건의 경우 데이터 수신이 중지할 때 조건이 계속 충족되지 않습니다.

      정책 조건을 위반하는 값으로 취급되는 누락된 데이터 포인트 미해결 이슈가 미해결 상태로 유지됩니다.
      새 이슈를 열 수 있습니다.

      충족된 조건의 경우 데이터 수신이 중지될 때 조건이 계속 충족됩니다. 이 조건에 대해 이슈가 열려 있으면 이슈가 미해결 상태로 유지됩니다. 이슈가 열려 있고 자동 종료 기간과 24시간 내에 데이터가 수신되지 않으면 이슈가 닫힙니다.

      충족되지 않는 조건의 경우 이 설정으로 인해 측정항목 기준점 조건이 metric-absence condition처럼 동작하게 됩니다. 다시 테스트 기간으로 지정된 시간에 데이터가 수신되지 않으면 조건이 충족된 것으로 평가됩니다. 조건이 하나 있는 알림 정책의 경우 충족된 조건에 따라 이슈가 열립니다.

      정책 조건을 위반하지 않는 값으로 취급되는 누락된 데이터 포인트 미해결 이슈가 닫힙니다.
      새 이슈가 열리지 않습니다.

      충족된 조건의 경우 데이터 수신이 중지될 때 조건 충족이 중지됩니다. 이 조건에 대해 이슈가 열려 있으면 이슈가 닫힙니다.

      충족되지 않은 조건의 경우 데이터 수신이 중지할 때 조건이 계속 충족되지 않습니다.

    7. 다음을 클릭합니다.

  5. 선택사항: 여러 조건을 포함하여 알림 정책을 만듭니다.

    대부분의 정책은 단일 측정항목 유형을 모니터링합니다. 예를 들어 한 정책은 VM 인스턴스에 기록되는 바이트 수를 모니터링할 수 있습니다. 여러 측정항목 유형을 모니터링해야 할 때는 다중 조건이 포함된 정책을 만듭니다. 각 조건은 하나의 측정항목 유형을 모니터링합니다. 조건을 만든 후 조건이 조합되는 방식을 지정합니다. 자세한 내용은 여러 조건이 포함된 정책을 참조하세요.

    여러 조건이 포함된 알림 정책을 만들려면 다음 안내를 따르세요.

    1. 각 추가 조건에 대하여 알림 조건 추가를 클릭한 다음 해당 조건을 구성합니다.
    2. 다음을 클릭하고 조건 조합 방법을 구성합니다.
    3. 다음을 클릭하여 알림 및 문서 설정으로 이동합니다.
  6. 알림을 구성합니다.

    1. 알림 및 이름 메뉴를 확장하고 알림 채널을 선택합니다. 중복화 목적으로 여러 유형의 알림 채널을 알림 정책에 추가하는 것이 좋습니다. 자세한 내용은 알림 채널 관리를 참조하세요.

    2. 선택사항: 이슈가 종료되었을 때 알림을 받으려면 이슈 종료 시 알림을 선택합니다. 기본적으로 Google Cloud 콘솔로 알림 정책을 만들면 이슈가 생성될 때만 알림이 전송됩니다.

    3. 선택사항: 데이터 도착이 중지된 후 이슈를 종료하기 전 Monitoring의 대기 시간을 변경하려면 이슈 자동 종료 기간 메뉴에서 옵션을 선택합니다. 기본적으로 데이터 도착이 중지하면 Monitoring이 열린 이슈를 종료하기 전 7일 동안 대기합니다.

    4. 정책 심각도 수준 메뉴에서 옵션을 선택합니다. 이슈 및 알림에 심각도 수준이 표시됩니다.

    5. 선택사항: 알림 정책에 커스텀 라벨을 추가하려면 정책 사용자 라벨 섹션에서 다음을 수행합니다.

      1. 라벨 추가를 클릭하고 필드에 라벨 이름을 입력합니다. 라벨 이름은 소문자로 시작해야 하며 소문자, 숫자, 밑줄, 대시를 포함할 수 있습니다. 예를 들어 severity을 입력합니다.
      2. 을 클릭하고 라벨 값을 입력합니다. 라벨 값에는 소문자, 숫자, 밑줄, 대시를 포함할 수 있습니다. 예를 들어 critical를 입력합니다.

      정책 라벨을 사용하여 알림을 관리하는 방법에 대한 자세한 내용은 라벨로 이슈에 주석 추가를 참조하세요.

  7. 선택사항: 문서 섹션에서 알림에 포함할 콘텐츠를 입력합니다.

    일반 텍스트, 마크다운, 변수를 사용하여 문서 형식을 지정할 수 있습니다. 또한 내부 플레이북, Google Cloud 대시보드, 외부 페이지에 대한 링크 등 사용자가 이슈를 디버그하는 데 도움이 되는 링크를 포함할 수 있습니다. 예를 들어 다음 문서 템플릿은 gce_instance 리소스의 CPU 사용량 문제를 설명하고 알림 정책 및 조건 REST 리소스를 참조하는 여러 변수를 포함합니다. 그리고 문서 템플릿은 디버깅에 도움이 되도록 독자를 외부 페이지로 안내합니다.

    알림이 생성되면 Monitoring이 문서 변수를 해당 값으로 바꿉니다. 이 값은 알림의 변수만 바꿉니다. 미리보기 창 및 Google Cloud 콘솔의 기타 위치에서 마크다운 형식만 표시합니다.

    미리보기

    ## CPU utilization exceeded
    
    ### Summary
    
    The ${metric.display_name} of the ${resource.type}
    ${resource.label.instance_id} in the project ${resource.project} has
    exceeded 90% for over 15 minutes.
    
    ### Additional resource information
    
    Condition resource name: ${condition.name}  
    Alerting policy resource name: ${policy.name}  
    
    ### Troubleshooting and Debug References
    
    Repository with debug scripts: example.com  
    Internal troubleshooting guide: example.com  
    ${resource.type} dashboard: example.com
    

    알림 형식

    알림에서 문서가 렌더링되는 방법의 예시

    자세한 내용은 사용자 정의 문서로 알림에 주석 추가채널 컨트롤 사용을 참조하세요.

  8. 알림 이름을 클릭하고 알림 정책 이름을 입력합니다.

  9. 정책 만들기를 클릭합니다.

선택한 시계열 필터링

필터를 사용하면 일부 기준 집합을 충족하는 시계열만 모니터링할 수 있습니다. 필터를 적용할 때는 차트 줄 수를 줄여서 차트 성능을 향상시킬 수 있습니다. 집계를 적용하여 모니터링되는 데이터 양을 줄일 수도 있습니다. 필터를 사용하면 일정 기준 집합을 충족하는 시계열만 사용할 수 있습니다. 필터를 적용하면 평가할 시계열 수가 줄어들어 알림 성능을 개선할 수 있습니다.

필터는 라벨, 비교 연산자, 값으로 구성됩니다. 예를 들어 zone 라벨이 "us-central1"로 시작하는 모든 시계열을 일치시키려면 정규 표현식을 사용하여 비교를 수행하는 zone=~"us-central1.*" 필터를 사용하면 됩니다.

프로젝트 ID 또는 리소스 컨테이너로 필터링할 때는 등호 연산자((=))를 사용해야 합니다. 다른 라벨로 필터링할 때는 지원되는 비교 연산자를 사용할 수 있습니다. 일반적으로 측정항목 및 리소스 라벨과 리소스 그룹을 기준으로 필터링할 수 있습니다.

여러 필터링 기준을 제공하면 모든 기준을 충족하는 시계열만 모니터링됩니다.

필터를 추가하려면 필터 추가를 클릭하고, 대화상자를 완료한 후 완료를 클릭합니다. 대화상자에서 필터 필드를 사용하여 필터링에 사용할 기준을 선택하고 비교 연산자를 선택한 후 값을 선택합니다. 다음 표에서 각 행은 비교 연산자와 그 의미 및 예시를 보여줍니다.

연산자의미
= 형평성 resource.labels.zone = "us-central1-a"
!= 같지 않음 resource.labels.zone != "us-central1-a"
=~ 정규 표현식2 같음 monitoring.regex.full_match("^us.*")
!=~ 정규 표현식2 같지 않음 monitoring.regex.full_match("^us.*")
starts_with 값이 다음으로 시작함 resource.labels.zone = starts_with("us")
ends_with 값이 다음으로 끝남 resource.labels.zone = ends_with("b")
has_substring 값이 포함 resource.labels.zone = has_substring("east")
one_of 1개 resource.labels.zone = one_of("asia-east1-b", "europe-north1-a")
!starts_with 값이 다음으로 시작하지 않음 resource.labels.zone != starts_with("us")
!ends_with 값이 다음으로 끝나지 않음 resource.labels.zone != ends_with("b")
!has_substring 값이 포함하지 않음 resource.labels.zone != has_substring("east")
!one_of 값이 다음 중 하나가 아님 resource.labels.zone != one_of("asia-east1-b", "europe-north1-a")

문제 해결

이 섹션에는 문제 해결 도움말이 포함되어 있습니다.

사용 가능한 측정항목 메뉴에 측정항목이 표시되지 않음

측정항목 선택 메뉴에 표시되지 않은 측정항목을 모니터링하려면 다음 중 하나를 수행합니다.

  • Google Cloud 측정항목을 모니터링하는 알림 정책을 만들려면 측정항목 선택 메뉴를 펼친 후 활성을 클릭합니다. 사용 중지된 경우 메뉴에 Google Cloud 서비스의 모든 측정항목 및 데이터가 포함된 모든 측정항목이 나열됩니다.

  • 측정항목 유형으로 데이터가 생성되기 전 커스텀 측정항목 유형에 대해 조건을 구성하려면 모니터링 필터를 사용하여 측정항목 유형을 지정해야 합니다.

    1. 측정항목 선택 섹션에서 (측정항목 선택 섹션 헤더)를 클릭한 후 도움말에서 직접 필터 모드를 선택합니다.
    2. 모니터링 필터 또는 시계열 선택기를 입력합니다. 구문에 대한 자세한 내용은 다음 문서를 참조하세요.

변경률 모니터링

측정항목 값의 변화율을 모니터링하려면 순환 기간 함수 필드를 변화율(%)로 설정합니다. 조건이 평가되면 Monitoring이 측정항목의 변화율을 백분율로 계산한 다음 이 백분율을 조건의 기준과 비교합니다. 이 비교 프로세스는 두 단계를 따릅니다.

  1. 시계열에 DELTA 또는 CUMULATIVE 측정항목 종류가 포함된 경우 시계열이 GAUGE 측정항목 종류가 포함된 것으로 변환됩니다. 변환에 대한 자세한 내용은 종류, 유형, 변환을 참조하세요.
  2. Monitoring은 최근 10분 슬라이딩 기간의 평균 값을 정렬 기간이 시작되기 전 10분 재테스트 기간의 평균 값과 비교하여 변화율을 계산합니다.

변화율 알림 정책에서 비교에 사용되는 10분 슬라이딩 기간은 변경할 수 없습니다. 하지만 조건을 만들 때 사용자가 기간을 지정할 수 있습니다.

제한사항

  • Google Cloud 콘솔의 메뉴 기반 인터페이스를 사용하거나 모니터링 필터를 사용하여 조건을 구성할 수 있습니다. Monitoring Query Language 또는 PromQL을 사용하여 조건을 구성할 수 없습니다.
  • Amazon VM 인스턴스의 측정항목을 제외하고 값 유형이 double 또는 int64인 모든 측정항목이 지원됩니다.

다음 단계