Grafana Oracle数据源
下面的说明假定你本地配置Oracle数据源。查看视频云配置,请参阅可视化与Grafana甲骨文云。
需求
这个插件有以下要求:
- Oracle实例与至少一个用户
- 以下账户类型之一:
- 企业启用插件插件
已知的限制
- 甲骨文插件不支持在ARM64架构(例如M1 / M2 Macbook)。
- 以及,目前不支持Kerberos Grafana云。
安装的数据源
安装的数据源,请参考安装。
配置数据源
建立一个Oracle数据库用户只有选择你想查询数据库和表的权限。Grafana确实不验证查询是安全的。查询可以包含任何SQL语句。例如,语句删除用户;
和删除表的用户;
将被执行。
遵循这些指令添加一个新的Oracle数据源,并选择从三个数据源配置选项:
主机与TCP端口基本身份验证
场 选项 启用以及 禁用 主机 主机名或IP地址和端口号 数据库 数据库名称 启用Kerberos身份验证 禁用 用户 Oracle用户名 密码 Oracle用户的密码 以及与基本身份验证条目
场 选项 启用以及 启用 以及 任何有效的入境tnsnames.ora发现 启用Kerberos身份验证 禁用 用户 Oracle用户名 密码 Oracle用户的密码 使用Kerberos身份验证以及条目
更多地了解kerberos,请参考kerberos
场 选项 启用以及 启用 以及 任何有效的入境tnsnames.ora发现 启用Kerberos身份验证 启用
配置数据源的配置
数据源可以配置Grafana的供应系统。你可以阅读更多关于它是如何工作的和所有的设置可以设置数据源配置文档页面
这是这个数据源的配置示例
与基本认证以及启用:
apiVersion: 1数据源:名称:甲骨文(TNS-BASICAUTH)类型:grafana-oracle-datasource访问:代理basicAuth:假可编辑:真正的jsonData: timezone_name: UTC useKerberosAuthentication:假useTNSNamesBasedConnection:真正的用户:用户名secureJsonData:密码:密码:url以及版本:1
以及残疾人基本认证:
apiVersion: 1数据源:名称:甲骨文(集成)类型:grafana-oracle-datasource访问:代理basicAuth:假可编辑:真正的jsonData:数据库:数据库用户:用户名secureJsonData:密码:密码url:主机版本:1
查询的数据源
查询编辑器允许您查询甲骨文返回时间序列数据或表。查询可以包含宏简化语法,允许动态部分。
查询的时间序列
如果你设置格式
来时间序列
,例如用于图形面板,然后查询必须返回一列命名时间
返回一个sql datetime或任何数值数据类型代表unix纪元在几秒钟内。Grafana解释日期和没有明确的时区为UTC时间戳列。除了任何列时间
和度规
被视为一个列值。你可能会返回一个列命名度规
这是作为度量值列的名称。
的例子度规
列
选择__timeGroup美元(time_date_time, 5米)随着时间,最小值(value_double),“最小值”指标从test_data __timeFilter美元(time_date_time) GROUP BY __timeGroup美元(time_date_time 5米),订单时间
查询如表
如果格式
查询选项设置为表
然后你可以做任何类型的SQL查询。表的面板会自动显示结果查询返回的列和行。你可以控制面板表列的名称使用常规作为
SQL列选择语法。
宏
为了简化语法,并允许动态部分,如日期范围过滤器,查询可以包含宏。
宏的例子 | 描述 |
---|---|
__time美元(dateColumn) | 将被替换为一个表达式重命名列时间 。例如,dateColumn随着时间的 |
__timeEpoch美元(dateColumn) | 将被替换为一个表达式重命名列时间 并将值转换为unix时间戳(以毫秒为单位)。 |
__timeFilter美元(dateColumn) | 将被一个时间范围取代过滤器使用指定的列名。例如,dateColumn TO_DATE之间(' 19700101 ','名称')+(1/24/60/60/1000)* 1500376552001和TO_DATE(' 19700101 ', '名称')+ (1/24/60/60/1000)* 1500376552002 |
$ __timeFrom () | 将取代当前活动的开始时间选择转换成吗日期 数据类型。例如,TO_DATE(' 19700101 ', '名称')+ (1/24/60/60/1000)* 1500376552001 |
$ __timeTo () | 将被替换的选择转换为当前活动时间日期 数据类型。 |
美元__timeGroup (dateColumn 5米) | 将取代一个表达式可用在GROUP by子句中。 |
__timeGroup美元(dateColumn, 5 m [, fillvalue]) | 将取代一个表达式可用在GROUP by子句中。提供一个fillValue NULL或浮动值将自动填充空系列timerange价值。例如,美元__timeGroup {createdAt, 1 m, 0}。 |
美元__timeGroup (dateColumn 5米,0) | 同上,但一系列填补参数缺失点,将grafana和0将被用作值。 |
美元__timeGroup (dateColumn 5米,NULL) | 同上,但将使用NULL作为缺失值点。 |
美元__timeGroup (dateColumn, 5米,之前) | 同上,但这个系列的前一个值将被用作填补价值如果没有见过的空值将被使用。 |
__unixEpochFilter美元(dateColumn) | 将被一个时间范围取代过滤器使用指定的列名,*表示为unix时间戳(以毫秒为单位)。例如,dateColumn > = 1500376552001和dateColumn < = 1500376552001 |
$ __unixEpochFrom () | 将取代当前活动的开始时间选择unix时间戳。例如,1500376552001 |
$ __unixEpochTo () | 将取代当前活动的结束时间选择unix时间戳。例如,1500376552002 |
插件还支持使用括号表示法{}
。查询时使用这个符号是必要的内部参数。
注意:使用一个符号类型/查询,如果查询需要括号,查询需要使用括号中的所有宏。
美元__timeGroup {dateColumn, 5米的}$ __timeGroup {SYS_DATE_UTC (SDATE), 5米的}$ __timeGroup {FROM_TZ ((SDATE时间戳),UTC), ' 1 h '}
命名查询编辑器有一个链接生成的SQL
显示查询被执行后,在面板编辑模式。点击它,它将扩大和显示原始插值执行的SQL字符串。
模板和变量
Oracle查询添加一个新的变量,请参考添加和管理变量。使用Oracle数据源作为数据源
甲骨文查询可以返回测量名称、关键名称或键值显示为下拉选择框。
例子:
你可以有一个变量,其中包含所有的值
主机名
列主机
表从主机选择主机名
查询可以返回多个列和Grafana将自动创建一个列表。例如,下面的查询将返回一个值的列表
主机名
和hostname2
。选择主机。主机名, other_host.hostname2 FROM host JOIN other_host ON host.city = other_host.city
使用时间范围相关的宏
美元__timeFilter(列)
在查询刷新模式模板变量需要设置时间范围变化。选择从event_log event_name __timeFilter美元(time_column)
另一个选择是一个查询,可以创建一个键/值变量。命名的查询应该返回两个列
__text
和__value
。的__text
列的值应该是唯一的(如果不是唯一的,那么第一个值是使用)。下拉选项将文本和价值,让你有一个友好的名称的文本和一个id值。一个示例查询主机名
文本和id
的价值:选择主机名作为__text, id作为__value从主机
您还可以创建嵌套的变量。例如,如果你有另一个变量命名
地区
。然后你可以有主机变量只显示主机从当前这类查询(如果选择区域地区
是一个多值变量然后使用吗在
比较运算符,而不是=
匹配多个值):从主机地区在选择主机名(地区)美元
如果变量是一个多值变量然后使用在
比较运算符,而不是=
对多个值匹配。
在创建一个变量可以使用它在您的Oracle查询使用这个语法。
有关变量的更多信息请参考这。
环境变量
注意:该功能目前不支持Grafana云
GF_PLUGINS_ORACLE_DATASOURCE_MAX_RESPONSE_SIZE
可以在你的环境变量设置改变查询响应数据大小(默认值:16日最大:512)
出口GF_PLUGINS_ORACLE_DATASOURCE_MAX_RESPONSE_SIZE = <数字>