SLO 만들기

서비스를 모니터링하려면 서비스 수준 목표(SLO)가 하나 이상 필요합니다. SLO는 서비스의 성능 목표를 캡슐화합니다. 모든 SLO는 서비스 수준 지표(SLI)라고 하는 성능 측정항목을 기반으로 합니다. SLI 및 SLO에 대한 자세한 내용은 서비스 모니터링 개념을 참조하세요.

서비스 하나에 최대 500개의 SLO를 만들 수 있습니다.

시작하기 전에

SLO를 보고 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Monitoring 편집자(roles/monitoring.editor) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 상세 설명은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

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

시작하기

SLO를 정의하려면 서비스 수준 목표(SLO) 만들기 창으로 이동합니다.

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

    SLO로 이동

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

  2. 서비스 수준 목표(SLO) 만들기 창을 엽니다.

    새 서비스의 경우 다음을 수행합니다.

    1. 서비스 정의를 클릭한 후 서비스를 정의합니다.
    2. 서비스 정의 창에서 제출을 클릭한 후 SLO 만들기를 클릭합니다.

    기존 서비스의 경우 다음을 따르세요.

    1. 서비스 목록에서 서비스 목록의 서비스 이름을 클릭합니다.
    2. 서비스 세부정보 페이지에서 SLO 만들기를 클릭합니다.

SLO 생성 창은 SLO를 생성하는 단계를 안내합니다. 이 문서의 나머지 부분에서는 SLO 생성 프로세스의 다음 단계를 설명합니다.

  1. SLI 설정
  2. SLI 세부정보 정의
  3. SLO 설정
  4. SLO 검토 및 저장

다음 단계로 이동하려면 계속을 클릭합니다. SLO를 저장하기 전에 이전 단계를 클릭하여 변경할 수 있습니다. SLO 생성 프로세스를 종료하려면 취소를 클릭합니다.

SLI 설정

SLI 설정 창에는 다음과 같은 하위 창이 있습니다.

  • 서비스 세부정보: 서비스 정보의 식별을 보고합니다. 서비스의 대시보드에 있는 서비스 세부정보 창과 동일합니다.

  • 측정항목 선택: 모니터링할 성능에 대한 측정항목을 선택합니다.

  • 요청 기반 또는 기간 기반: 측정항목 평가 방법을 선택합니다.

다음 스크린샷은 SLI 창을 보여줍니다.

**Set SLI** 창을 사용하여 성능 측정항목을 선택합니다.

SLI와 평가 방법에 사용되는 측정항목에 대한 자세한 내용은 서비스 수준 지표 개념 주제를 참조하세요.

측정항목 선택

SLI 측정항목은 측정할 성능 유형을 지정합니다. SLI에서는 측정항목에서 비율을 만들어 시간 경과에 따른 우수한 성능을 측정합니다. SLI에는 다음과 같은 옵션이 있습니다.

  • 가용성: 사용자에 대한 서비스 가용성을 측정합니다.
  • 지연 시간: 서비스가 사용자에게 얼마나 빠르게 반응하는지 측정합니다.
  • 기타: 특정 측정항목을 사용하고 싶다고 표시할 수 있습니다. 측정항목을 지정하고 SLI 세부정보 설정 창에서 SLI를 빌드하는 방법을 설명합니다.

유효한 선택은 구성하려는 서비스의 유형에 따라 다릅니다.

  • Cloud Service Mesh, Google Kubernetes Engine의 Istio, App Engine의 경우 어떠한 옵션도 선택할 수 있습니다. 이러한 서비스에 대해 가용성 및 지연 시간 측정항목은 잘 알려져 있으며, 기타를 선택하여 커스텀 SLI를 사용할 수도 있습니다.

  • GKE 기반 서비스 및 커스텀 서비스의 경우 기타만 선택할 수 있습니다. Prometheus 측정항목은 기본 가용성 및 지연 시간 SLO에 포함되지 않으며 이러한 서비스의 다른 유의미한 가용성이나 지연 시간 측정항목은 미리 알려지지 않습니다.

    Google Cloud Managed Service for Prometheus를 사용하여 Prometheus 측정항목 수집을 구성한 경우 수집된 Prometheus 측정항목을 커스텀 SLI로 설정할 수 있습니다.

평가 방법 선택

SLI의 측정항목을 선택한 후에는 측정항목 평가 방법을 지정합니다.

  • 요청 기반 평가는 특정 기간의 총 요청 수에 대해 평가 기준을 충족하는 요청 수를 측정합니다.

  • 기간 기반 평가는 전체 평가 기간 수에 대해 양호 기준을 충족하는 평가 기간 수를 측정합니다.

두 가지 평가 방법 모두에 대해 SLI 세부정보 설정 페이지에서 평가 기준을 지정합니다.

이러한 평가 유형에 대한 자세한 내용은 요청 및 기간 기반 SLO의 규정 준수를 참조하세요.

SLI 세부정보 설정

SLI 세부정보 정의 창의 콘텐츠는 이전 단계에서 선택한 측정항목 및 평가 방법에 따라 다릅니다.

가용성 측정항목과 요청 기반 평가를 선택한 경우 다른 세부정보가 필요하지 않습니다.

기간 기반 평가

기간 기반 평가를 선택한 경우 이 구간 기간의 추가 기준(양호 기준 및 기간)을 설정합니다.

양호 기준 및 평가 기간을 선택하여 SLI 기간을 설정합니다.

양호 기준은 규정 준수 기간 동안 '양호'로 평가되어야 하는 기간 비율을 나타냅니다. 기간은 기간의 길이를 지정합니다.

지연 시간 측정항목

지연 시간 측정항목을 선택한 경우 이 창에서 허용 가능한 성능을 결정하는 임곗값을 지정합니다.

SLI의 지연 시간 임곗값을 설정합니다.

SLI를 평가할 때 지연 시간 임곗값 이상의 모든 것은 '안 좋은' 성능으로 간주됩니다.

커스텀 SLI

SLI 측정항목으로 기타를 선택한 경우 이 창에서 사용할 측정항목을 지정합니다. 성능 측정항목 필드를 입력하여 측정항목을 선택하거나 목록에서 하나를 선택할 수 있습니다.

목록의 측정항목은 다음 두 가지 유형으로 구분됩니다.

  • 분포 컷 표시기
  • 시계열 비율 표시기

Google Cloud Managed Service for Prometheus로 Prometheus 측정항목을 수집하는 경우 측정항목 이름이 prometheus.googleapis.com/으로 시작됩니다.

다음 스크린샷에서는 부분 목록을 보여줍니다.

메뉴의 측정항목은 표시기 유형별로 분류됩니다.

분포 컷 표시기를 선택하는 경우 위, 아래, 사이 중 하나의 범위와 포함할 모니터링 리소스 및 모든 라벨을 지정하는 필터를 제공하여 SLI를 구성합니다. 구성 창은 다음과 같이 표시됩니다.

분포 컷 표시기의 범위와 필터를 설정합니다.

시계열 비율 표시기를 선택하는 경우 일반적으로 측정항목 또는 리소스 유형에서 라벨 값을 선택하여 측정항목 데이터를 분류하는 분자 및 분모 필터를 빌드하여 비율을 구성합니다. 구성 창은 다음과 같이 표시됩니다.

시계열 비율에 분자 및 분모 필터를 설정합니다.

이러한 SLI 유형에 대한 자세한 내용은 DistributionCutTimeSeriesRatio에 대한 Monitoring API 참조 페이지를 참조하세요.

GKE 제어 영역 측정항목

GKE 컨트롤 플레인 측정항목은 커스텀 SLI에 사용할 수 있는 유용한 시스템 상태 지표입니다. 이를 사용하려면 먼저 이 측정항목의 수집을 사용 설정해야 합니다. 이러한 측정항목은 Google Cloud Managed Service for Prometheus에서 수집됩니다.

  • [API 서버 측정항목][gke-api-metrics]를 사용하여 API 서버 로드, 오류를 반환하는 API 서버 요청 비율, API 서버에서 수신한 요청의 응답 지연 시간을 추적합니다.
  • 스케줄러 측정항목을 사용하면 대기 중인 포드를 위한 리소스가 충분하지 않을 때 예약 문제에 사전에 대응할 수 있습니다.

컨트롤 플레인 측정항목 및 이를 사용하여 시스템 상태를 모니터링하는 방법에 대한 자세한 내용은 컨트롤 플레인 측정항목 사용을 참조하세요.

차트 미리보기

SLI를 구성하면 SLI 세부정보 정의 창에는 SLI에서 이 서비스의 이전 성능을 측정하는 방식을 보여주기 위한 미리보기 차트가 포함됩니다. 예를 들면 다음과 같습니다.

완료된 SLI는 이전 데이터 기반의 차트를 보여줍니다.

서비스를 방금 만들었거나 배포했다면 아직 데이터가 없을 수 있습니다. 그럼에도 SLI를 만들 수 있지만 이전 관점으로 볼 수는 없습니다.

SLO 설정

SLO 설정 창에는 다음 리전이 있습니다.

  • 규정 준수 기간: SLI를 평가할 기간을 설정합니다.

  • 성능 목표: 규정 준수 기간의 성능 임곗값을 지정합니다.

  • 미리보기: 규정 준수 기간 동안 SLI 평가 결과를 보여주는 성능 목표 임곗값 및 그래프를 표시합니다.

규정 준수 기간 및 성능 목표를 선택하여 SLO를 설정합니다.

규정 준수 기간

다음과 같은 두 가지 유형의 규정 준수 기간을 메뉴에서 선택할 수 있습니다.

  • 달력 기간
  • 순환 기간

달력 기간은 기간 길이인 정해진 기간의 규정 준수를 측정합니다. 기간이 끝나면 오류 예산이 재설정되고 새 규정 준수 기간이 시작됩니다.

평균 기간은 슬라이딩 기간입니다. 길이도 있지만 규정 준수는 지난 n일 동안 계산됩니다. 새로운 날짜가 시작되면 규정 준수 및 남아 있는 오류 예산이 이전 n일 동안 다시 계산됩니다.

달력 및 평균 기간 규정 준수 기간에 대한 자세한 내용은 규정 준수 기간을 참조하세요.

차트 미리보기

SLO를 구성하면 SLO 설정 창에는 SLO에서 이 서비스의 이전 성능을 측정하는 방식을 보여주기 위한 미리보기 차트가 포함됩니다. 예를 들면 다음과 같습니다.

완료된 SLO는 이전 데이터 기반의 차트를 보여줍니다.

서비스를 방금 만들었거나 배포했다면 아직 데이터가 없을 수 있습니다. 그럼에도 SLO를 만들 수 있지만 이전 관점으로 볼 수는 없습니다.

SLO 저장

검토 및 저장 창에는 SLO 표시 이름의 단일 필드가 있습니다. 이 필드에는 SLO를 정의할 때의 선택에 따라 기본값이 적용되지만 표시 이름을 더 구체적으로 변경할 수 있습니다.

또한 이 창에서 JSON 형식의 SLO를 미리 볼 수도 있습니다. JSON 블록은 SLO를 요약하며 serviceLevelObjectives.create 메서드와 함께 사용하도록 복사할 수 있습니다. SLO 값을 변경하면 JSON 미리보기가 자동으로 업데이트됩니다.

다음 스크린샷에서 기본 이름의 필드를 보여줍니다.

Monitoring은 SLO의 기본 이름을 생성합니다.

표시 이름이 적절하면 SLO 만들기를 클릭합니다.

다음 단계

SLO를 만든 후에는 다음을 수행할 수 있습니다.