Grafana监控Oracle数据库的表大小等信息
Grafana监控Oracle数据库的表大小等信息
方案
oracledb_exporter
以及
prometheus
grafana
使用的SQL以及配置文件
[[metric]]
context = "table_sizeinfo"
labels = [ "table_nameinfo","table_tablespace" ]
metricsdesc = { table_rownum = "table row num" , table_colnum = "table col num.", table_size = "table size num" }
request = '''
SELECT
x.table_name AS table_nameinfo,
x.表行数 AS table_rownum,
x.表列数 AS table_colnum,
y.表大小 AS table_size ,
x.table_tablespace as table_tablespace
FROM
(
SELECT
b.table_name,
a.num_rows AS 表行数,
b.count1 AS 表列数 ,
a.TABLESPACE_name as table_tablespace
FROM
dba_tables a
INNER JOIN ( SELECT table_name, count( column_name ) AS count1 FROM dba_tab_columns GROUP BY table_name ) b ON a.table_name = b.table_name
ORDER BY
b.table_name
) x LEFT outer
JOIN (
SELECT
sum( tablesize ) AS 表大小,
tablename
FROM
(
SELECT
sum( C.bytes ) / 1024 / 1024 AS tablesize,
C.table_name AS tablename
FROM
( SELECT A.table_name, B.bytes FROM dba_lobs A, dba_extents B WHERE A.segment_name = B.segment_name ) C
GROUP BY
C.table_name UNION ALL
SELECT
sum( bytes ) / 1024 / 1024 AS tablesize,
segment_name AS tablename
FROM
dba_extents
WHERE
segment_type = 'TABLE'
GROUP BY
segment_name
)
GROUP BY
tablename
ORDER BY
1 DESC
) y ON x.table_name = y.tablename
ORDER BY
nvl(y.表大小,0) desc FETCH NEXT 10 ROWS ONLY
grafana增加panel的处理
第一步: 新建一个dashboard 选择 Add Visualization
第二步: 选择数据源; 选择prometheus
第三步: 保存dashboard 可以修改一个名字, 比如Oracle表信息测试.
第四步: 点击设置. 可以增加变量, 用于实现识别prometheus的信息内容
注意 因为我们选用的是oracledb_exporter的组件. 所以可以使用如下方式
host label_values(oracledb_up,instance)
方式为query ; 来源是prometheus ; instance 值是 oracledb_up
注意 值可以从 metrics 里面获取.
第五步: 编辑panel 增加三个Query
根据第一步新增加的 查询 metrics 桑一般为:
oracledb_table_sizeinfo_table_colnum
oracledb_table_sizeinfo_table_rownum
oracledb_table_sizeinfo_table_size
注意命名规范为 oracledb_metricsname_metrics_desc
注意, 需要再 Options 处进行修改
注意 format 选择为 table type 选择为 instant
第五步: 编辑Query旁边的Transform
因为我们有三个指标, 所以第一个必须选择 merge 的transform
第二个 选择Group by 组件
注意 表空间和表名都选择 group by 的方式
然后三个结果 建议选择 max 如果想确保周期内的大小变化值
第三个 增加 organize fields 的组件, 可以修改列的名称 便于分析查看
第六步: 保存
这个界面暂时无法获取较早的结果值, 需要再分析一下.
Grafana监控Oracle数据库的表大小等信息的更多相关文章
- Zabbix+Orabbix监控oracle数据库表空间
Orabbix 是设计用来为 zabbix 监控 Oracle 数据库的插件,它提供多层次的监控,包括可用性和服务器性能指标. 它提供了从众多 oracle 实例采集数据的有效机制,进而提供此信息的监 ...
- 使用Zabbix监控Oracle数据库
Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...
- Oracle 数据库整理表碎片
Oracle 数据库整理表碎片 转载:http://kyle.xlau.org/posts/table-fragmentation.html 表碎片的来源 当针对一个表的删除操作很多时,表会产生大量碎 ...
- 搜索表字段包含某字符串的SQL和监控Oracle数据库的SQL。
1.第一个SQL 背景:需要找到SQL Server数据库中,包含某个字符串的表,输出表和包含该字符串的列. )='=' --这里填要搜索的字符串 DECLARE @sql NVARCHAR(MAX) ...
- 利用zabbix监控oracle数据库
一.概述 zabbix是一款非常强大,同时也是应用最为广泛的开源监控软件,本文将给大家介绍如何利用zabbix监控oracle数据库. 二.环境介绍 以下是我安装的环境,实际部署时并不需要跟我的环境一 ...
- 8个DBA最常用的监控Oracle数据库的常用shell脚本
本文介绍了8个常用的监控数据shell脚本.首先回顾了一些DBA常用的Unix命令,以及解释了如何通过Unix Cron来定时执行DBA脚本.网上也有好多类似的文章,但基本上都不能正常运行,花点时间重 ...
- Zabbix的自定义键值和自动发现功能监控Oracle数据库的表空间
前面介绍了利用Orabbix监控了,参考zabbix通过Orabbix监控oracle数据库,这里我们原先的模板中进行了修改,使用自动发现功能实现监控tablespace的使用情况. 1. 在被监控的 ...
- 链接oracle数据库 生成表对应的javabean
package com.databi.utils; import java.io.File; import java.io.FileOutputStream; import java.io.IOExc ...
- ORACLE 数据库及表信息
查看ORACLE 数据库及表信息 -- 查看ORACLE 数据库中本用户下的所有表 SELECT table_name FROM user_tables; -- 查看ORACLE 数据库中所有用户 ...
- 【Zabbix】zabora监控Oracle数据库
zabora监控Oracle数据库 它作为一个开源项目,通过shell脚本有效的监控Oracle基础指标.本文档旨在通过实战,在Zabbix 3.0版本之下,监控生产环境下的多台Oracle数据库. ...
随机推荐
- 通过JDK动态代理类实现一个类中多种方法的不同增强
1.为什么说JDK动态代理必须要实现当前父接口才能使用 JDK动态代理是基于接口的代理,它要求目标类(被代理的类)必须实现一个或多个接口.这是因为JDK动态代理是通过创建目标类的接口的代理对象来实现的 ...
- mysql的CRUD操作实现
插入语句(INSERT):一旦我们选择了要插入的字段, 我们就必须保证要插入的数值和选择的字段的个数,顺序,类型一致. 1:怎么插入一条数据: INSERT INTO 插入的表名称(列名1,列 ...
- 如何保证XML正确性
如何保证XML正确性 XML是个盒子,什么都能装,但是装进去的东西正确与否恐怕无法得知.往往我们都人工审核.双人复核保证,但是次数多了难免会出错.那么我们如何保证和避免这种问题出现呢? 那就是XSD, ...
- Programming Abstractions in C阅读笔记:p242-p245
<Programming Abstractions in C>学习第67天,p242-p245总结,总计4页. 一.技术总结 6.2小结主要讲回溯算法及递归算法在迷宫求解中应用,当然,理解 ...
- 微信小程序常用代码
在微信小程序中,可以使用 wx.showToast.wx.showLoading 和 wx.showModal 等方法来显示不同类型的提示框 wx.showToast:用于显示一条浮动的提示框,一般用 ...
- 拖拽功能实现vue
1.按钮 <el-button @mousedown="down" @touchstart="down" @mousemove="move&qu ...
- 电商业务容器化遇瓶颈,公有云Docker镜像P2P加速很安全
当前,电商平台会采用基于Docker的容器技术来承载618大促期间的一些关键业务版块,包括最简单的商品图片展示.订单详情页面等等. 通过容器化改造,电商平台的每个业务版块解耦,可以独立开发.部署和上线 ...
- 技术驱动,数据赋能,华为云GaussDB给世界一个更优选择
摘要:5月16日,"数智深耕 让美好发生 2023华为云城市峰会广州站"成功举行. 5月16日,"数智深耕 让美好发生 2023华为云城市峰会广州站"成功举行. ...
- 一文带你了解什么是GitOps
摘要:说起GitOps,可能很多朋友马上会联想到DevOps,那么GitOps和DevOps之间有什么关系.又有什么区别呢? 本文分享自华为云社区<浅谈GitOps>,作者: 敏捷的小智. ...
- 在探索的道路上持续“做对”,火山引擎A/B测试成为这家企业数字基建
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 最近,乐刻的"百城万店"战略在行业激起了许多讨论.在传统健身馆经营承压.服务业难标准化的语 ...