• Prometheus监控oracle的配置


    告警https://sysdig.com/blog/monitor-oracle-database-prometheus/

    Prometheus监控oracle的配置
    1、下载oracle_exporter
    2、解压并授权
    3、启动oracledb_exporter前的配置
    环境变量配置
    共享库配置
    4、配置Prometheus
    踩过的坑
    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
    1
    添加如下环境变量

    # 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
    ————————————————
    版权声明:本文为CSDN博主「coderzpw」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_45464560/article/details/121767427

  • 相关阅读:
    Linux cat和EOF的使用
    Linux sleep命令 和 wait命令
    Linux watch 命令
    Linux下cut命令用法
    Linux tr 命令使用
    python sqlite3使用
    SQLite数据库安装与使用
    mysql出现错误“ Every derived table must have its own alias”
    cocos2D(二)---- cocos2D文档的使用
    sqlite3 脚本的使用
  • 原文地址:https://www.cnblogs.com/cheyunhua/p/16501539.html
Copyright © 2020-2023  润新知