Google Home Play Console에서 Matter 기기 및 앱 개발을 시작하려면 Matter Private 베타 프로그램을 신청하세요. 지금 신청하기

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

1. 시작하기 전에

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

dd44868a4ff2df6e.png

프로젝트에 제공된 측정항목을 사용하여 알림을 설정하여 서비스 중단을 자동화하고 서비스 중단 발생 시 알림을 받을 수 있습니다. Google에서는 Google Cloud Platform에서 사용할 수 있는 다른 모든 알림 도구와 함께 이 Codelab에서 다룰 장애를 강조하기 위해 신뢰도 측정항목을 게시하고 있습니다.

기본 요건

학습할 내용

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

2. 실적 모니터링

Google 스마트 홈 생태계와의 성공적인 통합에 있어 성능 모니터링은 매우 중요합니다. Google은 Google Cloud Platform에서 스마트 홈 개발자에게 일련의 모니터링 도구를 제공합니다. 이 도구를 사용하여 프로젝트 실적을 파악할 수 있습니다.

대시보드 액세스

데이터에 액세스하려면 먼저 Google Cloud Console에 로그인하고 운영 및 모니터링; 대시보드로 이동하여 Google Home 대시보드를 확인해야 합니다. 사용할 수 있는 대시보드가 여러 개 있는 것을 확인할 수 있으며 스마트 홈의 대시보드에 Google Home Analytics 접두사가 있습니다.

317697e52ced2437.png

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

이 대시보드 중 하나를 열면 표시되는 뷰는 다음과 같습니다.

f8bfd69286c569a4.png

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

스마트 홈 작업의 실적을 평가하는 데 필수적인 세 가지 차트가 있습니다.

f511fafd3aaaaaeb.png

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

Google Home 애널리틱스 대시보드에 표시되는 차트가 포함된 기본 뷰는 스마트 홈 측정항목 데이터를 사용하여 프로젝트에 생성한 보기일 뿐입니다. 측정항목 탐색기를 사용하여 동일한 기본 측정항목에서 자체 차트를 만들어 맞춤 대시보드에 저장할 수도 있습니다.

측정항목 탐색기

측정항목 탐색기는 프로젝트 데이터 세트의 크로스 섹션을 시각화하는 도구입니다. Google Cloud Console에서 운영 및 모니터링; 모니터링 및 측정항목 탐색기로 이동하여 도구에 액세스할 수 있습니다.

Google Cloud는 스마트 홈과 관련이 없는 다양한 측정항목을 즉시 제공합니다. 스마트 홈에 제공하는 측정항목은 'quot;actions.googleapis.com/smarthome_action/..." 리소스'에 표시되며 측정항목 선택 상자에 "smarthome"을 입력하여 쉽게 검색할 수 있습니다.

538d851edfd34764.png

'smarthome''을 검색하면 프로젝트에 제공되는 모든 스마트 홈 측정항목이 표시됩니다. 각 측정항목의 자세한 정보는 문서의 모니터링 및 로깅 페이지에서 확인할 수 있습니다.

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

이 측정항목을 선택하면 다음과 유사한 각 데이터 버킷을 보여주는 화면이 생성됩니다.

b1c18141d15a0e09.png

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

측정항목 탐색기를 사용하여 Google Home 애널리틱스 대시보드에서 제공되는 차트를 대부분 만들고 나중에 사용할 수 있도록 맞춤 대시보드에서 차트를 저장할 수 있습니다. 비율 차트와 같은 복잡한 보기를 만들려면 MQL - Monitoring Query Language를 사용해야 합니다.

3. 성공 통계

통합 성공을 추적하는 경우 Google은 요청 횟수 측정항목에서 계산한 성공률을 기준 지표로 사용하거나 보다 전문화된 접근 방식을 위한 성공 신뢰도를 사용할 수 있습니다.

성공 비율

성공률은 모든 통합에 대해 성공한 요청 수를 모든 요청으로 나눈 값입니다. Google Home 애널리틱스 대시보드의 fulfillment 성공률 차트에서 액세스할 수 있습니다.

55ea8930fbf48d9e.png

fulfillment 성공률 차트는 프로젝트의 성능을 모니터링하는 데 매우 유용하지만 커스텀 대시보드를 빌드하거나 알림을 설정할 때는 그다지 유용하지 않습니다. 성공률은 측정항목이 아닌 요청 수 측정항목에서 파생되므로 측정항목 기능에서 MQL (Monitoring Query Language)을 사용하여 측정항목을 다시 만들어야 합니다.

또한 프로젝트의 성능 중단을 추적하려면 훨씬 더 전문화된 접근 방식이 필요하다고 생각합니다. 그래서 Google은 현재의 처리 성공률이 과거 표준에서 벗어난 정도를 기준으로 신뢰도 측정항목을 만들었습니다.

신뢰도 측정항목

서비스 중단은 프로젝트에 따라 다양한 모양과 크기로 나타날 수 있습니다. 몇 시간에서 몇 분 정도 지속될 수 있어 사용자를 식별하기가 어려워집니다. 이를 위해 프로젝트에 신뢰도 측정항목을 만들어 과거 성능을 기반으로 안정성을 예측하기 위한 정규화된 값을 제공합니다. 측정항목 탐색기에서 스마트 홈을 검색한 다음 실행 성공 신뢰도를 선택하여 신뢰도 측정항목에 액세스할 수 있습니다.

ab467a1777281526.png

스마트 홈 통합이 이전 실적 (7일 평균) 이상이면 이 측정항목은 최댓값 (1.0)을 출력합니다. 성공률이 4개의 표준 계수 (7일 동안 계산)보다 더 많이 벗어나면 이 측정항목은 최솟값 (0.0)을 출력합니다. 표준 편차가 너무 작은 경우 (2.5%), 이 측정항목은 0.0 값을 기준으로 10% 의 성공률을 나타냅니다.

이 중간 사이의 모든 경우에 이 측정항목은 1.0 (서비스 중단이 없음을 완전히 확신함)에서 0.0 (서비스 중단이 있을 때 최대 신뢰도) 사이의 값을 제공합니다.

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

4. 알림 설정하기

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

알림 정책 만들기

Google Cloud Platform의 자동 알림은 알림 정책을 통해 설정됩니다. 사이드 메뉴 Operations > Monitoring > Alerting 탭을 통해 알림 정책에 액세스할 수 있습니다. +정책 만들기 옵션을 선택하여 새 알림 정책을 만들 수 있습니다. 그러면 정책 정책 생성 화면이 표시됩니다.

6e417d88c2274b3d.png

알림 정책은 세 가지 부분으로 구성됩니다. 먼저 조건을 추가하여 추적할 항목을 결정해야 합니다. 조건 추가 버튼을 누르면 측정항목 탐색기와 비슷한 창이 표시되며, 조건을 구성하는 추가 컨트롤이 있습니다.

df1ccf7da741e1c7.png

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

4192e0f4ea00dd28.png

다음의 경우 조건 트리거 - 알림을 트리거할 시점을 결정하는 기본 구성입니다. 임의의 시계열 위반을 선택하면 Google에서 측정항목에 임계값을 설정하고 값이 교차되었는지 여부를 모니터링하므로 작동합니다.

조건 - 값이 기준 미만이 되면 알림이 트리거되도록 설정하려고 하므로 미만으로 설정합니다. 측정항목에서 1.0은 통합이 잘 작동하고 0.0이 확실한 중단을 나타냅니다.

기준 - 이 값이 0.5로 설정되어 있으면 최상의 결과를 제공하기 위해 신뢰도 측정항목을 만들었습니다. 더 자주 알림을 받고 이슈가 적은 알림을 받으려면 이 값을 최대 1.0으로 늘려 보세요. 결과적으로 더 적게 알림을 받고자 하며 더 심각한 문제가 있는 경우에만 이 값 (최소 0.0)을 낮춰 보세요.

기간: 알림을 받는 데 중단이 지속되어야 하는 기간을 식별하는 설정입니다. 기준을 초과하는 시점에 알림을 받으려면 이 설정을 최근 값으로 유지하는 것이 좋습니다. 신뢰도 측정항목은 15분마다 게시되며, 해당 기간의 평균 성공을 보여줍니다.

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

3cc10629830e7f13.png

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

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

686fb1c537fee10.png

특히 알림을 받을 문서가 아닌 경우 문서를 제공하는 것이 좋습니다. 사고 발생 시 확인할 위치 및 선별하고 디버그하는 방법과 같은 단계를 추가하면 중단 중에도 도움이 될 수 있습니다. 필요하면 문제 해결 가이드를 참조하세요.

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

C71a001e4df035ee.png

5. 서비스 중단 완화

알림을 설정하면 사용자가 제공한 알림 채널에서 서비스 중단이 발생했을 때 알림을 받게 되며, 알림 페이지에 이슈 항목도 생성됩니다.

알림 수신

이 Codelab에서 제공한 알림 채널은 이메일이었습니다. 알림을 설정한 후 (서비스 중단 없음) 알림을 받지 않았으면 다음과 같이 표시됩니다.

43217b0a145c2cd.png

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

이슈 모니터링

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

fdd883a9604ed981.png

특정 이슈를 클릭하면 서비스 중단 기간에 대한 세부정보(예: 지속 시간 또는 심각도)를 확인할 수 있습니다.

알림을 받을 때 가장 좋은 첫 번째 단계는 측정항목을 살펴본 다음 로그에서 서비스 중단의 원인이 되는 오류를 검색하는 것입니다. 방법은 스마트 홈 디버깅 Codelab에서 확인할 수 있습니다.

6. 축하합니다

17d485868a6771bc.png

수고하셨습니다 프로젝트에 제공된 측정항목을 사용하여 알림을 설정하여 자동화된 서비스 중단을 모니터링하고 서비스 장애 시 알림을 받는 방법을 알아보았습니다.

다음 단계

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

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