我想知道设备在一段时间内向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
类型的日志,操作名为update
或read
。
汇总邮件大小的完整查询如下所示:
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消息不是孪生操作,即设备正在发送不是设备孪生更新的消息/事件。我可以以某种方式查询这些消息吗?它们是否有与之相关的消息大小?
1条答案
按热度按时间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
下面是在线程
上共享的解决方案