【发布时间】:2021-03-07 17:56:00
【问题描述】:
我设置了各种安全摄像头,以便在检测到运动时触发。然后一个程序从相机中抓取一张静止图像,通过一些深度学习的东西运行它,并尝试对图像中的各种对象进行分类。然后我将对象分类的结果记录到 InfluxDB 中,这样我就可以使用 Grafana 浏览各种对象的检测频率、不同对象的分类置信度等。相机每天处理和分类几千个运动事件。
这是演示我的架构的 Python 代码的 sn-p:
event_name = "object_detection"
camera_name = "front"
label = "person"
json_body = [{
'measurement': event_name,
'tags': {
'camera': camera_name,
'label': label,
},
'time': data['timestamp'],
'fields': {
'confidence': prediction['confidence'],
'min_confidence': prediction['min_confidence'],
'alert': prediction['alert'],
'y_min': prediction['y_min'],
'x_min': prediction['x_min'],
'y_max': prediction['y_max'],
'x_max': prediction['x_max'],
}
}]
我遇到的问题是我无法(轻松)在 Grafana 中查询这些数据——我只是得到一个空数据集。但是,如果我在查询检查器中向下钻取,我确实会看到数据。它只是重度嵌套。
我不知道我在 InfluxDB 或 Grafana 中做错了什么?有趣的是,InfluxDB Python 库使用了这个example schema in the docs:
>>> json_body = [
{
"measurement": "cpu_load_short",
"tags": {
"host": "server01",
"region": "us-west"
},
"time": "2009-11-10T23:00:00Z",
"fields": {
"value": 0.64
}
}
]
所以现在我很困惑?我应该将每个字段值分解为它自己的数据点吗?这将使在 Grafana 中的查询更容易,但似乎是一个低效的解决方案。最好的选择是什么?
【问题讨论】: