MQTT broker 진단 설정 구성
Important
이 설정을 사용하려면 Broker 리소스를 수정해야 하며 Azure CLI 또는 Azure Portal을 사용하여 초기 배포 시에만 구성할 수 있습니다. 브로커 구성 변경이 필요한 경우 새 배포가 필요합니다. 자세한 내용은 기본 Broker 사용자 지정을 참조하세요.
진단 설정을 사용하면 MQTT 브로커에 대한 메트릭, 로그 및 자체 검사를 구성할 수 있습니다.
메트릭
메트릭은 MQTT broker의 현재 및 과거 상태 및 상태에 대한 정보를 제공합니다. 이러한 메트릭은 OTLP(OpenTelemetry 형식)로 내보내집니다. OpenTelemetry 수집기를 사용하여 Prometheus 형식으로 변환하고 Prometheus용 Azure Monitor Managed Service를 사용하여 Azure Managed Grafana 대시보드로 라우팅할 수 있습니다. 자세한 내용은 관찰 가능성 및 모니터링 구성을 참조 하세요.
사용 가능한 메트릭의 전체 목록은 MQTT broker 메트릭을 참조 하세요.
로그
로그는 MQTT broker에서 수행하는 작업에 대한 정보를 제공합니다. 이러한 로그는 Kubernetes 클러스터에서 컨테이너 로그로 사용할 수 있습니다. Container Insights를 사용하여 Azure Monitor 로그로 보내도록 구성할 수 있습니다.
자세한 내용은 관찰 가능성 및 모니터링 구성을 참조 하세요.
자체 확인
MQTT broker의 자체 검사 메커니즘은 기본적으로 사용하도록 설정됩니다. 진단 프로브 및 OTel(OpenTelemetry) 추적을 사용하여 브로커를 모니터링합니다. 프로브는 테스트 메시지를 전송하여 시스템의 동작과 타이밍을 확인합니다.
유효성 검사 프로세스는 테스트 결과를 예상 결과와 비교하여 시스템이 올바르게 작동하는지 확인합니다. 이러한 결과는 다음과 같습니다.
- 메시지가 시스템을 통과하는 경로입니다.
- 시스템의 타이밍 동작입니다.
진단 프로브는 MQTT 브로커에서 MQTT 작업(PING, CONNECT, PUBLISH, SUBSCRIBE, UNSUBSCRIBE)을 주기적으로 실행하고 해당 ACK 및 추적을 모니터링하여 복제 프로토콜의 대기 시간, 메시지 손실 및 정확성을 확인합니다.
Important
자체 검사 진단 프로브는 토픽에 azedge/dmqtt/selftest
메시지를 게시합니다. 로 시작하는 azedge/dmqtt/selftest
진단 프로브 토픽을 게시하거나 구독하지 마세요. 이러한 항목을 게시하거나 구독하면 프로브 또는 자체 테스트 검사에 영향을 주면 잘못된 결과가 발생할 수 있습니다. 잘못된 결과가 진단 프로브 로그, 메트릭 또는 대시보드에 나열될 수 있습니다. 예를 들어 진단-프로브 로그에서 작업 유형이 '게시'인 프로브 이벤트에 대해 경로 확인이 실패한 문제가 표시될 수 있습니다. 자세한 내용은 알려진 문제를 참조 하세요.
진단 설정 변경
대부분의 시나리오에서는 기본 진단 설정으로 충분합니다. MQTT broker에 대한 기본 진단 설정을 재정의하려면 Broker 리소스의 diagnostics
섹션을 편집합니다. 현재 설정을 변경하는 것은 명령을 사용하여 Azure IoT 작업을 배포할 때만 플래그를 az iot ops create
사용하여 --broker-config-file
지원됩니다.
재정의하려면 먼저 BrokerDiagnostics API 참조에 따라 Broker 구성 파일을 준비합니다 . 예시:
{
"diagnostics": {
"metrics": {
"prometheusPort": 9600
},
"logs": {
"level": "debug"
},
"traces": {
"mode": "Enabled",
"cacheSizeMegabytes": 16,
"selfTracing": {
"mode": "Enabled",
"intervalSeconds": 30
},
"spanChannelCapacity": 1000
},
"selfCheck": {
"mode": "Enabled",
"intervalSeconds": 30,
"timeoutSeconds": 15
}
}
}
그런 다음, 다음 명령(간결성을 위해 생략된 다른 매개 변수)과 같이 플래그가 있는 --broker-config-file
명령을 사용하여 az iot ops create
Azure IoT Operations를 배포합니다.
az iot ops create ... --broker-config-file <FILE>.json
자세한 내용은 고급 MQTT broker 구성 및 Broker 예제에 대한 Azure CLI 지원을 참조하세요.