Azure IoT Hub -设备已发送多少数据?

dwbf0jvd  于 2022-11-25  发布在  其他
关注(0)|答案(1)|浏览(134)

我想知道设备在一段时间内向IoT Hub发送了多少数据。
目前我有以下基本查询:

AzureDiagnostics  
| where TimeGenerated between (datetime("2022-10-01") .. datetime('2022-11-08'))
| extend DeviceId = extractjson("$.deviceId", properties_s)
| extend MessageSize = toint(extractjson("$.messageSize", properties_s))
| where DeviceId == "deviceId"

返回设备的日志条目。具有消息大小属性的日志是D2CTwinOperations类型的日志,操作名为updateread
汇总邮件大小的完整查询如下所示:

AzureDiagnostics  
| where TimeGenerated between (datetime("2022-10-01") .. datetime('2022-11-08'))
| extend DeviceId = extractjson("$.deviceId", properties_s)
| extend MessageSize = toint(extractjson("$.messageSize", properties_s))
| where DeviceId == "deviceId"
| where MessageSize > 0
| summarize totalSizeInBytes = sum(MessageSize) by bin(TimeGenerated, 1d)
| extend totalSizeInKiloBytes = totalSizeInBytes/1024
| order by TimeGenerated asc

D2C消息不是孪生操作,即设备正在发送不是设备孪生更新的消息/事件。我可以以某种方式查询这些消息吗?它们是否有与之相关的消息大小?

jyztefdp

jyztefdp1#

Azure IoT Hub的“诊断设置”部分提供了不同的类别选项,可让您在AzureDiagnostics日志中记录不同类别的消息。请查找显示不同可用选项的下图。

我不确定从D2C消息/事件生成的其他日志中是否包含属性消息大小。但您可以看到生成了不同类别的日志,并筛选出一些符合您需要的日志集。
您还可以在诊断设置页面上启用“AllMetrics”选项,以生成大量Azure平台生成的指标来监控您的Azure IoT Hub。

请参阅资源监控Azure IoT Hub数据,以查找通过即装即用功能提供给你的不同指标。以下是通过启用此设置可供你使用的一些每日配额指标。

请注意,虽然指标为您提供了所有连接设备传输到Azure IoT Hub的累积数据,但目前没有指标让您了解每个IoT设备传输的数据。
类似问题的解决方法已发布在以下线程中--Azure IoTHub - How to get usage data per device
下面是在线程

上共享的解决方案

相关问题