注意,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命令下载
解压
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
配置用户级别的环境变量
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
结果报如下错误:
根据提示信息,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
完成了这些配置后,我再次启动,发现仍然报错:
还是之前的错误(当场懵逼)
逼上梁山,我被迫点进入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
访问发现有这么多数据,说明确实启动成功了!!
修改prometheus.yml增加对oracledb_exporter的监控
######################## Oracle监控 ##########################
- job_name: 'oracle'
metrics_path: '/metrics'
static_configs:
- targets: ['xxx.xxx.xxx.xxx:9161']
配置完成之后,重启prometheus,访问prometheus的UI界面
配置完成!!!撒花!!!
export DATA_SOURCE_NAME=firefly/eastcom
不要加@serviceln -s libclntsh.so.18.1 libclntsh.so
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_45464560/article/details/121767427
内容来源于网络,如有侵权,请联系作者删除!