zoukankan      html  css  js  c++  java
  • zabbix-ODBC-oracle

    odbc版本向下兼容,本次使用的是18.5版本的

    在zabbix-server上安装
    yum -y install unixODBC unixODBC-devel

    下载以下4个包

    -rw-r--r-- 1 root root 51528664 6月   3 12:27 oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm
    -rw-r--r-- 1 root root   609896 6月   3 12:25 oracle-instantclient18.5-devel-18.5.0.0.0-3.x86_64.rpm
    -rw-r--r-- 1 root root   257264 6月   3 12:24 oracle-instantclient18.5-odbc-18.5.0.0.0-3.x86_64.rpm
    -rw-r--r-- 1 root root   709112 6月   3 12:26 oracle-instantclient18.5-sqlplus-18.5.0.0.0-3.x86_64.rpm
    

    本地安装
    yum localinstall oracle-instantclient18.5-*

    安装位置分别在

    /usr/share/oracle/18.5/client64
    /usr/include/oracle/18.5/client64
    /usr/lib/oracle/18.5/client64
    

    设置环境变量之前,在/usr/lib/oracle/18.5/client64下创建network/admin文件夹,
    mkdir /usr/lib/oracle/18.5/client64/network/admin -p

    配置sqlplus连接扩展

    network/admin下创建tnsnames.ora

    test_oracle=
       (DESCRIPTION =
         (ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = PORT))
         (CONNECT_DATA =
            (SERVER = DEDICATED)
            (SERVICE_NAME = 数据库SID)
         )
        )
    

    创建sqlnet.ora 作用是配置解析顺序, name/password@xxxxx xxxx会先去tnsnames寻找这个名字,没有的话会解析为ip
    NAME_DIRECTORY_PATH=(TNSNAMES,EZCONNECT)

    配置环境变量
    环境变量必须配置,否则会造成[01000] [unixODBC][Driver Manager]Can't open lib '/usr/lib64/lxxxxx.so' : file not found

    export ORACLE_HOME=/usr/lib/oracle/18.5/client64
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64:$LD_LIBRARY_PATH
    export TNS_ADMIN=$ORACLE_HOME/network/admin
    export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
    

    配置需要的类库

    chmod +x /usr/lib/oracle/18.5/client64/lib/libsqora.so.18.1
    cd /usr/lib64/
    ln -s libodbcinst.so.2.0.0  libodbcinst.so.1
    

    添加oracle驱动

    # vim  /etc/odbcinst.ini
    [oracle]
    Description     = Oracle ODBC driver for Oracle 11g
    Driver          = /usr/lib/oracle/18.5/client64/lib/libsqora.so.18.1
    

    添加oracle数据源

    # vim  /etc/odbc.ini 
    [DSN名称]                                将在zabbix item key中使用
    Driver= oracle                          tnsnames.ini 配置的驱动名称
    ServerName= ip:port/sid        ip:port/sid
    UserID= 用户名                        用户名
    Password= 密码                       密码
    

    isql测试

    isql -v test 
    检测是否可连接及中间如遇到报错的错误信息
    isql test
    +---------------------------------------+
    | Connected!                                                |
    |                                                                     |
    | sql-statement                                            |
    | help [tablename]                                       |
    | quit                                                             | 
    |                                                                     |
    +---------------------------------------+
    

    sqlplus测试连接

    # sqlplus 用户名/密码@tnsnames.ora中配置的连接名称
    
    SQL*Plus: Release 11.2.0.3.0 Production on Wed Jul 19 11:39:18 2017
    
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    
    
    Connected to:
    
    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    
    SQL> exit
    

    zabbix配置

    出现的问题

    1. 以nologin用户启动的监控系统,配置上监控项之后,报错

      需要查找zabbix服务的环境变量文件 没有则新建 默认情况在 /etc/sysconfig 下 server 新建zabbix-server proxy新建zabbix-proxy
      对于自定义的zabbix服务,可以查询相关的service文件查找环境变量文件路径
      cat /usr/lib/systemd/system/sdata-server.service

      编辑该文件即可
      在其中添加
    vim /etc/sysconfig/zabbix-server
    LD_LIBRARY_PATH=/usr/lib/oracle/18.5/client64/lib
    

    重启servewr服务即可
    官方issue https://support.zabbix.com/browse/ZBX-12450

    sql的自动发现

    https://www.zabbix.com/documentation/4.0/zh/manual/discovery/low_level_discovery/sql_queries

  • 相关阅读:
    python2在安装pywin32后出现ImportError: DLL load failed 解决方法
    selenium webdriver 启动三大浏览器Firefox,Chrome,IE
    windows下创建Python虚拟环境
    个人随笔
    在Pycharm中使用jupyter笔记本
    python之socket网络编程
    如何创建一个Django项目
    在Ubuntu终端彻底删除软件
    Ubuntu16.04下安装redis
    postgresql11 查看表结构和系统视图
  • 原文地址:https://www.cnblogs.com/0916m/p/13039881.html
Copyright © 2011-2022 走看看