Google Cloud 드림 프로젝트의 안정성을 모니터링할 수 있는 도구를 제공합니다. Google Cloud Monitoring 관련 디버그 문제 및 Google Cloud Logging 관련 디버그 문제 오류 로그 사용자 인텐트를 처리할 때 실패가 발생할 때마다 Google Home 애널리틱스 파이프라인은 측정항목에 실패를 기록함 프로젝트 로그에 오류 로그를 게시합니다.
오류 문제를 해결하려면 다음 두 단계를 따르세요.
- 스마트 홈 측정항목으로 프로젝트 상태를 모니터링하세요.
- 자세한 오류 설명을 확인하여 문제를 조사하세요. 오류 로그
모니터링 오류
Google Cloud Monitoring dashboard를 사용할 수 있습니다. 프로젝트 측정항목에 액세스할 수 있습니다 특히 인코더-디코더 아키텍처를 품질 모니터링 및 디버깅에 유용합니다.
- 성공률 차트는 프로젝트의 안정성을 모니터링할 수 있습니다 이 차트에서 하락이 발생할 수 있는 경우 사용자층의 일부 또는 전체에 대한 중단을 나타낼 수 있습니다. 권장 조치 차트에서 변경 후 이상이 있는지 면밀히 모니터링 프로젝트를 업데이트할 수 있습니다
- 95번째 백분위수 지연 시간 차트는 스마트 홈 작업의 실적을 파악할 수 있습니다 급격한 변동 시스템이 따라잡기 어려웠을 수 있음을 요청을 전달합니다. 이 차트를 정기적으로 확인하는 것이 좋습니다. 예기치 않은 동작이 발생할 수 있습니다.
- 오류 분석 차트는 오류 발생 시 통합 관련 문제를 해결할 수 있습니다 모든 오류 성공률 차트에 강조 표시되면 오류 코드가 확인할 수 있습니다 각 오류에 대해 Google Home platform 및 문제 해결 방법 를 참조하세요.
플랫폼 오류 코드
다음은 프로젝트 로그에서 볼 수 있는 몇 가지 일반적인 오류 코드입니다. Google Home platform에서 포착한 문제를 식별합니다. 자세한 내용은 문제 해결 정보를 보려면 다음 표를 참조하세요.
오류 코드 | 설명 |
---|---|
BACKEND_FAILURE_URL_ERROR |
Google이 서버에서 401이 아닌 HTTP 4xx 오류 코드를
있습니다.
GCP Logging에서 requestId 를 사용하여
홈 서비스 로그.
|
BACKEND_FAILURE_URL_TIMEOUT |
서비스에 연결하려고 할 때 Google의 요청 시간이 초과되었습니다.
서비스가 온라인 상태인지, 연결을 수락하는지, 용량이 초과되지 않았는지 확인합니다 또한 타겟이 기기가 켜져 있고, 온라인 상태이고, 동기화되어 있는지 확인하세요. |
BACKEND_FAILURE_URL_UNREACHABLE |
서비스로부터 HTTP 5xx 오류 코드가 수신되었습니다.
GCP Logging에서 requestId 를 사용하여
홈 서비스 로그.
|
DEVICE_NOT_FOUND |
기기가 파트너 서비스 측에 존재하지 않습니다.
이는 일반적으로 데이터 동기화에 실패했거나 경합이 발생했음을 나타냅니다. 있습니다. |
GAL_BAD_3P_RESPONSE |
Google에서 계정 연결 서비스의 응답을 파싱할 수 없습니다.
잘못된 형식 또는 페이로드로 인해 발생할 수 있습니다.
GCP Logging에서 requestId 를 사용하여 오류 로그 확인
계정 연결 서비스에서 사용할 수 있습니다.
|
GAL_INTERNAL |
Google이
액세스할 수 있습니다.
GCP Logging에서 이 오류 발생률이 증가하는 것으로 나타나면 Google에 문의하시기 바랍니다. |
GAL_INVALID_ARGUMENT |
Google이
액세스할 수 있습니다.
GCP Logging에서 이 오류 발생률이 증가하는 것으로 나타나면 Google에 문의하시기 바랍니다. |
GAL_NOT_FOUND |
Google에 저장된 사용자의 액세스 토큰과 갱신 토큰은
무효화되어 더 이상 새로고침할 수 없습니다. 사용자는 다음 작업을 수행해야 합니다.
해당 계정을 다시 연결하여 서비스를 계속 사용할 수 있습니다.
GCP Logging에서 이 오류 발생률이 증가하는 것으로 나타나면 Google에 문의하시기 바랍니다. |
GAL_PERMISSION_DENIED |
토큰을 공유할 수 없을 때 Google 내부 오류가 발생했습니다.
있습니다.
GCP Logging에서 이 오류 발생률이 증가하는 것으로 나타나면 Google에 문의하시기 바랍니다. |
GAL_REFRESH_IN_PROGRESS |
사용자의 액세스 토큰이 만료되었으며 동시에
새로고침하면 됩니다
이는 문제가 아니며 별도의 조치가 필요하지 않습니다. |
INVALID_AUTH_TOKEN |
서비스로부터 HTTP 401 오류 코드가 수신되었습니다.
액세스 토큰이 만료되지 않았지만 서비스에서 이를 무효화했습니다. GCP Logging에서 requestId 를 사용하여
홈 서비스 로그.
|
INVALID_JSON |
JSON 응답을 파싱하거나 이해할 수 없습니다.
JSON 응답 구조에 잘못된 구문(예: 일치하지 않는 괄호, 쉼표 누락, 잘못된 문자 등입니다. |
OPEN_AUTH_FAILURE |
사용자의 액세스 토큰이 만료되어 Google에서 갱신할 수 없음
Google이 서비스로부터 HTTP 401 오류 코드를 수신했다는 의미입니다.
이 코드의 속도가 증가하면 스마트 홈 인텐트 또는 새로고침과 관련된 오류율 증가 토큰 요청을 처리할 수 있습니다. |
PARTNER_RESPONSE_INVALID_ERROR_CODE |
응답은 인식할 수 없는 오류 코드를 나타냅니다.
요청 응답이 오류를 나타내는 경우, 오류 중 하나를 사용해야 합니다. 제공 지원되는 오류 코드를 확인하세요. |
PARTNER_RESPONSE_INVALID_PAYLOAD |
응답 payload 필드를 JSON으로 파싱할 수 없습니다.
객체.
요청 응답의 페이로드 필드가 JSON 필드로 올바르게 구성되어 있습니다. |
PARTNER_RESPONSE_INVALID_STATUS |
응답이 상태를 나타내지 않거나 올바르지 않은 상태를 나타냅니다.
인텐트 처리 요청에 대한 응답은 상태를 나타내야 합니다. SUCCESS, OFFLINE, ERROR, EXCEPTIONS 중 하나를 사용합니다. 나
에서 자세한 내용을 확인하세요.
오류 및 예외를 처리하는 방법에 대해 자세히 알아보세요.
|
PARTNER_RESPONSE_MISSING_COMMANDS_AND_DEVICES |
요청에 있는 하나 이상의 인텐트가
있습니다.
다음 <ph type="x-smartling-placeholder"></ph> 실행 응답이 올바르게 구조화되어 있고 결과가 가 요청에 있는 모든 인텐트가 응답에 표시됩니다. |
PARTNER_RESPONSE_MISSING_DEVICE |
요청에 있는 하나 이상의 기기가
있습니다.
다음 <ph type="x-smartling-placeholder"></ph> 실행 응답이 올바르게 구조화되어 있고 모든 기기가 요청에 있는 ID가 응답에 있는지 확인합니다. |
PARTNER_RESPONSE_MISSING_PAYLOAD |
응답에 payload 필드가 포함되어 있지 않습니다.
요청 응답에 페이로드 필드를 포함해야 합니다. 나 컨테이너 이미지를 올바르게 빌드하는 방법에 대해 <ph type="x-smartling-placeholder"></ph> 응답을 시작합니다. |
PARTNER_RESPONSE_NOT_OBJECT |
응답을 JSON 객체로 파싱할 수 없습니다.
요청 응답의 모든 필드에 의도하지 않은 문자가 있는지 확인합니다. 일치하지 않는 괄호 또는 서식 오류가 있을 수 있습니다. 일부 유니코드 문자 지원되지 않을 수 있습니다 답변이 정확한지도 확인하세요. JSON 객체로 구조화됩니다 |
PROTOCOL_ERROR |
요청을 처리하지 못했습니다.
Google Cloud Logging에서 requestId 를 사용하여
스마트 홈 서비스 로그.
|
RESPONSE_TIMEOUT |
응답을 기다리는 동안 요청 시간이 초과되었습니다.
응답 전송 제한 시간은 요청이 전송됩니다 이 기간 내에 응답을 보내야 합니다. 할 수 있습니다. |
RESPONSE_UNAVAILABLE |
응답이 수신되지 않거나 응답에 상태가 표시되지 않습니다.
인텐트 처리 요청에 대한 응답은 구조화되어야 함 에 따르면 스마트 홈 문서를 읽고 상태를 표시합니다. |
TRANSIENT_ERROR |
일시적인 오류는 저절로 해결되는 오류입니다.
대부분의 경우 이러한 오류는 기기와의 연결 또는 서비스 중단이 발생할 수 있습니다 또한 서버에 대한 새로운 연결을 열었습니다. |
검색 로그
측정항목을 사용하여 통합을 모니터링하는 데 익숙해지면 다음 단계는 사용하여 특정 오류를 해결하는 것입니다. Cloud Logging 오류 로그는 시간, 오류 등 유용한 정보가 포함된 필드가 있는 JSON과 유사한 항목입니다. 원래 스마트 홈 인텐트에 관한 코드 및 세부정보를 제공합니다.
Google Cloud 내에 로그를 전송하는 프로젝트를 항상 실행합니다. 해야 할 일 쿼리를 작성하여 로그 필터링 필요한 것을 찾을 수 있습니다. 검색어는 기간, 리소스, 로그 심각도 또는 커스텀 항목
검색어 버튼을 사용하여 맞춤 필터를 만들 수 있습니다.
기간을 지정하려면 기간 선택 버튼을 클릭합니다.
을 클릭하고 제공된 있습니다. 그러면 로그가 필터링되고 선택할 수 있습니다리소스를 지정하려면 리소스 드롭다운을 클릭합니다. 그런 다음 Google Assistant Action Project를 선택합니다. 이렇게 하면 쿼리를 실행하여 프로젝트에서 발생한 로그를 볼 수 있습니다.
심각도 버튼을 사용하여 응급 상황, 정보, 디버그, 기타 심각도 로그 수준을 보여줍니다
Logs Explorer의 쿼리 필드를 사용할 수도 있습니다.
커스텀 항목을 입력할 수 있습니다. 이 필드에서 사용되는 쿼리 엔진은
문자열 일치와 같은 기본 쿼리 및
비교 연산자 (<, >=, !=
)와 부울 연산자 (AND, OR, NOT
)를 사용합니다.
예를 들어 아래의 커스텀 항목은
LIGHT
기기 유형에서 비롯됩니다.
resource.type = "assistant_action_project" AND severity = ERROR AND jsonPayload.executionLog.executionResults.actionResults.device.deviceType = "LIGHT"
쿼리 라이브러리로 이동 을 읽고 로그를 효과적으로 쿼리하기 위한 예를 더 많이 찾아보세요.
테스트 수정사항
오류를 식별하고 업데이트를 적용하여 수정한 후에는 테스트를 진행하는 것이 좋습니다. 철저하게 문제를 Google Home Test Suite Google에서는 Test Suite 사용 방법 효과적으로 변경할 수 있습니다
학습 리소스
이 문서에서는 스마트 홈의 오류를 해결하는 단계를 설명합니다. 액션. Codelab에서 디버깅에 관해 자세히 알아볼 수도 있습니다.
- 스마트 홈 디버깅 Codelab: 스마트 홈 클라우드 통합 디버그를 위한 빠른 시작 가이드입니다.
- 로컬 홈 디버깅 Codelab: 스마트 홈 로컬 통합 디버그를 위한 빠른 시작 가이드입니다.