Апр 172012
 

При использовании связки zabbix+orabbix для мониторинга ретро-баз (9i), в логе orabbix можно увидеть вот такие ошибки:

2012-04-17 18:24:01,157 [pool-1-thread-14] WARN Orabbix - Error while executing ->dbversion- on database ->mydb- Exception received ORA-02003: invalid USERENV parameter

2012-04-17 18:24:01,157 [pool-1-thread-14] ERROR Orabbix - Error on DBEnquiry on query=dbversion on database=mydb Error returned is java.lang.IllegalArgumentException: null value for key 'dbversion'

Причина такого непотребства в том, что запрос, получающий информацию о версии БД и компонентов, написан для БД 10-й версии и выше. Избавимся от этой проблемы:

  1. Зайдём в каталог, куда установлен orabbix. В моём примере zabbix+orabbix работает на - CentOS 6.2.
    cd /opt/orabbix
  2. Создадим отдельный файл запросов для 9i - баз:
    cp conf/query.props conf/query.9i
  3. Отредактируем файл query.9i, для этого найдём в нём запись
    dbversion.Query=......
    

    И заменим её на

    dbversion.Query=SELECT COMP_ID||' '||COMP_NAME||' '|| \
    VERSION||' '||STATUS||' <br />' \
    FROM dba_registry \ 
    UNION SELECT ' - SERVERNAME = <b>'||UTL_INADDR.get_host_name || \
    '</b> - SERVERADDRESS = <b>'||UTL_INADDR.get_host_address|| \
    '</b> <br />' \
    FROM dual \
    UNION \
    SELECT ' - DB_NAME = <b>'|| \
    (SELECT VALUE FROM v$parameter WHERE name = 'db_name') || \
    '</b> - INSTANCE_NAME = <b>' || \
    (SELECT VALUE FROM v$parameter WHERE name = 'instance_name')|| \
    '</b> <br />' FROM dual
  4. Поправим файл conf/config.props, где укажем, что для нашей базы надо использовать именно этот файл запросов.
    Добавим такую запись для всех девяточных баз:

    mydb.QueryListFile=./conf/query.9i
    
  5. Теперь надо либо дождаться, пока настройки подхватятся (это произойдёт через время, указанное в параметре OrabbixDaemon.Sleep), либо перезапустить демон orabbix:

    /etc/init.d/orabbix restart

    Кстати, для ленивых товарищей, не желающих вручную править файл, я сделал патчик.
    Применяется он так:

    bzcat 9i.patch.bz2 | patch -e query.9i

    Внимание: этот патч можно применять только на файл запросов, идущий в комплекте с Orabbix версии 1.2.3!

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">

(обязательно)

(обязательно)