一、下载oracledb_exporter安装包
1、本地下载后上传到linux服务器
下载地址:https://github.com/iamseth/oracledb_exporter/releases
2、直接在linux服务器上wget方式下载
# 新建目录
mkdir -p /data/prometheus/oracle_exporter
# 进入目标目录
cd /data/prometheus/oracle_exporter
# 下载
wget https://github.com/iamseth/oracledb_exporter/releases/download/0.3.0rc1/oracledb_exporter.0.3.0rc1-ora18.5.linux-amd64.tar.gz
# 解压
tar -vxzf oracledb_exporter.0.3.0rc1-ora18.5.linux-amd64.tar.gz
# 移动到安装目录
mv /data/prometheus/oracle_exporter/oracledb_exporter.0.3.0rc1-ora18.5.linux-amd64 /data/prometheus/oracle_exporter/oracledb_exporter
# 进入目录
cd /data/prometheus/oracle_exporter/oracledb_exporter
3、启动oracledb_exporter
# 进入目录
cd /data/prometheus/oracle_exporter/oracledb_exporter
# 前台启动
./oracledb_exporter -log.level error
# 后台启动,并且重定向输入日志到当前目录的oracledb_exporter.out
nohup ./oracledb_exporter --log.level error >> /data/prometheus/oracle_exporter/oracledb_exporter/oracledb_exporter.out 2>&1 &
# 日志输出级别
--log.level error/warn/info
# 指定端口,不指定就是默认9161端口,官方给的配置是0.0.0.0:9161
--web.listen-address=:9161
# 指定指标配置文件,不指定就是默认的指标配置文件
--default.metrics ./default-metrics.toml
参数解析
# 进入目录
cd /data/prometheus/oracle_exporter/oracledb_exporter
# 查看参数
./oracledb_exporter --help
usage: oracledb_exporter [<flags>]
Flags:
-h, --help Show context-sensitive help (also try --help-long and --help-man).
--web.listen-address=":9161"
Address to listen on for web interface and telemetry. (env: LISTEN_ADDRESS)
--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="5" 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)
--log.level="info" Only log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal]
--log.format="logger:stderr"
Set the log target and format. Example: "logger:syslog?appname=bob&local=7" or "logger:stdout?json=true"
--version Show application version.
二、将oracledb_exporter配置为系统服务
1、进入systemd目录
cd /usr/lib/systemd/system
2、创建文件
vim oracledb_exporter.service
# 添加如下内容
[Unit]
Description=https://github.com/iamseth/oracledb_exporter
After=network-online.target
[Service]
Restart=on-failure
ExecStart=/data/prometheus/oracle_exporter/oracledb_exporter --default.metrics "/data/prometheus/oracle_exporter/default-metrics.toml" --log.level error --web.listen-address 0.0.0.0:9161
[Install]
WantedBy=multi-user.target
3、生效系统systemd文件
systemctl daemon-reload
4、设置开机自启
systemctl enable oracledb_exporter
5、启动和停止服务命令
# 查看状态
systemctl status oracledb_exporter
# 启动
systemctl start oracledb_exporter.service
# 停止
systemctl stop oracledb_exporter.service
四、添加 Prometheus 监控配置
# 进入 prometheus 文件夹
cd /usr/local/prometheus
# 编辑 prometheus 配置文件
vim prometheus.yml
# 添加内容如下
- job_name: 'oracle_exporter'
static_configs:
- targets: ['192.168.3.105:9161']
五、默认指标
当把oracledb_exporter的二进制包解压到规划的目录后,其下面还包含了一个default-metrics.toml文件,这个是默认的指标配置文件。根据官方给出的数量,默认的指标共计有25个。如果没有额外的监控指标需求,当然可以使用默认的,启动时指定参数--default.metrics="default-metrics.toml"就好。当然,默认的指标也是可以不用的。如果有自定义监控指标的需求,当然就使用自定义监控指标了。
指标名称
|
描述
|
---|---|
oracledb_exporter_last_scrape_duration_seconds
| 最后一次抓取用时,单位:秒 |
oracledb_exporter_last_scrape_error
| 最后一次抓取错误 |
oracledb_exporter_scrapes_total | 抓取总数 |
oracledb_up
|
数据库运行状态
|
oracledb_activity_execute_count | 活动执行计数 |
oracledb_activity_parse_count_total | 活动解析总数 |
oracledb_activity_user_commits | 活动用户提交数 |
oracledb_activity_user_rollbacks | 活动用户回滚数 |
oracledb_sessions_activity | 会话活动数 |
oracledb_wait_time_application | 应用等待时间 |
oracledb_wait_time_commit | 提交等待时间 |
oracledb_wait_time_concurrency | 并发等待时间 |
oracledb_wait_time_configuration | 配置等待时间 |
oracledb_wait_time_network | 网络等待时间 |
oracledb_wait_time_other | 其他等待时间 |
oracledb_wait_time_scheduler | 调度器等待时间 |
oracledb_wait_time_system_io | 系统io等待时间 |
oracledb_wait_time_user_io | 用户io等待时间 |
oracledb_tablespace_bytes | 表空间大小,单位:字节 |
oracledb_tablespace_max_bytes | 表空间最大字节数 |
oracledb_tablespace_free | 剩余表空间 |
oracledb_tablespace_used_percent | 表空间使用百分比 |
oracledb_process_count | 进程计数 |
oracledb_resource_current_utilization | 资源当前利用率 |
oracledb_resource_limit_value |
资源限制值
|