자습서: IoT Edge 디바이스 모니터링
적용 대상: IoT Edge 1.5 IoT Edge 1.4
Important
IoT Edge 1.5 LTS 및 IoT Edge 1.4 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 디바이스는 2개의 런타임 모듈을 사용하여 디바이스에 있는 다른 모든 모듈의 수명 주기와 통신을 관리합니다. 이러한 모듈을 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와의 통합을 제공합니다.
Azure Portal에 로그인합니다.
Log Analytics 작업 영역을 검색하여 선택합니다.
만들기를 선택한 다음, 프롬프트의 지시에 따라 새 작업 영역을 만듭니다.
작업 영역이 만들어지면 리소스로 이동을 선택합니다.
기본 메뉴의 설정에서 에이전트를 선택합니다.
'Log Analytics 에이전트 지침'에서 사용할 수 있는 작업 영역 ID 및 기본 키의 값을 복사합니다. 두 값은 자습서의 후반부에서 메트릭을 이 작업 영역으로 보내도록 메트릭 수집기 모듈을 구성할 때 사용됩니다.
IoT 허브 리소스 ID 검색
메트릭 수집기 모듈을 구성할 때 IoT 허브의 Azure Resource Manager 리소스 ID를 제공해야 합니다. 이 ID를 지금 검색합니다.
Azure Portal에서 IoT 허브로 이동합니다.
왼쪽 메뉴의 설정에서 속성을 선택합니다.
리소스 ID 값을 복사합니다.
/subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.Devices/IoTHubs/<iot_hub_name>
형식이어야 합니다.
메트릭 수집기 모듈 배포
모니터링하려는 모든 디바이스에 메트릭 수집기 모듈을 배포합니다. 이 모듈은 다른 모듈과 마찬가지로 디바이스에서 실행되며, 메트릭 수집을 위해 할당된 엔드포인트를 모니터링하여 메트릭을 수집하고 클라우드로 전송합니다.
다음 단계에 따라 수집기 모듈을 배포하고 구성합니다.
Azure Portal에 로그인하고 IoT 허브로 이동합니다.
왼쪽 창 메뉴의 디바이스 관리 메뉴에서 디바이스를 선택합니다.
IoT Edge 디바이스 목록에서 대상 디바이스의 디바이스 ID를 선택하여 디바이스 세부 정보 페이지를 엽니다.
상단 메뉴 모음에서 모듈 설정을 선택합니다.
포털에서 모듈을 배포하는 첫 번째 단계는 디바이스에 있어야 하는 모듈을 선언하는 것입니다. 빠른 시작에서 만든 것과 동일한 디바이스를 사용하는 경우 SimulatedTemperatureSensor가 이미 나열되어 있을 것입니다. 나열되지 않았으면 다음과 같이 지금 추가합니다.
IoT Edge 모듈 섹션에서 추가를 선택한 다음 IoT Edge 모듈을 선택합니다.
다음 모듈 설정을 업데이트합니다.
설정 값 IoT 모듈 이름 SimulatedTemperatureSensor
이미지 URI mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latest
정책 다시 시작 항상 원하는 상태 실행 중 다음: 경로를 선택하여 경로 구성을 계속합니다.
시뮬레이션된 온도 모듈의 모든 메시지를 IoT Hub로 보내는 경로를 추가합니다.
설정 값 속성 SimulatedTemperatureSensorToIoTHub
값 FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
메트릭 수집기 모듈을 추가하고 구성합니다.
추가를 선택한 다음 IoT Edge 모듈을 선택합니다.
IoT Edge 메트릭 수집기를 검색하여 선택합니다.
다음 모듈 설정을 업데이트합니다.
설정 값 IoT 모듈 이름 IoTEdgeMetricsCollector
이미지 URI mcr.microsoft.com/azureiotedge-metrics-collector:latest
정책 다시 시작 항상 원하는 상태 실행 중
메트릭 수집기 모듈의 다른 버전이나 아키텍처를 사용하려면 Microsoft 아티팩트 레지스트리에서 사용 가능한 이미지를 찾습니다.
환경 변수 탭으로 이동합니다.
다음 텍스트 형식 환경 변수를 추가합니다.
속성 값 ResourceId 이전 섹션에서 검색한 IoT 허브 리소스 ID입니다. UploadTarget AzureMonitor
LogAnalyticsWorkspaceId 이전 섹션에서 검색한 Log Analytics 작업 영역 ID입니다. LogAnalyticsSharedKey 이전 섹션에서 검색한 Log Analytics 키입니다. 환경 변수 설정에 대한 자세한 내용은 메트릭 수집기 구성을 참조하세요.
적용을 선택하여 변경 내용을 저장합니다.
참고 항목
수집기 모듈이 IoT Hub를 통해 메트릭을 보내도록 하려면
FROM /messages/modules/< FROM_MODULE_NAME >/* INTO $upstream
과 유사한 업스트림 경로를 추가합니다. 그러나 이 자습서에서는 메트릭을 Log Analytics로 직접 보냅니다. 따라서 필요하지 않습니다.검토 + 만들기를 선택하여 모듈 배포의 마지막 단계를 진행합니다.
만들기를 선택하여 배포를 완료합니다.
모듈 배포를 완료한 후 디바이스 세부 정보 페이지로 돌아가면 4개 모듈이 배포에 지정됨으로 나열되는 것을 볼 수 있습니다. 4개 모듈이 전부 디바이스에서 보고됨(모듈이 성공적으로 시작되어 상태를 IoT Hub 보고했음을 의미)으로 나열될 때까지 몇 분 정도 걸릴 수 있습니다. 페이지를 새로 고쳐 최신 상태를 확인합니다.
디바이스 상태 모니터링
디바이스 모니터링 통합 문서를 볼 수 있도록 준비될 때까지 최대 15분이 걸릴 수 있습니다. 메트릭 수집기 모듈을 배포하면 모듈이 메트릭 메시지를 Log Analytics에 전송하기 시작하고, 메트릭 메시지는 테이블 내에 구성됩니다. 사용자가 제공한 IoT Hub 리소스 ID는 수집된 메트릭을 해당 메트릭이 속한 허브에 연결합니다. 결과적으로 큐레이팅된 IoT Edge 통합 문서에서는 리소스 ID를 사용하여 메트릭 테이블을 쿼리함으로써 메트릭을 검색할 수 있습니다.
Azure Monitor는 다음과 같은 IoT용 세 가지 기본 통합 문서 템플릿을 제공합니다.
- 플릿 보기 통합 문서는 여러 IoT 리소스에서 디바이스의 상태를 보여 줍니다. 이 보기에서는 디바이스 상태를 결정하기 위한 임계값을 구성할 수 있으며 디바이스당 기본 메트릭의 집계를 제공합니다.
- 디바이스 세부 정보 통합 문서는 메시지, 모듈 및 호스트의 세 가지 범주에 대한 시각화를 제공합니다. 메시지 보기는 디바이스에 대한 메시지 경로를 시각화하고 메시지 시스템의 전반적인 상태를 보고합니다. 모듈 보기는 디바이스의 개별 모듈 성능을 보여줍니다. 호스트 보기는 호스트 구성 요소 및 리소스 사용에 대한 버전 정보를 포함하여 호스트 디바이스에 대한 정보를 표시합니다.
- 경고 통합 문서 보기는 여러 IoT 리소스에서 디바이스에 대한 경고를 제공합니다.
플릿 보기 및 상태 스냅샷 통합 문서 살펴보기
플릿 보기 통합 문서에는 모든 디바이스가 표시되며, 특정 디바이스를 선택하여 해당 상태 스냅샷을 볼 수 있습니다. 다음 단계에 따라 통합 문서 시각화를 살펴볼 수 있습니다.
Azure Portal에서 IoT 허브 페이지로 돌아갑니다.
주 메뉴에서 아래로 스크롤하여 모니터링 섹션을 찾은 다음, 통합 문서를 선택합니다.
플릿 보기 통합 문서를 선택합니다.
메트릭 수집기 모듈을 실행하고 있는 디바이스가 표시됩니다. 디바이스가 정상 또는 비정상으로 나열됩니다.
디바이스 이름을 선택하여 디바이스의 자세한 메트릭을 봅니다.
아무 시간 차트에서 X축 아래의 화살표 아이콘을 사용하거나 차트를 선택하고 커서를 끌어 시간 범위를 변경합니다.
상태 스냅샷 통합 문서를 닫습니다. 플릿 보기 통합 문서에서 통합 문서를 선택하여 통합 문서 갤러리로 돌아갑니다.
디바이스 세부 정보 통합 문서 살펴보기
디바이스 세부 정보 통합 문서에는 개별 디바이스의 성능 세부 정보가 표시됩니다. 다음 단계에 따라 통합 문서 시각화를 살펴볼 수 있습니다.
통합 문서 갤러리에서 IoT Edge 디바이스 세부 정보 통합 문서를 선택합니다.
디바이스 세부 정보 통합 문서에 표시되는 첫 번째 페이지는 라우팅 탭이 선택된 메시지 보기입니다.
왼쪽 표에는 엔드포인트별로 구성된 디바이스의 경로가 표시됩니다. 이 디바이스의 경우 IoT Hub 라우팅에 사용되는 특수 용어인 업스트림 엔드포인트가 시뮬레이션된 온도 센서 모듈의 temperatureOutput 출력에서 메시지를 수신하는 것을 볼 수 있습니다.
오른쪽 그래프는 연결된 클라이언트 수를 시간별로 추적합니다. 그래프를 선택하고 끌어 시간 범위를 변경할 수 있습니다.
그래프 탭을 선택하여 경로의 다른 시각화를 확인합니다. 그래프 페이지에서 다른 엔드포인트를 끌어서 놓아 그래프를 다시 정렬할 수 있습니다. 이 기능은 시각화할 경로가 많을 때 유용합니다.
상태 탭은 삭제된 메시지 또는 연결이 끊긴 클라이언트와 같은 메시지 관련 문제를 보고합니다.
모듈 보기를 선택하여 디바이스에 배포된 모든 모듈의 상태를 확인합니다. 각 모듈을 선택하여 모듈에서 사용하는 CPU 및 메모리 양에 대한 세부 정보를 볼 수 있습니다.
호스트 보기를 선택하여 운영 체제, IoT Edge 디먼 버전 및 리소스 사용을 포함하여 호스트 디바이스에 대한 정보를 확인합니다.
모듈 로그 보기
디바이스에 대한 메트릭을 살펴본 후, 개별 모듈을 더 자세히 검사하려는 경우가 있습니다. IoT Edge는 Azure Portal에서 라이브 모듈 로그 기능을 통해 문제 해결 지원을 제공합니다.
디바이스 세부 정보 통합 문서에서 실시간 문제 해결을 선택합니다.
문제 해결 페이지가 IoT Edge 디바이스의 edgeAgent 로그로 열립니다. 디바이스 세부 정보 통합 문서에서 특정 시간 범위를 선택한 경우 해당 설정이 문제 해결 페이지로 전달됩니다.
드롭다운 메뉴를 사용하여 디바이스에서 실행 중인 다른 모듈의 로그로 전환합니다. 다시 시작 단추를 사용하여 모듈을 다시 시작합니다.
문제 해결 페이지는 IoT Edge 디바이스의 세부 정보 페이지에서도 액세스할 수 있습니다. 자세한 내용은 Azure Portal에서 IoT Edge 디바이스 문제 해결을 참조하세요.
다음 단계
나머지 자습서를 계속 진행할 것이므로 메트릭 수집기 모듈을 디바이스에 계속 유지하고, 위에서 설명한 통합 문서로 돌아가서 좀 더 복잡한 모듈 및 라우팅을 추가할 때 정보가 어떻게 변경되는지 확인합니다.
개발자 환경을 설정하여 디바이스에 사용자 지정 모듈 배포를 시작하는 다음 자습서를 계속 진행합니다.