SLO 위젯

SLO(서비스 수준 개체)는 고객이 성공할 수 있는 최적의 환경을 제공하기 위해 각 활동, 기능, 프로세스별로 달성해야 한다고 합의된 목표입니다. SLO는 서비스의 성과 또는 상태를 표현합니다. SLO 위젯에서 상태, 예산, 기존 SLO 잔여 오류 예산 등을 가시화하여 확인할 수 있습니다. SLO 기본 그룹을 모두 표시하고 위젯 내에서 원하는 시간대로 정렬할 수 있습니다. 이 위젯을 사용해 가장 중요한 SLO 정보로 유용한 대시보드를 만들 수 있습니다.

  • 위젯에서 바로 모든 SLO 그룹 확인: 위젯에서 SLO 그룹과 관련된 핵심 정보를 제공하기 때문에 여러 그룹을 포함하고 있는 SLO의 경우 매우 유용합니다.
  • 위젯에서 원하는 순서로 SLO 그룹 정렬 설정: 모든 SLO 유형에 위젯에서 사용할 수 있는 시간대를 사용해 그룹을 정렬할 수 있습니다. 여러 시간대에서 최고 또는 최저 성능을 보이는 SLO를 파악할 수 있습니다.
  • SLO에 누락된 데이터로 시간대 파악: 모든 SLO 유형은 SLO 위젯에서 “-“와 같이 누락된 데이터에 시간대를 보여줍니다. 전체 시간대에서 데이터가 누락된 경우 “-“가 나타납니다.

설정

SLO 위젯을 사용해 대시보드에서 서비스 수준 개체(SLO)를 시각화할 수 있습니다.

메트릭 기반 SLO 요약 위젯 그래프 편집기

구성

  1. 드롭다운 메뉴에서 SLO를 선택합니다.
  2. 메트릭 기반 및 시간 슬라이스 SLO: 쿼리를 필터링하고 템플릿 변수를 활용해 결과를 역동적으로 범위 지정할 수 있습니다.
    • filter by 필드를 이용해 위젯에 표시되는 SLO 상태의 범위를 지정하여 템플릿 변수의 장점을 활용해 보세요. 예를 들어 filter by $env를 선택하면 대시보드의 변수로 SLO 쿼리 선택 값을 env 템플릿으로 범위 지정할 수 있습니다.
    • 원본 SLO 구성에 태그가 포함되어 있지 않은 경우에도 SLO 메트릭 쿼리에 범위와 컨텍스트를 추가로 지정할 수 있습니다. 예"를 들어 원본 SLO 쿼리가 sum:trace.flask.request.hits{*} by {resource_name}.as_count()이고, 위젯에서 env:prod로 필터링하면 prod 환경으로만 데이터 범위가 지정됩니다.
  3. 최대 3개 시간대를 설정할 수 있습니다.
  4. 선호하는 디스플레이를 선택합니다.

옵션

시간대 설정

다음 중에서 최대 3개 시간대를 선택할 수 있습니다.

  • 롤링 시간대: 7, 30, 또는 90일
  • 달력 시간대: 이번 주, 저번 주, 이번 달, 또는 저번 달
  • 글로벌 시간: 이 옵션을 이용하면 SLO 상태와 오류 예산을 임의 시간대로 표시할 수 있습니다. 모니터 기반 SLO의 최대 3개월 내역 정보를 볼 수 있습니다. 시간 슬라이스 및 메트릭 기반 SLO의 경우 지원되는 내역 보기가 계정의 메트릭 보유 기간과 일치합니다(기본값은 15개월).

참고: 오류 예산을 표시하고 Global time SLO 상태를 초록색 또는 빨간색의 색상 코드로 표시하려면 SLO 목표를 지정해야 합니다. SLO 입력 목표를 지정하지 않으면 SLO 상태만 나타나고 폰트 색상이 회색으로 표시됩니다.

표시 기본 설정

Show error budget 옵션을 토글하여 나머지 오류 예산을 표시하거나 숨길 수 있습니다.

그룹 또는 모니터가 여럿인 모니터 기반 SLO를 가시화하는 경우 View mode를 선택합니다.

  • 그룹이 있는 SLO(메트릭 기반 또는 그룹이 있는 시간 슬라이드 SLO, 또는 그룹별로 표시된 단일 모니터의 모니터 기반 SLO)의 경우, 다음 3가지 보기 모드를 선택할 수 있습니다.

    • Overall: 전체 SLO 상태 비율과 목표를 표시합니다.
    • Groups: 각 그룹의 상태 백분율 표를 표시합니다.
    • Both: 전체 SLO 상태 비율 및 목표와 각 그룹의 상태 비율 표를 모두 표시합니다.
  • 여러 모니터로 설정된 모니터 기반 SLO의 경우 다음 세 가지 보기 모드가 있습니다.

    • Overall: 전체 SLO 상태 비율과 목표를 표시합니다.
    • Monitors: 각 모니터의 상태 백분율 표를 표시합니다.
    • Both: 각 모니터의 전체 SLO 상태 비율 및 목표와 상태 비율 표를 모두 표시합니다.

View modeGroups, Monitors, 또는 Both로 선택할 경우:

  • 기본적으로 시간대가 적은 것부터 오름차순으로 그룹이 정렬됩니다. 대시보드를 위젯에 추가한 후에는 위젯 UI를 통해 구성된 시간대별로 상태를 정렬할 수 있습니다.
  • 위젯에는 다음 내용이 표시됩니다.
    • 메트릭 기반 및 시간 슬라이스 SLO의 경우, SLO의 모든 기본 그룹이 표시됩니다.
    • 모니터가 여러 개인 모니터 기반 SLO의 경우, SLO에 있는 모든 기본 모니터가 표시됩니다.
    • 그룹이 있는 단일 모니터 기반 SLO의 경우, SLO에서 선택된 지정 그룹이 최대 20개까지 표시됩니다. SLO에서 그룹을 선택하지 않은 경우에는 SLO의 모든 기본 그룹이 표시됩니다.

참고: 그룹이 있는 모니터 기반 SLO의 경우, 최대 5,000개 그룹을 포함하고 있는 SLO를 모두 표시할 수 있습니다. SLO에 포함되어 있는 그룹이 5,000개 그룹 이상인 경우, 계산에는 모든 그룹이 포함되지만 UI에는 표시되지 않습니다.

API

해당 위젯은 **대시보드 API**와 함께 사용할 수 있습니다. 위젯 JSON 스키마 정의에 대해서는 다음 표를 참고하세요.

Expand All

항목

유형

설명

additional_query_filters

string

Additional filters applied to the SLO query.

global_time_target

string

Defined global time target.

show_error_budget

boolean

Defined error budget.

slo_id

string

ID of the SLO displayed.

time_windows

[string]

Times being monitored.

title

string

Title of the widget.

title_align

enum

How to align the text on the widget. Allowed enum values: center,left,right

title_size

string

Size of the title.

type [required]

enum

Type of the SLO widget. Allowed enum values: slo

default: slo

view_mode

enum

Define how you want the SLO to be displayed. Allowed enum values: overall,component,both

view_type [required]

string

Type of view displayed by the widget.

default: detail

{
  "additional_query_filters": "string",
  "global_time_target": "string",
  "show_error_budget": false,
  "slo_id": "string",
  "time_windows": [],
  "title": "string",
  "title_align": "string",
  "title_size": "string",
  "type": "slo",
  "view_mode": "string",
  "view_type": "detail"
}

참고 자료