复杂的遥测可视化和处理

Complex telemetry visualization and processing

我有几个 IoT 设备(代码是 Java),它们依次连接到本地的多个单元。这些单元中的每一个都向物联网设备报告数据,物联网设备将所有数据发布在嵌套对象的可变数组中,该数组也有数组:

{
  "data":{
  "version":"1.2.3",
  "sensorData":{
     "a":18.50733137829912,
     "b":8.165982404692084,
     "c":20.75894428152493,
  },
  "units":[
     {
        "address":"192.168.254.16",
        "name":"Unit 1",
        "connectors":[
           {
              "id":1,
              "measurement":{
                 "a":13.44,
                 "b":0.0,
                 "c":0.0
              },
              "status":"running"               
           }
        ]
     },
     {
        "address":"192.168.254.17",
        "name":"Unit 2",
        "connectors":[
           {
              "id":1,
              "measurement":{
                 "a":0.0,
                 "b":0.0,
                 "c":0.0
              },
              "status":"initialized",
           }
        ]
     }
  ]
 },
   "notificationType":"Status",
   "type":"Notification"
 }

理想情况下,我希望能够继续某些仪表板应用程序(如 Contoso 示例)并单击此 IoT 设备,并查看在 sensorData 上显示 a、b、c 的图表,该图表是平坦且固定的,但也将 "Unit 1" 和 "Unit 2" 分别显示为曲线,例如 "Unit 1 - a"、"Unit 1 - b"、"Unit 1 - c",或将它们合计为 "Unit 1 - total"。提供的数据是否可能?

所以,我

我见过的所有样本都具有 "flat" 结构,例如根 json 对象上的温度和压力,所以我不确定在这里前进的最佳方式是什么。

这如何适应 Application Insights?我还有 "started"、"stopped" 等事件,我是否应该为此使用遥测客户端(在 Java 的 Application Insights 中)?日志记录呢?使用 log4j2。一切都通过 DeviceClient,然后通过流分析进一步分析和分发?

谢谢!

IoT Central 目前仅支持平面 JSON 设备测量。因此,在将有效载荷形成为 post 到 IoT 中心时,将设备上的 JSON 展平。对于 "started"、"stopped" 等事件,您可以使用 State measurement.

Azure IoT Central 是不同于 Application Insights 的产品。 Application Insights 的主要重点是 application/user 监控,而 IoT Central 仅专注于 IoT 场景并且具有完全不同的堆栈。