Oracledb_exporter 获取表大小信息的简单方法
Oracledb_exporter 获取表大小信息的简单方法
背景
用我儿子的现状作为背景:
我爱学习, 学习让我妈快乐.
下载exporter
exporter 可以在github上面下载最新版本是 0.5.1
https://github.com/iamseth/oracledb_exporter
可以直接下载release 好的二进制, 也可以docker pull 相关的镜像
docker pull iamseth/oracledb_exporter
可以用的tag 主要有 latest 嗨哟 0.5.1 和 0.2.9
运行方式
export DATA_SOURCE_NAME=oracle://grafana:Test20131127@192.168.254.210:1521/ora12c
export QUERY_TIMEOUT=30000
然后可以在某个目录下设置一个 toml 文件.
比如这个为:
[[metric]]
context = "table_size"
labels = [ "tablename" ]
metricsdesc = { table_size = " Top 20 biggest tables. " }
request = '''
select table_name as tablename ,round(num_rows * avg_row_len/1024/1024 , 2) as table_size from dba_tables order by nvl(num_rows * avg_row_len/1024/1024,0) desc FETCH NEXT 20 ROWS ONLY
'''
启动的话就比较简单了
oracledb_exporter --default.metrics "/oracle_exporter/custom-metrics.toml"
要是容器运行的话 比较郁闷 需要将这个文件打包进去 主要是修改 启动脚本
FROM iamseth/oracledb_exporter:0.2.9
COPY custom-metrics.toml /
ENTRYPOINT ["/oracledb_exporter", "--custom.metrics", "/custom-metrics.toml"]
运行的话方式为:
docker run -d --name oracledb_exporter -p 9161:9161 -e DATA_SOURCE_NAME=oracle://grafana:Test20131127@192.168.254.210:1521/ora12c oracledb
查看metrics
http://192.168.254.210:9161/metrics
# HELP go_goroutines Number of goroutines that currently exist.
# TYPE go_goroutines gauge
go_goroutines 12
# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use.
# TYPE go_memstats_alloc_bytes gauge
go_memstats_alloc_bytes 1.721112e+06
# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed.
# TYPE go_memstats_alloc_bytes_total counter
go_memstats_alloc_bytes_total 2.1797752e+07
# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table.
# TYPE go_memstats_buck_hash_sys_bytes gauge
go_memstats_buck_hash_sys_bytes 1.448806e+06
# HELP go_memstats_frees_total Total number of frees.
# TYPE go_memstats_frees_total counter
go_memstats_frees_total 205940
# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata.
# TYPE go_memstats_gc_sys_bytes gauge
go_memstats_gc_sys_bytes 3.574024e+06
# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use.
# TYPE go_memstats_heap_alloc_bytes gauge
go_memstats_heap_alloc_bytes 1.721112e+06
# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used.
# TYPE go_memstats_heap_idle_bytes gauge
go_memstats_heap_idle_bytes 6.32832e+07
# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use.
# TYPE go_memstats_heap_inuse_bytes gauge
go_memstats_heap_inuse_bytes 3.104768e+06
# HELP go_memstats_heap_objects Number of allocated objects.
# TYPE go_memstats_heap_objects gauge
go_memstats_heap_objects 5666
# HELP go_memstats_heap_released_bytes_total Total number of heap bytes released to OS.
# TYPE go_memstats_heap_released_bytes_total counter
go_memstats_heap_released_bytes_total 6.1988864e+07
# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system.
# TYPE go_memstats_heap_sys_bytes gauge
Grafana增加panel
增加panel 然后可以选择信息进行展示.
数据库降低抓取频率
--scrape.interval=300s
可以将 抓取频率降低, 这样的话对数据库的影响会低很多.
Flags:
-
, --[no-]help Show context-sensitive help (also try --help-long and --help-man).
--web.telemetry-path="/metrics"
Path under which to expose metrics. (env: TELEMETRY_PATH)
--default.metrics="default-metrics.toml"
File with default metrics in a TOML file. (env: DEFAULT_METRICS)
--custom.metrics="" File that may contain various custom metrics in a TOML file. (env: CUSTOM_METRICS)
--query.timeout=3000000 Query timeout (in seconds). (env: QUERY_TIMEOUT)
--database.maxIdleConns=0 Number of maximum idle connections in the connection pool. (env: DATABASE_MAXIDLECONNS)
--database.maxOpenConns=10
Number of maximum open connections in the connection pool. (env: DATABASE_MAXOPENCONNS)
--scrape.interval=0s Interval between each scrape. Default is to scrape on collect requests
--[no-]web.systemd-socket Use systemd socket activation listeners instead of port listeners (Linux only).
--web.listen-address=:9161 ...
Addresses on which to expose metrics and web interface. Repeatable for multiple addresses.
--web.config.file="" [EXPERIMENTAL] Path to configuration file that can enable TLS or authentication.
See: https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md
--log.level=info Only log messages with the given severity or above. One of: [debug, info, warn, error]
--log.format=logfmt Output format of log messages. One of: [logfmt, json]
--[no-]version Show application version.
Oracledb_exporter 获取表大小信息的简单方法的更多相关文章
- SQL Server 游标运用:查看数据库所有表大小信息
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:运用游标 方法二:运用系统存储过程 方法三:拼接SQL ...
- SQL Server 游标运用:查看所有数据库所有表大小信息(Sizes of All Tables in All Database)
原文:SQL Server 游标运用:查看所有数据库所有表大小信息(Sizes of All Tables in All Database) 一.本文所涉及的内容(Contents) 本文所涉及的内容 ...
- SQL Server 游标运用:查看一个数据库所有表大小信息(Sizes of All Tables in a Database)
原文:SQL Server 游标运用:查看一个数据库所有表大小信息(Sizes of All Tables in a Database) 一.本文所涉及的内容(Contents) 本文所涉及的内容(C ...
- mysql学习之-show table status(获取表的信息)参数说明
--获取表的信息mysql> show table status like 'columns_priv'\G;*************************** 1. row ******* ...
- Servlet 响应 响应相关与重定向 请求 获取表单数据2种方法
一.HttpServletResponse (响应) 包括下面三个: 1.响应消息行 HTTP/1.1 200 OK 200是HTTP状态码, 代表请求已成功. (查httpservletres ...
- sql 2012中获取表的信息,包含字段的描述
1.获取数据库中的表 select name from sysobjects where type='U' 2.获取表字段(此处是Route表) Select name from syscolumns ...
- Oracle 获取表结构信息
通过Oracle中的user_tab_cols, user_col_comments, user_constraints, user_cons_columns表联合查询. user_tab_cols用 ...
- mysql获取表列信息、主键信息
/** * 获取物理表中已存在的列信息 * @param tbName 表名 * @return results 查询结果 */ fun getExistColumnInfo(tbName:Strin ...
- 【Codebase】JQuery获取表单部分数据提交方法
JQuery使用ajax提交整个表单最简便的方法就是$('#form').serialize();但如果仅想保存表单中的部分数据,比如仅更新选中的条目,那么获取数据就比较麻烦了. 解决方法:新建一个表 ...
- Javascript和Java获取各种form表单信息的简单实例
大家都知道我们在提交form的时候用了多种input表单.可是不是每一种input表单都是很简单的用Document.getElementById的方式就可以获取到的.有一些组合的form类似于che ...
随机推荐
- uniapp中实现H5录音和上传、实时语音识别(兼容App小程序)和波形可视化
目录 Recorder-UniCore插件特性 集成到项目中 调用录音 上传录音 ASR语音识别 在uniapp中使用Recorder-UniCore插件可以实现跨平台录音功能,uniapp自带的re ...
- MyBatis中使用#{}和${}占位符传递参数的各种报错信息处理
在Mapper层使@Select注解进行SQL语句查询时,往往需要进行参数传入和拼接,一般情况下使用两种占位符#{参数名}和${参数名},两者的区别为: 一.两种占位符的区别 1.参数传入方式的区别 ...
- Git commit emoji 对照表
emoji emoji代码 commit说明 (调色板) :art: 改进代码结构/代码格式 ️ (闪电) :zap: 提升性能 (赛马) :racehorse: 提升性能 (火焰) :fire: 移 ...
- 为什么maven配置完Tomcat且运行之后页面内容没有显示出来?
1.如何在maven项目中配置一个webapp项目? 首先新建一个maven项目 项目目录 <?xml version="1.0" encoding="UTF-8& ...
- Apache Hudi在信息服务行业构建流批一体的实践
个人介绍 李昂 高级数据研发工程师 Apache Doris & Hudi Contributor 业务背景 部门成立早期, 为了应对业务的快速增长, 数仓架构采用了最直接的Lambda架构 ...
- 文心一言 VS 讯飞星火 VS chatgpt (32)-- 算法导论5.2 4题
四.利用指示器随机变量来解如下的帽子核对问题(hat-heck problem):n位顾客,他们每个人给餐厅核对帽子的服务生一顶帽子.服务生以随机顺序将帽子归还给顾客.请问拿到自己帽子的客户的期望数是 ...
- 基于DMS的数仓智能运维服务,知多少?
摘要:GaussDB(DWS)使用DMS来承载数据库的智能运维体系,提供了数据库运维过程中的监控,分析,处理三大核心处理过程. 本文分享自华为云社区<GaussDB(DWS) 数据库智能监控运维 ...
- 教你用Python 编写 Hadoop MapReduce 程序
摘要:Hadoop Streaming 使用 MapReduce 框架,该框架可用于编写应用程序来处理海量数据. 本文分享自华为云社区<Hadoop Streaming:用 Python 编写 ...
- Datahub新版本0.9.1更新,列级别数据血缘功能发布!
大家好,我是独孤风. 近期Datahub进行了一次大的版本更新,从0.9版本以后Datahub也正式发布了列级别数据血缘的功能. 0.9.1版本又增加了,列的影响分析这个功能. 这样Datahub对于 ...
- cmd 7z 文件压缩
7z压缩测试 为了方便,将7z的安装目录,添加到环境变量中 # 不加环境变量的话,需要带上全路径 C:\Users\vipsoft>"C:\\Program Files\\7-Zip\ ...