다음을 통해 공유


자습서: IoT Edge 디바이스 모니터링

적용 대상:IoT Edge 1.5 확인 표시 IoT Edge 1.5

중요합니다

IoT Edge 1.5 LTS는 지원되는 릴리스입니다. IoT Edge 1.4 LTS는 2024년 11월 12일부터 수명이 종료됩니다. 이전 릴리스에 있는 경우 IoT Edge 업데이트를 참조하세요.

Azure Monitor 통합 문서를 사용하여 Azure IoT Edge 배포의 상태 및 성능을 모니터링합니다.

이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.

  • IoT Edge 디바이스가 공유하는 메트릭과 메트릭 수집기 모듈이 이를 처리하는 방법을 알아봅니다.
  • IoT Edge 디바이스에 메트릭 수집기 모듈 배포
  • 디바이스에서 수집된 메트릭의 큐레이팅된 시각화 보기

필수 조건

시뮬레이션된 온도 센서 모듈이 배포된 IoT Edge 디바이스가 필요합니다. 아직 디바이스가 없으면 가상 Linux 디바이스에 첫 번째 IoT Edge 모듈 배포의 단계에 따라 가상 머신을 사용하여 디바이스를 만듭니다.

IoT Edge 메트릭 이해

모든 IoT Edge 디바이스는 디바이스에서 다른 모든 모듈의 수명 주기 및 통신을 관리하는 런타임 모듈이라는 두 개의 모듈을 사용합니다. 이러한 모듈은 IoT Edge 에이전트IoT Edge 허브입니다. 이러한 모듈에 대한 자세한 내용은 Azure IoT Edge 런타임 및 해당 아키텍처 이해를 참조하세요.

두 런타임 모듈 모두 IoT Edge 디바이스 또는 개별 모듈이 수행하는 방식을 원격으로 모니터링할 수 있는 메트릭을 만듭니다. IoT Edge 에이전트는 개별 모듈 및 호스트 디바이스의 상태를 보고하므로 모듈이 올바르게 실행되는 시간 또는 디바이스에서 사용되는 RAM 및 CPU의 비율과 같은 메트릭을 만듭니다. IoT Edge 허브는 디바이스의 통신에 대해 보고하므로 전송 및 수신된 총 메시지 수 또는 직접 메서드를 확인하는 데 걸리는 시간과 같은 메트릭을 만듭니다. 사용 가능한 메트릭의 전체 목록은 기본 제공 메트릭 액세스를 참조하세요.

두 모듈 모두 이러한 메트릭을 자동으로 노출하므로 액세스하고 보고할 수 있는 고유한 솔루션을 만들 수 있습니다. 이 프로세스를 더 쉽게 만들기 위해 Microsoft는 사용자 지정 솔루션이 없거나 원하는 경우 이 프로세스를 처리하는 azureiotedge-metrics-collector 모듈을 제공합니다. 메트릭 수집기 모듈은 두 런타임 모듈과 모니터링하려는 다른 모듈에서 메트릭을 수집하고 디바이스에서 보냅니다.

메트릭 수집기 모듈은 두 가지 방법 중 하나로 메트릭을 클라우드로 보냅니다. 이 자습서에서 사용되는 첫 번째 옵션은 메트릭을 Log Analytics에 직접 보냅니다. 두 번째 옵션은 네트워킹 정책에 필요한 경우에만 권장됩니다. IoT Hub를 통해 메트릭을 보낸 다음 Log Analytics에 메트릭 메시지를 전달하는 경로를 설정합니다. 어느 쪽이든 메트릭이 Log Analytics 작업 영역에 있으면 Azure Monitor 통합 문서를 통해 볼 수 있습니다.

Log Analytics 작업 영역 만들기

Log Analytics 작업 영역은 메트릭 데이터를 수집하고, 쿼리 언어를 사용하고, 디바이스를 모니터링할 수 있도록 Azure Monitor와 통합해야 합니다.

  1. Azure Portal에 로그인합니다.

  2. Log Analytics 작업 영역을 검색한 다음 선택합니다.

  3. 만들기를 선택한 다음 프롬프트에 따라 새 작업 영역을 만듭니다.

  4. 작업 영역이 준비되면 리소스로 이동을 선택합니다.

  5. 기본 메뉴의 설정에서 에이전트를 선택합니다.

  6. Log Analytics 에이전트 지침에 따라 작업 영역 ID기본 키에 대한 값을 복사합니다. 자습서의 뒷부분에서 이러한 값을 사용하여 메트릭을 이 작업 영역으로 보내도록 메트릭 수집기 모듈을 구성합니다.

IoT 허브 리소스 ID 검색

메트릭 수집기 모듈을 구성할 때 IoT Hub에 대한 Azure Resource Manager 리소스 ID를 입력합니다. 이제 해당 ID를 가져옵니다.

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

  2. 설정에서, 속성을선택합니다.

  3. 리소스 ID 값을 복사합니다. 형식은 /subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.Devices/IoTHubs/<iot_hub_name>입니다.

메트릭 수집기 모듈 배포

모니터링하려는 각 디바이스에 메트릭 수집기 모듈을 배포합니다. 다른 모듈과 마찬가지로 디바이스에서 실행되며 할당된 엔드포인트에서 메트릭이 수집되어 클라우드로 전송되는 것을 감시합니다.

다음 단계에 따라 수집기 모듈을 배포하고 구성합니다.

  1. Azure Portal에 로그인한 다음, IoT Hub로 이동합니다.

1. 디바이스 관리에서 디바이스를 선택합니다.

  1. IoT Edge 디바이스 목록에서 대상 디바이스의 디바이스 ID를 선택하여 디바이스 세부 정보 페이지를 엽니다.

  2. 메뉴 모음에서 모듈 설정을 선택합니다.

  3. 포털에서 모듈을 배포하는 첫 번째 단계는 디바이스에 있는 모듈 을 선언하는 것입니다. 빠른 시작에서 만든 것과 동일한 디바이스를 사용하는 경우 SimulatedTemperatureSensor 가 이미 나열되어 있습니다. 나열되지 않았으면 다음과 같이 지금 추가합니다.

    1. IoT Edge 모듈 섹션에서 추가를 선택한 다음, IoT Edge 모듈을 선택합니다.

    2. 다음 모듈 설정을 업데이트합니다.

      설정
      IoT 모듈 이름 SimulatedTemperatureSensor
      이미지 URI mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latest
      정책 다시 시작 항상
      원하는 상태 실행 중
    3. 다음: 경로를 선택하여 경로 구성을 계속합니다.

    4. 시뮬레이션된 온도 모듈의 모든 메시지를 IoT Hub로 보내는 경로를 추가합니다.

      설정
      속성 SimulatedTemperatureSensorToIoTHub
      FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
  4. 메트릭 수집기 모듈을 추가하고 구성합니다.

    1. 추가를 선택한 다음, IoT Edge 모듈을 선택합니다.

    2. IoT Edge 메트릭 수집기를 검색하여 선택합니다.

    3. 다음 모듈 설정을 업데이트합니다.

      설정
      IoT 모듈 이름 IoTEdgeMetricsCollector
      이미지 URI mcr.microsoft.com/azureiotedge-metrics-collector:latest
      정책 다시 시작 항상
      원하는 상태 실행 중

    메트릭 수집기 모듈의 다른 버전 또는 아키텍처를 사용하려면 Microsoft Artifact Registry에서 사용 가능한 이미지를 찾습니다.

    1. 환경 변수 탭으로 이동합니다.

    2. 다음 텍스트 형식 환경 변수를 추가합니다.

      속성
      ResourceId 이전 섹션에서 검색한 IoT 허브 리소스 ID입니다.
      UploadTarget AzureMonitor
      LogAnalyticsWorkspaceId 이전 섹션에서 검색한 Log Analytics 작업 영역 ID입니다.
      LogAnalyticsSharedKey 이전 섹션에서 검색한 Log Analytics 키입니다.

      환경 변수 설정에 대한 자세한 내용은 메트릭 수집기 구성을 참조하세요.

    3. 적용을 선택하여 변경 내용을 저장합니다.

    참고 항목

    IoT Hub를 통해 메트릭을 보내려면 다음과 유사한 업스트림에 경로를 추가합니다 FROM /messages/modules/< FROM_MODULE_NAME >/* INTO $upstream. 이 자습서에서는 메트릭이 Log Analytics로 직접 전송되므로 이 경로가 필요하지 않습니다.

  5. 검토 + 만들기를 선택하여 모듈 배포의 마지막 단계를 계속 진행합니다.

  6. 만들기를 선택하여 배포를 완료합니다.

모듈 배포를 완료한 후 디바이스 세부 정보 페이지로 돌아가서 배포에 지정된 대로 나열된 네 개의 모듈이 표시됩니다. 4개 모듈이 모두 디바이스에서 보고됨으로 나열되는 데 몇 분 정도 걸릴 수 있습니다. 즉, IoT Hub를 시작하고 상태를 보고했습니다. 페이지를 새로 고쳐 최신 상태를 확인합니다.

디바이스 상태 모니터링

디바이스 모니터링 통합 문서를 볼 준비가 되는 데 최대 15분이 걸릴 수 있습니다. 메트릭 수집기 모듈을 배포한 후 메트릭 메시지를 Log Analytics로 보내기 시작하며, 여기서 메트릭 메시지는 테이블로 구성됩니다. 제공하는 IoT Hub 리소스 ID는 수집된 메트릭을 올바른 허브에 연결합니다. 결과적으로 큐레이팅된 IoT Edge 통합 문서는 리소스 ID를 사용하여 메트릭 테이블을 쿼리하여 메트릭을 검색합니다.

Azure Monitor는 다음과 같은 IoT용 세 가지 기본 통합 문서 템플릿을 제공합니다.

  • 플릿 보기 통합 문서는 여러 IoT 리소스에서 디바이스의 상태를 보여 줍니다. 이 보기를 사용하면 디바이스 상태에 대한 임계값을 설정하고 디바이스당 기본 메트릭의 집계를 표시할 수 있습니다.
  • 디바이스 세부 정보 통합 문서에는 메시징, 모듈 및 호스트에 대한 시각화가 표시됩니다. 메시지 보기는 디바이스에 대한 메시지 경로를 시각화하고 메시지 시스템의 전반적인 상태를 보고합니다. 모듈 보기는 디바이스의 개별 모듈이 수행하는 방법을 보여 줍니다. 호스트 보기는 호스트 구성 요소 및 리소스 사용에 대한 버전 정보를 포함하여 호스트 디바이스에 대한 정보를 표시합니다.
  • 경고 통합 문서 보기에는 여러 IoT 리소스의 디바이스에 대한 경고가 표시됩니다.

플릿 보기 및 상태 스냅샷 통합 문서 살펴보기

플릿 보기 통합 문서에는 모든 디바이스가 표시되며 특정 디바이스를 선택하여 상태 스냅샷을 볼 수 있습니다. 다음 단계에 따라 통합 문서 시각화를 탐색합니다.

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

  2. 메인 메뉴에서 모니터링 섹션까지 아래로 스크롤하고 통합 문서를 선택합니다.

    통합 문서를 선택하여 Azure Monitor 통합 문서 갤러리를 엽니다.

  3. 플릿 보기 통합 문서를 선택합니다.

  4. 메트릭 수집기 모듈을 실행하는 디바이스가 표시됩니다. 디바이스가 정상 또는 비정상으로 나열됩니다.

  5. 디바이스 이름을 선택하여 자세한 메트릭을 봅니다.

  6. 언제든지 차트에서 X축 아래의 화살표 아이콘을 사용하거나 차트를 선택하고 커서를 끌어 시간 범위를 변경합니다.

    차트에서 화살표 아이콘을 선택하고 끌거나 사용하여 시간 범위를 변경하는 방법을 보여 주는 스크린샷.

  7. 상태 스냅샷 통합 문서를 닫습니다. 플릿 보기 통합 문서에서 통합 문서 갤러리로 돌아가려면 통합 문서를 선택합니다.

디바이스 세부 정보 통합 문서 살펴보기

디바이스 세부 정보 통합 문서에는 개별 디바이스의 성능 세부 정보가 표시됩니다. 다음 단계에 따라 통합 문서 시각화를 탐색합니다.

  1. 통합 문서 갤러리에서 IoT Edge 디바이스 세부 정보 통합 문서를 선택합니다.

  2. 디바이스 세부 정보 통합 문서의 첫 번째 페이지는 라우팅 탭이 선택된 메시징 보기입니다.

    왼쪽의 테이블에는 엔드포인트별로 구성된 디바이스의 경로가 표시됩니다. 이 디바이스의 경우 IoT Hub로 라우팅하는 용어인 업스트림 엔드포인트는 시뮬레이션된 온도 센서 모듈의 temperatureOutput 출력에서 메시지를 받습니다.

    오른쪽의 그래프는 시간에 따른 연결된 클라이언트 수를 보여 줍니다. 그래프를 선택하고 끌어 시간 범위를 변경합니다.

    메시지 보기를 선택하여 디바이스의 통신 상태를 확인합니다.

  3. 그래프 탭을 선택하여 경로의 다른 시각화를 확인합니다. 그래프 페이지에서 끝점을 끌어서 놓아 그래프를 다시 정렬합니다. 이 기능은 시각화할 경로가 많은 경우에 도움이 됩니다.

    그래프 보기를 선택하여 디바이스 경로의 대화형 그래프를 확인합니다.

  4. 상태 탭에는 메시지 삭제 또는 연결이 끊긴 클라이언트와 같은 메시징 관련 문제가 표시됩니다.

  5. 모듈 보기를 선택하여 디바이스에 배포된 모든 모듈의 상태를 확인합니다. 모듈을 선택하여 해당 CPU 및 메모리 사용에 대한 세부 정보를 확인합니다.

    모듈 보기를 선택하여 디바이스에 배포된 각 모듈의 상태를 확인합니다.

  6. 호스트 보기를 선택하여 해당 운영 체제, IoT Edge 디먼 버전 및 리소스 사용을 포함하여 호스트 디바이스에 대한 정보를 확인합니다.

모듈 로그 보기

디바이스에 대한 메트릭을 본 후에는 더 자세히 알아보고 개별 모듈을 검사할 수 있습니다. IoT Edge는 Azure Portal에서 라이브 모듈 로그 기능을 통해 문제 해결 지원을 제공합니다.

  1. 디바이스 세부 정보 통합 문서에서 실시간 문제 해결을 선택합니다.

    디바이스 세부 정보 통합 문서의 오른쪽 위에서 [실시간 문제 해결] 단추를 선택합니다.

  2. 문제 해결 페이지가 IoT Edge 디바이스의 edgeAgent 로그로 열립니다. 디바이스 세부 정보 통합 문서에서 특정 시간 범위를 선택하면 해당 설정이 문제 해결 페이지로 전달됩니다.

  3. 드롭다운 메뉴를 사용하여 디바이스에서 실행 중인 다른 모듈의 로그로 전환하고 다시 시작 단추를 사용하여 모듈을 다시 시작합니다.

    드롭다운 메뉴를 사용하여 다른 모듈의 로그를 살펴보고 [다시 시작] 단추를 사용하여 모듈을 다시 시작합니다.

IoT Edge 디바이스의 세부 정보 페이지에서 문제 해결 페이지에 액세스할 수도 있습니다. 자세한 내용은 Azure Portal에서 IoT Edge 디바이스 문제 해결을 참조하세요.

다음 단계

자습서의 나머지 부분을 진행하면서 디바이스에 메트릭 수집기 모듈을 유지하고 이러한 통합 문서로 돌아가서 더 복잡한 모듈 및 라우팅을 추가할 때 정보가 어떻게 변경되는지 확인합니다.

다음 자습서로 이동하여 개발자 환경을 설정하고 사용자 지정 모듈을 디바이스에 배포하기 시작합니다.