스마트 홈 서비스 중단 모니터링

1. 시작하기 전에

스마트 홈 디버깅 Codelab에서 학습한 대로 스마트 홈 프로젝트에 측정항목과 로그를 게시합니다. 측정항목은 스마트 홈 작업에 문제가 있는 위치를 확인하는 데 도움이 되며, 로그는 이러한 문제를 해결하기 위해 자세히 살펴보는 데 유용합니다.

dd44868a4ff2df6e.png

프로젝트에 제공된 측정항목을 사용하여 알림을 설정하면 자동으로 서비스 중단을 모니터링하고 서비스 중단 중에 알림을 받을 수 있습니다. Google에서는 프로젝트의 중단을 강조 표시하는 신뢰도 측정항목을 게시하고 있습니다. 이 Codelab에서는 Google Cloud에서 사용할 수 있는 다른 모든 알림 도구와 함께 이 측정항목을 다룹니다.

기본 요건

학습할 내용

  • 프로젝트에서 성능 문제 및 서비스 중단을 모니터링하는 방법
  • 기준점 기반 알림을 만들고 서비스 중단 중에 알림을 받는 방법
  • 프로젝트에 제공된 신뢰도 측정항목을 활용하여 서비스 중단을 감지하는 방법

2. 실적 모니터링

성능 모니터링은 Google Home 생태계와의 통합을 성공적으로 수행하는 데 중요합니다. Google은 Google Cloud에서 스마트 홈 개발자에게 모니터링 도구 모음을 제공하고 있습니다. 이러한 도구를 사용하여 프로젝트의 실적을 파악할 수 있습니다.

대시보드 액세스

데이터에 액세스하려면 먼저 Google Cloud 콘솔에 로그인하고 작업 > 모니터링 > 대시보드로 이동하여 Google Home 대시보드를 확인합니다. 사용 가능한 대시보드가 여러 개 있으며 스마트 홈용 대시보드에는 Google Home 애널리틱스라는 접두사가 붙습니다.

317697e52ced2437.png

각 통합 유형을 나타내는 개별 대시보드를 만들었습니다. Cloud, 로컬, Matter 통합에는 자체 대시보드가 있으며 카메라 스트리밍 프로토콜의 데이터는 카메라 품질 대시보드에 제공됩니다. 이러한 대시보드에는 요청을 처리하는 작동하는 프로젝트와 함께 해당 유형의 통합이 있는 경우에만 데이터가 포함됩니다.

이러한 대시보드 중 하나를 열면 다음과 같은 뷰가 표시됩니다.

f8bfd69286c569a4.png

대시보드에는 프로젝트에서 처리한 요청의 세부정보를 보여주는 다양한 차트가 포함되어 있습니다. 모든 통합 대시보드에는 프로젝트에서 처리한 총 요청 수를 보여주는 차트, 해당 통합 유형의 성공률을 보여주는 차트, 관련 기기 유형 및 트레잇을 보여주는 여러 차트가 표시됩니다.

스마트 홈 작업의 실적을 평가하는 데 중요한 세 가지 차트가 있습니다.

f511fafd3aaaa1eb.png

서비스 중단이 발생하면 일반적으로 성공률이 하락하고 오류 분류 차트가 상승하는 추세를 보입니다. 실행 성공률을 모니터링하면 서비스 중단을 파악하는 데 도움이 되며, 오류 분석에서 상위 오류를 살펴보면 디버깅에 도움이 됩니다. 또한 서비스 중단 중에 지연 시간이 증가하는 추세를 볼 수 있으며 이는 요청 지연 시간 차트에서 확인할 수 있습니다.

Google Home 분석 대시보드에 표시되는 차트가 포함된 기본 보기는 스마트 홈 측정항목 데이터를 사용하여 프로젝트에 대해 만든 보기일 뿐입니다. 측정항목 탐색기를 사용하여 동일한 기본 측정항목에서 자체 차트를 만들고 커스텀 대시보드에 저장할 수도 있습니다.

측정항목 탐색기

측정항목 탐색기는 프로젝트의 데이터 세트 횡단면을 시각화하는 도구입니다. Google Cloud 콘솔에서 Operations > Monitoring > Metrics Explorer로 이동하여 이 도구에 액세스할 수 있습니다.

Google Cloud는 스마트 홈과 관련 없는 측정항목을 포함하여 다양한 측정항목을 기본적으로 제공합니다. 스마트 홈에 제공되는 측정항목은 'actions.googleapis.com/smarthome_action/...' 리소스에 나열되어 있으며 측정항목 선택 상자에 'smarthome'를 입력하여 쉽게 검색할 수 있습니다.

538d851edfd34764.png

'smarthome'을 검색하면 프로젝트에 제공되는 모든 스마트 홈 측정항목이 표시됩니다. 각 측정항목에 관한 자세한 내용은 문서의 모니터링로깅 페이지를 참고하세요.

프로젝트를 모니터링할 때 가장 간단하게 참조할 수 있는 측정항목은 요청 수 측정항목 (델타 측정항목)입니다. 이 측정항목은 사용자가 시작한 각 스마트 홈 실행에 관한 항목을 기록하고 기기 유형, 트레잇, 실행과 관련된 실행 유형, 결과를 보여주는 상태 필드와 같은 필드를 기록합니다.

이 측정항목을 선택하면 다음과 같이 각 데이터 버킷을 보여주는 화면이 표시됩니다.

b1c18141d15a0e09.png

기본적으로 이 측정항목에 있는 모든 데이터 라벨 조합에 대해 이전 시간 간격과 현재 시간 간격 간의 변화 (델타)를 기록하는 버킷이 있습니다. 이러한 버킷을 그룹화하거나 필터링하여 원하는 뷰 데이터 슬라이스를 가져올 수 있습니다. 또한 데이터는 정렬 함수 (DELTA, MEAN, MEDIAN, SUM)를 사용하여 선택한 시간 간격으로 정렬됩니다. 특별한 필요가 없는 한 일반적으로 델타 측정항목과 함께 델타 정렬을 사용합니다.

측정항목 탐색기를 사용하여 Google Home 분석 대시보드에서 사용할 수 있는 대부분의 차트를 만들고 나중에 액세스할 수 있도록 커스텀 대시보드에 차트를 저장할 수 있습니다. 비율 차트와 같이 더 복잡한 보기를 사용하려면 Monitoring Query Language(MQL)를 사용해야 합니다.

3. 성공 통계

통합 성공을 추적할 때는 요청 수 측정항목에서 계산된 성공률을 기준 지표로 사용하거나 더 전문적인 접근 방식을 위해 성공 확신을 사용할 수 있습니다.

성공 비율

성공률은 모든 요청에서 성공한 요청 수를 전체 요청 수로 나눈 값으로 모든 통합에 대해 계산됩니다. Google Home 애널리틱스 대시보드의 처리 성공률 차트에서 확인할 수 있습니다.

55ea8930fbf48d9e.png

처리 성공률 차트는 프로젝트의 실적을 모니터링하는 데 매우 유용하지만 맞춤 대시보드를 빌드하거나 알림을 설정하는 데는 그다지 유용하지 않습니다. 성공률은 자체 측정항목이 아닌 요청 수 측정항목에서 파생되므로 이 두 기능과 함께 사용하려면 측정항목 탐색기에서 MQL (Monitoring Query Language)을 사용하여 다시 만들어야 합니다.

또한 프로젝트의 성능 중단을 추적하려면 훨씬 더 전문적인 접근 방식이 필요하다고 생각합니다. 따라서 Google에서는 현재 처리 성공률이 이전 평균에서 얼마나 벗어나 있는지에 따라 달라지는 신뢰도 측정항목을 만들었습니다.

신뢰도 측정항목

프로젝트의 경우 서비스 중단이 다양한 형태와 규모로 존재할 수 있습니다. 몇 시간에서 몇 분까지 지속될 수 있으므로 식별하기가 쉽지 않습니다. 이를 위해 Google에서는 프로젝트에 신뢰도 측정항목을 만들었습니다. 이 측정항목은 이전 실적을 기반으로 신뢰성을 예측하기 위한 정규화된 값을 제공합니다. 측정항목 탐색기에서 smarthome을 검색한 다음 실행 성공 확률을 선택하여 신뢰도 측정항목에 액세스할 수 있습니다.

ab467a1777281526.png

스마트 홈 통합 실적이 이전 실적 (7일 평균) 이상인 경우 이 측정항목은 최대값 (1.0)을 출력합니다. 성공률이 4배 이상의 표준 편차 (7일 동안 계산됨)를 초과하여 벗어나면 이 측정항목은 최솟값 (0.0)을 출력합니다. 표준 편차가 너무 작으면 (2.5% 미만) 이 측정항목은 성공률이 10% 하락할 때의 0.0 값을 기준으로 합니다.

그 사이의 모든 경우에는 이 측정항목이 1.0 (중단이 없다고 완전히 확신함)과 0.0 (중단이 있다고 최대한 확신함) 사이의 값을 제공합니다.

따라서 알림을 설정할 때 (다음 섹션에서 설명) 0.5 값을 기준점으로 사용하는 것이 좋습니다. 이는 2개의 표준 편차 또는 5% 감소(둘 중 더 큰 값)에 해당합니다.

4. 알림 설정

다음 단계는 이전 섹션에서 배운 내용을 사용하여 프로젝트에 알림을 설정하는 것입니다.

알림 정책 만들기

Google Cloud의 자동 알림은 알림 정책을 통해 설정됩니다. 사이드 메뉴의 작업 > 모니터링 > 알림 탭을 통해 알림 정책에 액세스할 수 있습니다. +정책 만들기 옵션을 선택하여 새 알림 정책을 만들면 알림 정책 생성 화면으로 이동합니다.

6e417d88c2274b3d.png

알림 정책을 만드는 단계는 세 가지입니다. 먼저 조건을 추가하여 추적할 항목을 결정해야 합니다. 조건 추가 버튼을 누르면 측정항목 탐색기와 유사한 창이 열리며 조건을 구성하기 위한 몇 가지 추가 컨트롤이 표시됩니다.

df1ccf7da741e1c7.png

타겟의 경우 이전 섹션에서 다룬 신뢰도 측정항목을 선택합니다. 이 측정항목 (고급 옵션 표시 > 정렬기)을 사용하여 정렬기가 델타로 설정되어 있는지 확인합니다. 다음 단계는 알림 조건을 구성하고 다음 설정을 사용하는 것입니다.

4192e0f4ea00dd28.png

조건 트리거 기준: 알림을 트리거할 시기를 결정하는 기본 구성입니다. 시계열 위반을 선택하면 측정항목에 기준점을 설정하고 값이 기준점을 넘는지 모니터링할 수 있습니다.

조건 - 값이 기준점 아래로 떨어지면 알림이 트리거되도록 미만으로 설정합니다. 이 측정항목에서 1.0은 통합이 제대로 작동하고 있음을 의미하고 0.0은 확실한 서비스 중단을 나타냅니다.

기준 - 이 값을 0.5로 설정하면 최상의 결과를 제공하도록 신뢰도 측정항목을 만들었습니다. 알림을 더 자주 받고 경미한 문제에 대한 알림을 받으려면 이 값을 높여보세요 (최대 1.0). 이후에 더 심각한 문제에 대해서만 알림을 더 적게 받으려면 이 값을 줄여 볼 수 있습니다 (최소 0.0).

For: 알림이 전송되기 전에 서비스 중단이 지속되어야 하는 시간을 식별하는 설정입니다. 기준을 초과하는 지점에 대한 알림을 받으려면 이 설정을 최근 값으로 유지하는 것이 좋습니다. 신뢰도 측정항목은 해당 기간의 평균 성공률을 고려하여 15분마다 게시됩니다.

조건 추가를 완료하면 다음 단계는 알림 채널을 선택하는 것입니다. 가장 간단한 알림 방법은 이메일 알림입니다. 알림 채널 드롭다운에 나열된 이메일을 선택할 수 있습니다.

3cc10629830e7f13.png

이슈 종료 시 알림 옵션을 선택하면 이슈가 종료로 표시되면 다시 알림이 전송됩니다. 이 경우 이슈 자동 종료 기간도 선택해야 합니다. 기본적으로 7일로 지정됩니다.

마지막 단계는 알림에 이름을 지정하고 알림에 포함할 문서를 추가하는 것입니다.

686fb1c537fee10.png

특히 알림을 받을 사용자가 아닌 경우 문서를 제공하는 것이 좋습니다. 사고 발생 시 확인해야 할 위치, 분류 및 디버그 방법과 같은 단계를 추가하면 서비스 중단 시 유용할 수 있습니다. 필요한 경우 문제 해결 가이드를 참고하세요.

저장하면 알림 정책이 알림 페이지의 정책 섹션에 표시됩니다.

c71a001e4df035ee.png

5. 서비스 중단 완화

알림을 설정하면 제공한 알림 채널을 통해 서비스 중단 시 알림이 전송되고 알림 페이지에 이슈 항목이 생성됩니다.

알림 수신

이 Codelab에서 제공한 알림 채널은 이메일입니다. 설정 후에는 알림이 수신되지 않기를 바라지만 (중단이 없음) 알림이 수신되면 다음과 같이 표시됩니다.

43217b0a145c2cd.png

알림은 지정된 기준을 초과한 관찰된 값과 이슈가 처음 시작된 시점을 나타내는 타임스탬프를 제공합니다.

모니터링 이슈

이슈가 발생하면 알림 페이지의 이슈 섹션에도 집계됩니다.

fdd883a9604ed981.png

특정 이슈를 클릭하면 중단 기간, 심각도 등 중단과 관련된 세부정보를 확인할 수 있습니다.

알림을 받으면 가장 먼저 측정항목을 확인한 다음 로그에서 서비스 중단의 원인이 된 오류를 검색하는 것이 좋습니다. 스마트 홈 디버깅 Codelab에서 이러한 작업을 수행하는 방법을 다시 한번 살펴보세요.

6. 축하합니다

17d485868a6771bc.png

축하합니다. 프로젝트에 제공된 측정항목을 사용하여 알림을 설정하여 서비스 중단을 자동으로 모니터링하고 서비스 중단 중에 알림을 받는 방법을 알아봤습니다.

다음 단계

이 Codelab을 기반으로 다음 실습을 해 보고 추가 리소스를 살펴보세요.

  • 이 Codelab에서 배운 내용을 프로젝트에 제공된 다른 측정항목과 결합할 수 있습니다. 사용 가능한 측정항목의 전체 목록은 Monitoring 페이지의 지원되는 측정항목 섹션에서 확인할 수 있습니다.
  • Google Cloud 문서의 알림 옵션 페이지에 설명된 알림의 다른 유형의 알림 채널을 살펴보세요.