다음을 통해 공유


Device Update for IoT Hub 진단 개요

Device Update for IoT Hub에는 디바이스 쪽 오류를 진단하고 문제를 해결하는 데 도움이 되는 몇 가지 기능이 있습니다. v0.9.0 에이전트 릴리스에서는 다음 세 가지 진단 기능을 사용할 수 있습니다.

  • 배포 오류 코드는 디바이스 업데이트 사용자 인터페이스에서 직접 확인할 수 있습니다.

  • 원격 로그 수집을 사용하면 디바이스 진단 로그를 연결된 Azure Blob Storage 계정에 업로드하도록 대상 디바이스에 지시하는 로그 작업을 만들 수 있습니다.

  • 에이전트 검사는 연결된 IoT Hub에 등록되었지만 디바이스 업데이트에 표시되지 않는 디바이스를 진단하기 위해 디바이스 업데이트 인스턴스에 등록된 디바이스에서 유효성 검사를 실행합니다.

UI의 배포 오류 코드

디바이스에서 Device Update 서비스에 대한 배포 실패를 보고하면 Device Update 사용자 인터페이스는 사용자 인터페스에서 보고된 디바이스의 resultCodeextendedResultCode를 표시합니다. 다음 단계를 사용하여 이러한 데이터를 확인합니다.

  1. Azure Portal에서 IoT Hub로 이동합니다.

  2. 업데이트를 선택한 다음, 그룹 및 배포 탭으로 이동합니다.

  3. 활성 배포가 있는 그룹의 이름을 선택하여 그룹 세부 정보 페이지로 이동합니다.

  4. 디바이스 목록에서 디바이스 이름을 선택하여 디바이스 세부 정보 패널을 엽니다. 여기서 디바이스에서 보고한 결과 코드를 볼 수 있습니다.

  5. Device Update 참조 에이전트는 결과 코드 필드에 대한 표준 HTTP 상태 코드 규칙을 따릅니다(예: "200"은 성공을 나타냄). 결과 코드를 구문 분석하는 방법에 대한 자세한 내용은 Device Update 클라이언트 오류 코드를 참조하세요.

    참고 항목

    사용자 지정된 결과 코드를 보고하도록 Device Update 에이전트를 수정한 경우에도 숫자 코드는 여전히 Device Update 사용자 인터페이스로 통과합니다. 그런 다음, 직접 만든 문서를 참조하여 이러한 숫자 코드를 구문 분석할 수 있습니다.

원격 로그 수집

오류를 진단하고 문제를 해결하는 데 디바이스의 자세한 정보가 필요한 경우 로그 수집 기능을 사용하여 디바이스 진단 로그를 연결된 Azure Blob Storage 계정에 업로드하도록 대상 디바이스에 지시할 수 있습니다. 이 기능은 디바이스에서 원격으로 진단 로그 수집의 지침에 따라 사용할 수 있습니다.

Device Update의 원격 로그 수집은 서비스 기반, 작업 기반 기능입니다. 로그 수집을 활용하기 위해 디바이스는 진단 인터페이스와 구성 파일을 구현하고 SDK를 통해 Azure Blob Storage에 파일을 업로드할 수 있으면 됩니다.

개략적으로 로그 수집 기능은 다음과 같이 작동합니다.

  1. 사용자는 진단 인터페이스를 구현한 최대 100개의 디바이스를 대상으로 하는 Device Update 사용자 인터페이스 또는 API를 사용하여 새 로그 작업을 만듭니다.

  2. Device Update 서비스는 진단 인터페이스를 사용하여 로그 수집 시작 메시지를 대상 디바이스에 보냅니다. 이 시작 메시지에는 연결된 Azure Storage 계정에 업로드하기 위한 로그 작업 ID 및 SAS 토큰이 포함됩니다.

  3. 시작 메시지를 받으면 대상 디바이스의 Device Update 에이전트에서 디바이스 에이전트 구성 파일에 지정된 미리 정의된 파일 경로로부터 파일을 수집하고 업로드하려고 시도합니다. Device Update 참조 에이전트는 기본적으로 Device Update 에이전트 진단 로그(aduc.log) 및 DO 에이전트 진단 로그("do-agent.log")를 업로드하도록 구성됩니다.

  4. 그런 다음, Device Update 에이전트에서 로그 작업 ID, ResultCode 및 an ExtendedResultCode를 포함하여 작업 상태(성공 또는 실패)를 서비스에 다시 보고합니다. Device Update 에이전트에서 로그 작업에 실패하면 자동으로 3회 다시 시도하여 최종 상태만 서비스에 다시 보고합니다.

  5. 모든 대상 디바이스에서 터미널 상태를 Device Update 서비스에 다시 보고하면 Device Update 서비스에서 로그 작업을 성공 또는 실패로 표시합니다. 성공적인 로그 작업은 모든 대상 디바이스에서 로그 작업을 성공적으로 완료했음을 나타냅니다. 실패한 로그 작업은 하나 이상의 대상 디바이스에서 로그 작업에 실패했음을 나타냅니다.

    참고 항목

    로그 작업은 대상 디바이스에서 병렬로 수행되므로 일부 대상 디바이스에서 성공적으로 로그를 업로드할 수 있지만 전체 로그 작업은 실패로 표시됩니다. 사용자 인터페이스 또는 API를 통해 로그 작업 세부 정보를 확인하여 성공한 디바이스와 실패한 디바이스를 확인할 수 있습니다.

에이전트 검사

디바이스가 IoT Hub에 등록되었지만 디바이스 업데이트 인스턴스에 표시되지 않는 경우 에이전트 검사 기능을 통해 미리 작성된 유효성 검사를 실행하여 기본 문제를 진단할 수 있습니다. 이러한 에이전트 검사 지침에 따라 이 기능 사용을 시작할 수 있습니다.

개략적으로 에이전트 검사 기능은 다음과 같이 작동합니다.

  • 사용자가 IoT Hub에 디바이스를 등록합니다. 디바이스가 IoT Hub용 디바이스 업데이트와 호환되는 모델 ID를 보고하면 사용자의 연결된 디바이스 업데이트 인스턴스가 디바이스 업데이트에 디바이스를 자동으로 등록합니다.

  • 디바이스 업데이트를 통해 디바이스를 제대로 관리하려면 에이전트 검사의 미리 작성된 유효성 검사를 사용하여 확인할 수 있는 특정 조건을 충족해야 합니다. 이러한 조건에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

  • 디바이스가 이러한 조건을 모두 충족하지 않는 경우 디바이스 업데이트에서 제대로 관리할 수 없으며 디바이스 업데이트 인터페이스 또는 API 응답에 표시되지 않습니다. 사용자는 에이전트 검사를 사용하여 이 디바이스를 찾고 에이전트 검사를 사용하여 충족되지 않는 조건을 식별할 수 있습니다.

  • 사용자는 충족되지 않는 조건을 식별하면 문제를 해결할 수 있으며 디바이스가 디바이스 업데이트 인터페이스에 제대로 표시됩니다.

다음 단계

디바이스 업데이트의 원격 로그 수집 및 에이전트 검사 기능을 사용하는 방법을 알아봅니다.