MongoDB数据源插件使用指南
mongodb-grafana MongoDB plugin for Grafana 项目地址: https://gitcode.com/gh_mirrors/mo/mongodb-grafana
安装指南
安装Grafana插件组件
- 将
mongodb-grafana
目录复制到Grafana的插件目录中(通常为/usr/local/var/lib/grafana/plugins
)。 - 重启Grafana服务器。如果通过Homebrew安装,可以使用命令
brew services restart grafana
。
安装并启动MongoDB代理服务器
- 在
mongodb-grafana
目录下打开命令提示符。 - 运行
npm install
安装Node.js依赖。 - 运行
npm run server
启动REST API代理到MongoDB。默认情况下,服务器监听http://localhost:3333
。
项目使用说明
创建MongoDB数据源
- 在Grafana中创建一个新的数据源,类型选择为MongoDB。
- 填写MongoDB的详细信息:
- MongoDB URL:
mongodb://rpiread:[email protected]:27017,rpi-sensor-data-shard-00-01-ifxxs.mongodb.net:27017,rpi-sensor-data-shard-00-02-ifxxs.mongodb.net:27017/test?ssl=true&replicaSet=rpi-sensor-data-shard-0&authSource=admin
- MongoDB Database:
rpi
- MongoDB URL:
- 保存数据源。
示例1 - 简单聚合以重命名字段
- 导入
examples\RPI MongoDB - Atlas.json
中的仪表盘。 - 该仪表盘显示了来自Raspberry PI的灯光传感器值,数据每分钟通过EnviroPHAT板传输到MongoDB Atlas数据库。
- 点击图表标题查看针对'RPI Atlas'数据源运行的聚合查询。
示例2 - 使用$bucketAuto进行数据点聚合
- 导入
examples\RPI MongoDB Bucket - Atlas.json
中的仪表盘。 - 该仪表盘展示了使用MongoDB的$bucketAuto操作符自动将数据点分桶到显示点的查询。
示例3 - 使用表格面板
- 导入
examples\Sensor Values Count - Atlas.json
中的仪表盘。 - 该仪表盘展示了使用表格面板的查询。
项目API使用文档
API请求格式
API期望返回的文档包含以下字段:
name
- 系列的名称(将在图表上显示)value
- 点的浮点数值ts
- 点的时间,作为BSON日期
这些文档将被转换为Grafana API格式。
模板变量
$sensor
和$host
是模板变量,由Grafana根据下拉菜单填充。示例模板查询如下:
db.sensor_value.aggregate(
[
{ "$match" : { "ts" : { "$gte" : "$from", "$lt" : "$to" }}},
{ "$group": { "_id": { "sensor_name" : "$sensor_name", "sensor_type" : "$sensor_type" }, "cnt" : { "$sum" : 1 }, "ts" : { "$max" : "$ts" } } },
{ "$project": { "name" : { "$concat" : ["$_id.sensor_name",":","$_id.sensor_type" ]}, "value" : "$cnt", "ts" : 1, "_id" : 0} }
])
项目安装方式
在Mac上作为服务运行代理
- 安装
forever-mac
。 - 将
server/mongodb-grafana-proxy.plist
复制到~/Library/LaunchAgents
。 - 运行
launchctl load mongodb-grafana-proxy
。 - 使用
forever list
检查是否运行。日志位于/usr/local/var/lib/grafana/plugins/mongodb-grafana/dist/server
。
开发环境配置
- 停止Grafana服务:
brew services stop grafana
。 - 在
/debugging
目录下打开命令提示符。 - 运行
./start_grafana.sh
。 - 修改代码后,运行
npm run build
构建UI。 - 使用开发者工具清空缓存并强制刷新。
注意:Homebrew安装的Grafana版本位于/usr/local/Cellar
。
mongodb-grafana MongoDB plugin for Grafana 项目地址: https://gitcode.com/gh_mirrors/mo/mongodb-grafana