[转帖]Grafana连接oracle数据库插件
Granfana作为前端监控显示程序提供了迅速图形化查看数据库数据的方式。虽然官网提供了部分免费数据库插件,但毕竟太少,最近需要在Oracle数据库上做项目,发现官方的oracle插件是收费的,几经周折找到一个免费插件simpod-json-datasorce(下载地址https://storage.googleapis.com/plugins-community/simpod-json-datasource/release/0.6.2/simpod-json-datasource-0.6.2.zip),在simpod插件基础上,编写后端程序实现了Grafana与oracle数据库的连接。
配置方法:
1.安装grafana,将simpod-json-datasorce插件解压到grafana安装目录的plugins-bundled目录下

2.将target目录下的sp-0.0.1-SNAPSHOT.war,复制到tomcat项目文件夹下,程序会自动解压。正常情况下,下面的URL为:http://locaohost/sp-0.0.1-SNAPSHOT:8080。这个地方tomcat如果配置正常,下面test的时候就能通过。
3.登录grafana设置数据源,选择others里的JSON数据源。
在数据源设置里,需要设置URL,这个URL为上面tomcat中sp-0.0.1-SNAPSHOT的服务地址,默认应该是http://locaohost/sp-0.0.1-SNAPSHOT:8080,然后点击“save@test",如果测试正常,数据源就保存好了。

4.配置oracle数据库,tomcat自动解压项目文件后,找到application.properties文件,进去配置Oracle数据库的url,username和password。该项目是连接的Oracle数据库,熟悉springboot开发的,稍微修改下源码数据源的配置,就可以适应其它数据库。
使用方法:
1.设置好数据源后,添加新panel,进入编辑,在Data source中选择设置的数据源,这里是”JSON“,在下面的Metric中有三个选项,其中sql_express返回时序序列数据,可用time series模版绘制曲线图;table_express返回表格式的数据,可用table模版显示数据表;other_express为保留接口。

2.进入sql_express或table_express后,设置payload。在Builder中选择Experimental模式,可以看到from,select,time,where和others四个选项。
3.选择sql_express时,from选择表名,select选项数据列,time指定时间轴的序列名,where设置除时间选择外的其它查询条件,后端程序会根据这些字符串拼接为对应的sql语句,在后端执行查询并返回。
others选项用于设置返回数据格式,如果others为”true",返回的序列为原始数据扣除线性部分的残差,如果others为其它字符串,返回的序列为原始数据,如果others为空,payload中将没有others这个key,可能无法返回数据。
上图中查询名称“A”可以设置返回序列的名称,假如序列名为”value“,就把“A”改为“value"。如果在一个查询中返回多个序列,只需把“A"修改为多个序列名称的拼接,中间用英文”,“分隔,假如返回”v1"和“v2"连个序列,只需把“A"修改为”v1,v2"。程序支持多个查询,对应图中数据序列的名称就是查询的名称。
4.选择table_express时,from选择表名,select选项数据列,如果time指定时间轴的序列名,where设置除时间选择外的其它查询条件,此时界面上的时间设置有效。如果time没有设置时间轴序列,where设置所有查询条件,此时界面上的时间设置将失效。后端程序会根据这些字符串拼接为对应的sql语句,在后端执行查询并返回。
others选项用于设置表头显示名称和表列的数据类型。如果不设置others选项,默认的列名称为SQL语句中的列名,默认所有列返回string类型。如果要设置others选项,格式可查看 simpod-json-datasorce插件目录下的readme.md文件。
如图others输入“[
{"text":"Time","type":"time"},
{"text":"Country","type":"string"},
{"text":"Number","type":"number"}
]”
就设置了Time,Country和Number三个表列,类型分别为time,string,number

5.在设置payload时,也可以在Builder中选择Code模式,此时可以更加灵活地输入json格式的payload数据,缺点是from,select和time都将无法根据数据源自动渲染数据,需要完全手工输入,两种方式可以配合使用,先在Experimental模式下进行基本设置,再转换为Code模式,手动灵活修改。
[转帖]Grafana连接oracle数据库插件的更多相关文章
- 利用Navicat Premium连接Oracle数据库
利用Navicat Premium连接Oracle数据库 Navicat premium是一款数据库管理工具,支持多种数据库,也非常轻量: 安装包准备:Navicat Premium_11.1.8简体 ...
- Asp.net core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库
Asp.net Core 3.1+EF Core2.2.6+Oracle.EntityFrameworkCore2.1.19连接Oracle数据库 1.前言 本次主要采用Asp.net core3.1 ...
- java连接Oracle数据库
Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id ) not null primary key, ...
- 记录排查解决Hubble.Net连接Oracle数据库建立镜像库数据丢失的问题
起因 前几天在弄Hubble连接Oracle数据库,然后在mongodb中建立一个镜像数据库; 发现一个问题,原本数据是11W,但是镜像库中只有6w多条; 刚开始以为是没运行好,又rebuild了一下 ...
- NodeJs连接Oracle数据库
nodejs连接oracle数据库,各个平台的官方详情文档:https://github.com/oracle/node-oracledb/blob/master/INSTALL.md 我的nodej ...
- jdbc连接oracle数据库
/*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...
- 用VS连接oracle数据库时ORA-12504错误
在用VS2008连接oracle数据库时,可能会出现: ORA-12504: TNS: 监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME 只需在web.config文件Data ...
- ASP.NET连接Oracle数据库的步骤详解(转)
ASP.NET连接Oracle数据库的步骤详解 本文我们主要介绍了ASP.NET连接Oracle数据库的步骤及每个步骤需要进行的设置,希望能够对您有所帮助. 在用ASP.NET开发应用程序时, ...
- 64 位win 7或windows 8下的visual studio不能连接Oracle数据库调试网站的问题
在64 位win 7或windows 8系统下,visual studio直接F5运行网站调试,你会发现不能连接Oracle数据库,会报一个“ORA-06413: Connection not ope ...
- [原创]安装Oracle 11gR2,以及如何在win8下使用plsql develper连接Oracle数据库 ,在这里和大家分享下
一,关于win8下安装Oracle 11gR2 1.我下载的是Oracle_11gR2_win64.其中有两个包: 注意:在解压了之后将:win64_11gR2_database_2of2\datab ...
随机推荐
- 告别复杂排版:Markdown语法指南
导语:Markdown作为一种轻量级的标记语言,以其简洁.易学的语法和强大的兼容性赢得了广泛的应用.本文将为您详细介绍Markdown的起源.基本语法及其在写作.博客.项目管理等场景的应用,带您领略这 ...
- ORA-28579 在从外部过程代理程序回调时,发生网络错误,ORA-06512 在"SDE.ST_GEOMETRY_SHAPELIB_PKG"
如图所示,在执行sde.st_transform方法时报错. 环境是arcgis10.8 oracle是12C,版本号是v12.1.0.2.0 但是执行ST_GEOMETRY方法是可以的,说明配置没 ...
- k8s 标签-2
目录 标签-2 node的角色 修改node节点的角色,将他的角色修改成他的主机名 标签的作用 Cordon,Drain以及污点 Cordon--告警警戒 Drain 驱逐演示 污点 污点的Cordo ...
- 从VMWare安装到Nginx配置
1.安装VMWare Workstation 16 player,Mac也可使用Parallels Desktop,自己有虚拟主机的跳过: 2.在虚拟机中,安装Centos7操作系统,使用Minima ...
- 技术实践丨手把手教你使用MQTT方式对接华为IoT平台 华为云开发者社区
摘要:本文主要讲述使用MQTT方式对接华为云IoT平台的具体过程. 使用的方案:目标板为STM32L431BearPI(带E53扩展板); TCPIP功能由开发板的ESP8266提供:MQTT使用Pa ...
- 从缓存的本质说起,说服技术大佬用Redis
摘要:在技术领域中,没有银弹.我们需要不断探索和研究新的技术,结合具体问题和需求,选择最适合的解决方案. 本文分享自华为云社区<知乎问题:如何说服技术老大用 Redis ?>,作者:勇哥j ...
- 华为云发布CodeArts Req需求管理工具,让需求管理化繁为简
摘要:华为云正式发布CodeArts Req,这是一款自主研发的软件研发管理与团队协作工具,旨在助力企业大规模研发转型成功,释放组织生产力. 本文分享自华为云社区<华为云发布CodeArts R ...
- 云图说|每个成功的业务系统都离不开APIG的保驾护航
摘要:华为云API网关(APIG)是为企业开发者及合作伙伴提供的高性能.高可用.高安全的API托管服务, 帮助企业轻松构建.管理和部署不同规模的API. 本文分享自华为云社区<[云图说]第243 ...
- 通过windows自带管理工具、系统命令行、快捷键等快速操作
windows自带管理工具 我们win+R 输入一些命令,可以快速打开一些界面,比如: sysdm.cpl win10.win11 我电脑,属性与之前win7不同了,我希望打开之前的属性打不开了 通过 ...
- java反射机制原理剖析
当程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言.我们认为java并不是动态语言,但是java有一个非常突出的动态相关机制,俗称:反射. IT行业里这么说,没有反射也就没有框架,现有的框 ...