Ad Widget

Collapse

Oracle ODBC monitoring

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • netwalk
    Junior Member
    • Jun 2017
    • 2

    #1

    Oracle ODBC monitoring

    Настраиваю согласно статьям мониторинг Oracle 11.2.0.4 через прокси

    В статье будет рассмотрена возможность мониторинга база данных по средствам встроенной в Zabbix поддержке ODBC, c использованием автообнаружения объектов. Для начала рассмотрим доступные для Zabbix...



    Все что настраивается на прокси
    Code:
    cat /etc/odbc.ini
    [SOME_NAME]
    Driver		= OracleDriver
    UserID		= zabbix
    Password	= ZABBIX_PASS
    DSN		= SOME_DSN
    ServerName	= SOME_SN
    Code:
    cat /etc/odbcinst.ini
    [OracleDriver]
    Description=Oracle ODBC driver for Oracle 11g
    Driver=/usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1
    Code:
    # ldd /usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1
    	linux-vdso.so.1 (0x00007fff9aefa000)
    	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc1cad79000)
    	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc1caa78000)
    	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc1ca85a000)
    	libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007fc1ca642000)
    	libclntsh.so.11.1 => /usr/lib/oracle/11.2/client64/lib/libclntsh.so.11.1 (0x00007fc1c7cd3000)
    	libodbcinst.so.1 => /usr/lib/x86_64-linux-gnu/libodbcinst.so.1 (0x00007fc1c7ac0000)
    	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc1c7715000)
    	/lib64/ld-linux-x86-64.so.2 (0x000055b828869000)
    	libnnz11.so => /usr/lib/oracle/11.2/client64/lib/libnnz11.so (0x00007fc1c7348000)
    	libaio.so.1 => /lib/x86_64-linux-gnu/libaio.so.1 (0x00007fc1c7145000)
    	libltdl.so.7 => /usr/lib/x86_64-linux-gnu/libltdl.so.7 (0x00007fc1c6f3b000)

    Code:
    root@zabbix-proxy:~# cat /root/.profile 
    # ~/.profile: executed by Bourne-compatible login shells.
    
    if [ "$BASH" ]; then
      if [ -f ~/.bashrc ]; then
        . ~/.bashrc
      fi
    fi
    
    mesg n
    
    # Set up a default search path.
    PATH="/sbin:/usr/sbin:/bin:/usr/bin"
    
    ORACLE_HOME=/usr/lib/oracle/11.2/client64
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64:$LD_LIBRARY_PATH
    TNS_ADMIN=$ORACLE_HOME/network/admin
    
    PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
    
    export ORACLE_HOME
    export LD_LIBRARY_PATH
    export TNS_ADM
    Code:
    # isql -v SOME_NAME
    +---------------------------------------+
    | Connected!                            |
    |                                       |
    | sql-statement                         |
    | help [tablename]                      |
    | quit                                  |
    |                                       |
    +---------------------------------------+
    При этом на сервере из вебморды ошибка на простейший запрос(select banner from v$version where rownum=1 версии Oracle(db.odbc.select[VERSION,{$DSN}]) выдает:

    Code:
    Cannot connect to ODBC DSN:[SQL_ERROR]:[01000][0][[unixODBC][Driver Manager]Can't open lib '/usr/lib/oracle/11.2/client64/lib/libsqora.so.11.1' : file not found]|


    Уже и в профиль пользователя zabbix прописал переменные
    Code:
    zabbix@zabbix-proxy:~$ cat .profile 
    # ~/.profile: executed by the command interpreter for login shells.
    # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
    # exists.
    # see /usr/share/doc/bash/examples/startup-files for examples.
    # the files are located in the bash-doc package.
    
    # the default umask is set in /etc/profile; for setting the umask
    # for ssh logins, install and configure the libpam-umask package.
    #umask 022
    
    # if running bash
    if [ -n "$BASH_VERSION" ]; then
        # include .bashrc if it exists
        if [ -f "$HOME/.bashrc" ]; then
    	. "$HOME/.bashrc"
        fi
    fi
    
    # set PATH so it includes user's private bin if it exists
    if [ -d "$HOME/bin" ] ; then
        PATH="$HOME/bin:$PATH"
    fi
    
    PATH="/sbin:/usr/sbin:/bin:/usr/bin"
    
    ORACLE_HOME=/usr/lib/oracle/11.2/client64
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64:$LD_LIBRARY_PATH
    TNS_ADMIN=$ORACLE_HOME/network/admin
    
    PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
    
    export ORACLE_HOME
    export LD_LIBRARY_PATH
    export TNS_ADM
    Собствено вопрос:

    Некоторые особенности навели на мысль о возможности получать значения ODBC Oracle мониторинга через zabbix-proxy.
    Либо надо настраивть сам сервер?

    Либо я где то что то пропустил...
  • Semiadmin
    Senior Member
    • Oct 2014
    • 1625

    #2
    Сталкивался с подобной проблемой, правда, не на прокси, а на самом заббикс-сервере (Centos 7). Решилась созданием в /etc/sysconfig файла zabbix-server с переменными окружения в нем. Попробуйте создать файл zabbix-proxy и прописать в него для демона zabbix-proxy те же переменные окружения, которые вы прописали для юзера.

    Comment

    • netwalk
      Junior Member
      • Jun 2017
      • 2

      #3
      Originally posted by Semiadmin
      Сталкивался с подобной проблемой, правда, не на прокси, а на самом заббикс-сервере (Centos 7). Решилась созданием в /etc/sysconfig файла zabbix-server с переменными окружения в нем. Попробуйте создать файл zabbix-proxy и прописать в него для демона zabbix-proxy те же переменные окружения, которые вы прописали для юзера.
      Спасибо за наводку!

      Разместил переменные в /etc/default/zabbix-proxy и все заработало

      Comment

      Working...