[转帖]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 ...
随机推荐
- 某物流客户Elasticsearch集群性能优化案例
客户背景 客户使用ES来进行数据存储.快速查询业务订单记录,但是经常会出现业务高峰期ES集群的cpu负载.内存使用均较高,查询延迟大,导致前端业务访问出现大量超时的情况,极大影响其客户使用体验. 部分 ...
- C语言基础之因子分解
要求: 从键盘输入一个正整数,然后将该整数分解为1和各个质因子的相乘,如果输入的整数本身就是质数,则应分解为1和该数本身相乘. 输出格式: 因子分解,因子由小到大输出. 如:1* 2* 2* 3 代码 ...
- 基于FPGA的电子琴设计(按键和蜂鸣器)---第一版---郝旭帅电子设计团队
本篇为各位朋友介绍基于FPGA的电子琴设计(按键和蜂鸣器)----第一版. 功能说明: 外部输入七个按键,分别对应音符的"1.2.3.4.5.6.7",唱作do.re.mi.fa. ...
- Jenkins简介及安装配置详解:开启持续集成之旅
Jenkins简介及安装配置详解:开启持续集成之旅 一.Jenkins介绍 Jenkins是一个开源的.用Java编写的持续集成和持续交付(CI/CD)工具.它提供了一种简单易用的方式来自动化构建.测 ...
- 18、Scaffold 布局组件
Scaffold 是一个非常重要的布局组件,它提供了一个常见的应用程序结构布局,包含了许多基础的 UI 元素和交互方式. Scaffold 组件主要由以下几个部分组成: AppBar:用于显示在页面顶 ...
- BeanDefinition解密:构建和管理Spring Beans的基石
本文分享自华为云社区<Spring高手之路11--BeanDefinition解密:构建和管理Spring Beans的基石>,作者: 砖业洋__ . BeanDefinition是Spr ...
- Ambient Mesh:Istio 数据面新模式
摘要:基于Istio对于Kubernetes生态的完美补充,随着Kubernetes的大规模普及,Istio 数据面新模式 -Ambient MeshIstio也实现了对用户心智以及市场的快速抢占. ...
- 海量监控数据处理如何做,看华为云SRE案例分享
摘要:openGemini的设计和优化都是根据时序数据特点而来,在面对海量运维监控数据处理需求时,openGemini显然更加有针对性. IT运维诞生于最早的信息化时代.在信息化时代,企业的信息化系统 ...
- 干货分享丨从MPG 线程模型,探讨Go语言的并发程序
摘要:Go 语言的并发特性是其一大亮点,今天我们来带着大家一起看看如何使用 Go 更好地开发并发程序. 我们都知道计算机的核心为 CPU,它是计算机的运算和控制核心,承载了所有的计算任务.最近半个世纪 ...
- 总结vue3 的一些知识点:MySQL 运算符
MySQL 运算符 本章节我们主要介绍 MySQL 的运算符及运算符的优先级. MySQL 主要有以下几种运算符: 算术运算符 比较运算符 逻辑运算符 位运算符 算术运算符 MySQL 支持的算术运算 ...