grafana免费连接Oracle/MongoDB——simpod-json-datasource

一、简介

grafana官方提供的Oracle、MongoDB插件都需要付费使用。

在需求促使下,我发现了一个官方提供的可以白嫖的simpod-json-datasource。

JSON plugin for Grafana | Grafana Labs

这款插件允许自定义数据源,我们只需要提供接口,并按数据库数据按规定格式响应,即可将数据传给grafana。

二、实现

1、下载grafana

官网网址:

Download Grafana | Grafana Labs

国内镜像:

Index of grafana-local

2、安装插件

下载zip后解压

在bin目录下cmd

运行

 grafana-cli plugins install simpod-json-datasource

 3、运行grafana

双击grafana-server.exe

没有报错一般就是成功

从网页进入grafana,端口默认是3000,用户名密码默认admin/admin

4、运行接口实现项目

从本文中下载我写的Springboot项目(如果下载积分涨了,有需求的可以私信我)

修改数据库连接信息

简单说明接口,第三个接口暂时没用上,有兴趣的可以再研究研究插件

JSON plugin for Grafana | Grafana Labs

启动Springboot项目(不过多介绍)

5、创建DataSource

URL是Springboot项目的控制器请求地址,配置下面几项后,点击save & test

保存成功,oracle同理

6、使用dashboard

创建

6.1先说明相对简单的oracle

在这里输入sql

不同的图表对sql有不同的要求,以time series为例,第一个字段应该是y轴的数字值,第二个字段需要是时间值,数据线别名则需要另穿一个metric字段

$__to和$__from变量是grafana的自带的全局变量,指开始时间和结束时间,由于会传一个时间戳,所以sql语句里需要转换为日期类型

6.2MongoDb

mongodb界面和oracle一样。

暂时只支持aggregate查询,这里要注意$_from和$_to和上面oracle的不一样。oracle的$__from和$__to有两个“_”符号,是官方自带的变了。而Mongo的$_from和$_to只有一个“_”,这是因为mongodb的解析起来比较特殊,$_from是我代码里定义的解析变量,有兴趣的可以看看我的潦草代码。

db.coll1.aggregate([
    {
        "$match": {
            "create_time": {
                "$gte": "$_from",
                "$lt": "$_to"
            }
        }
    },
    {
        "$project": {
            "_id": 0,
            "value": { "$toDouble": "$count" },
            "time": "$create_time",
            "metric": "游戏去试次数"
        }
    }
], { "allowDiskUse": true })

7、查看报错

报错信息暂时只能在控制台或者Query inspector中查看

8、结语

这套方案的扩展性很好,后续可以加入其他grafana付费数据源。但Springboot项目里有很多局限性没有解决,比如报错信息查看不方便,mongodb查询语句复杂,代码缺少注释等等,同道可自行优化。

对于 MongoDB 启动时出现的错误,可以尝试以下解决方案: 1. 检查配置文件路径:确保您提供的配置文件路径正确无误,并且配置文件存在于指定的位置。在您的命令中,确认 `~/softconfig/mongodb-macos-x86_64-6.0.8/mongodb.conf` 是否是正确的配置文件路径。 2. 检查配置文件内容:打开配置文件 `mongodb.conf`,确保其中的配置选项正确设置。特别注意以下几个常见的配置项: - `bindIp`:MongoDB 绑定的 IP 地址,可以尝试将其设置为 `0.0.0.0`,以允许所有 IP 地址连接MongoDB。 - `port`:MongoDB 监听的端口号,默认是 27017,确保该端口没有被其他进程占用。 - `dbpath`:MongoDB 数据库文件存储路径,确保该路径存在并且有正确的读写权限。 3. 检查日志文件:运行命令时,观察控制台输出的错误信息。如果有提供日志文件路径,可以查看相关日志文件,以获取更详细的错误信息。通常,MongoDB 的日志文件位于 `/var/log/mongodb/` 目录下。 4. 检查数据库文件权限:确保 MongoDB 数据库文件所在的目录具有正确的读写权限。可以尝试使用管理员权限运行启动命令。 5. 检查 MongoDB 版本和操作系统兼容性:确保您所使用的 MongoDB 版本与您的操作系统兼容。如果您的操作系统是最新版本,但 MongoDB 版本较旧,可能需要升级 MongoDB。 如果尝试了以上解决方案后仍然无法解决问题,建议您查阅 MongoDB 的官方文档、社区论坛或向 MongoDB 开发人员社区求助,以获得更具体的问题解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值