Prometheus监控oracle的配置

1、下载oracle_exporter

注意,oracle_exporter要和Oracle安装在同一个服务器上

直接到https://github.com/iamseth/oracledb_exporter/releases下载
或者

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz

wget命令下载

2、解压并授权

解压

tar -xvf oracledb_exporter.0.2.3.linux-amd64.tar.gz

授权oracledb_exporter

cd oracledb_exporter.0.2.3.linux-amd64
chmod 777 oracledb_exporter

3、启动oracledb_exporter前的配置

环境变量配置

配置用户级别的环境变量

vim ~/.bash_profile

添加如下环境变量

# oracle环境变量
ORACLE_BASE=/orcl/app/oracle
export ORACLE_SID=ipmsfs
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
# oracledb_exporter环境变量
export DATA_SOURCE_NAME=firefly/eastcom
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

注意:这里export DATA_SOURCE_NAME=firefly/eastcom 是用户名/密码,切记不要加上@service,我之前写的是export DATA_SOURCE_NAME=firefly/eastcom@ipmsfs结果在启动oracledb_exporter时出现这样的错误
在这里插入图片描述
修改bash_profile完成后,执行

source ~/.bash_profile

加载更新的配置信息

共享库配置

当然配置了这些之后,我们开始./oracledb_exporter启动oracledb_exporter
结果报如下错误:

./oraceldb_exporter: error while loading shared libraries: libclntsh.so.18.1:can not shared object file: No such file or directory

根据提示信息,libclntsh.so.18.1:can not shared object file,找不到libclntsh.so.18.1这个文件(这是一个共享库文件)
在网上找的解决方式是“编辑/etc/ld.so.conf文件,将LD_LIBRARY_PATH的路径加入最后一行”
开始编辑:

注意:编辑/etc/ld.so.conf这个文件需要 root授权,可以在命令之前加sudo授权命令也可以切换成root用户去操作/etc/ld.so.conf这个文件

sudo vi /etc/ld.so.conf

添加的内容:

/orcl/app/oracle/product/12.1.0/db_1/lib/libclntsh.so.18.1

修改之后,再执行ldconfig加载更新的内容,和source 命令类似,不过这里也需要授权

sudo ldconfig

完成了这些配置后,我再次启动,发现仍然报错:

./oraceldb_exporter: error while loading shared libraries: libclntsh.so.18.1:can not shared object file: No such file or directory

还是之前的错误(当场懵逼)

逼上梁山,我被迫点进入LD_LIBRARY_PATH这个目录,也就是/orcl/app/oracle/product/12.1.0/db_1/lib/看看究竟有没有libclntsh.so.18.1这个文件

cd /orcl/app/oracle/product/12.1.0/db_1/lib/

发现 果然不存在libclntsh.so.18.1
在这里插入图片描述看着里面有libclntsh.so.10.1、libclntsh.so.11.1这些软连接,而且他们都指向libclntsh.so这个文件,我也创建一个libclntsh.so.18.1的软连接同样指向libclntsh.so

ln -s libclntsh.so.18.1 libclntsh.so

软连接其实相当于windows中创建的桌面快捷方式或者快捷方式

结果我再次启动./oracledb_exporter果然成功了!
在这里插入图片描述
当然我们启动oracledb_exporter最好以不挂断、后台运行的方式启动

nohup ./oracledb_exporter &

然后访问http://ip:9161/metrics,oracledb_exporter默认启动端口号是9161
在这里插入图片描述
访问发现有这么多数据,说明确实启动成功了!!

4、配置Prometheus

修改prometheus.yml增加对oracledb_exporter的监控

######################## Oracle监控 ##########################
  - job_name: 'oracle'
    metrics_path: '/metrics'
    static_configs:
    - targets: ['xxx.xxx.xxx.xxx:9161']

配置完成之后,重启prometheus,访问prometheus的UI界面
在这里插入图片描述

配置完成!!!撒花!!!

踩过的坑

  • 确保oracledb_exporter的启动用户与oracle启动用户保持一致,这一点尤为重要
  • export DATA_SOURCE_NAME=firefly/eastcom不要加@service
  • 报错:不存在libclntsh.so.18.1这个共享库,就到/orcl/app/oracle/product/12.1.0/db_1/lib(你的对应的LD_LIBRARY_PATH路径)中创建一个软连接ln -s libclntsh.so.18.1 libclntsh.so
  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

coderzpw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值