orabbix 監控oracle

一 、Orabbix 介紹

orabbix是一個用來監控oracle數據庫性能的zabbix插件工具,通過安裝在被監控服務器上客戶端上收集數據並傳給zabbix服務器端,然後通過調用圖形顯示。具有以下功能:

1. 數據庫版本

2. 歸檔文件

3. 等待的事件(如文件的I/O,單塊的讀,多塊的讀,直接讀,SQLNet消息,控制文件I/O,日誌寫等)

4. HitRatio(監控Hit Ratio的觸發,表/存儲過程,SQLArea,Body)

5. 邏輯I/O(當前讀操作,持續的讀操作,塊的更改)

6. PGA

7. SGA(固定的緩衝,JAVApool,Large Pool,Log Buffer,Shared Pool,Buffer Cache)

8. 物理I/O(重寫操作,數據文件寫操作,數據文件讀操作)

9. SharePool(PoolDictionary Cache, Pool Free Memory, Library Cache,Sql Area ,Misc.)

10. Pin Hit Ratio(monitor Hit Ratio on Trigger, Tables/Procedures, SQLArea,Body)

11. Session/Processes(monitor Sessions and processes)

12. Session (ActiveSession, Inactive Sessions, System Session)


二、創建Oracle監控賬號並賦權

CREATE  USER zabbix IDENTIFIED BY ys_zb_0418 DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
 
GRANT  ALTER SESSION TO zabbix;
GRANT CREATE SESSION TO zabbix;
GRANT CONNECT TO zabbix;
ALTER USER zabbix DEFAULT ROLE ALL;
GRANT SELECT ON V_$INSTANCE TO zabbix;
GRANT SELECT ON DBA_USERS TO zabbix;
GRANT SELECT ON V_$LOG_HISTORY TO zabbix;
GRANT SELECT ON V_$LOG TO zabbix;
GRANT SELECT ON V_$PARAMETER TO zabbix;
GRANT SELECT ON SYS.DBA_AUDIT_SESSION TO zabbix;
GRANT SELECT ON V_$LOCK TO zabbix;
GRANT SELECT ON DBA_REGISTRY TO zabbix;
GRANT SELECT ON V_$LIBRARYCACHE TO zabbix;
GRANT SELECT ON V_$SYSSTAT TO zabbix;
GRANT SELECT ON V_$PARAMETER TO zabbix;
GRANT SELECT ON V_$LATCH TO zabbix;
GRANT SELECT ON V_$PGASTAT TO zabbix;
GRANT SELECT ON V_$SGASTAT TO zabbix;
GRANT SELECT ON V_$LIBRARYCACHE TO zabbix;
GRANT SELECT ON V_$PROCESS TO zabbix;
GRANT SELECT ON DBA_DATA_FILES TO zabbix;
GRANT SELECT ON DBA_TEMP_FILES TO zabbix;
GRANT SELECT ON DBA_FREE_SPACE TO zabbix;
GRANT SELECT ON V_$SYSTEM_EVENT TO zabbix;
GRANT SELECT ON V_$locked_object TO zabbix;
GRANT SELECT ON dba_objects TO zabbix;
GRANT SELECT ON dba_tablespaces TO zabbix;
GRANT SELECT ON v_$SESSION TO zabbix;

注意: 如果是oracle11g的數據庫版本,還需要執行下面的語句開放ACL的訪問控制,否則在監控的過程中有部份內容無法正常顯示(例於數據庫版本,數據庫文件大小等),而且orabbix的日誌顯示中也會有錯誤提示

    exec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description=> 'resolve acl', principal =>'ZABBIX', is_grant => trueprivilege => 'resolve');

    exec dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*');

    commit;

 

    # --執行過程

    SQLexec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description=> 'resolve acl', principal =>'ZABBIX', is_grant => trueprivilege => 'resolve');

 

    PL/SQLprocedure successfully completed.

 

    SQLexec dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*');

 

    PL/SQLprocedure successfully completed.

 

    SQLcommit;

 

    Commit complete.

 

    SQL>



三、安裝配置orabbix

  1. 安裝JDK

    tar -xf jdk-7u79-linux-x64.tar.gz -C /usr/local/

  2. 安裝orabbix

    下載地址:http://www.smartmarmot.com/product/orabbix/download/

   # mdkir -p /usr/local/orabbix
   # mv orabbix-1.2.3.zip /usr/local/orabbix
   # unzip orabbix-1.2.3.zip
   # chmod +x run.sh
      # cp init.d/orabbix /etc/init.d/
      # sed -i 's#/opt/orabbix#orabbix=/usr/local/orabbix#g' /etc/init.d/orabbix
      # chmod +x /etc/init.d/orabbix
      # sed -i 's#java#//usr/local/jdk1.7.0_79/bin/java#g' /usr/local/orabbix/run.sh

    準備orabbix 配置文件      

     # cp config.props.sample  config.props
     # vim config.props


image.png  

image.png

需要注意的是DatabaseList=App01指的是被監控服務器的名稱,該名稱要和zabbix server界面中的機器名稱保持一致,該配置文件中後續所引用的設定都以該名稱爲準。

App01.Url=jdbc:oracle:thin:@ 192.168.154.130:1521:orcl指定的是被監控服務器的連接信息(例如採用jdbc的聯接方式,服務器地址是 192.168.154.130,oracle的端口是1521,orcl指的是數據庫的實例名稱)


3. 配置 orabbix 啓動腳本 並啓動orabbix

# service orabbix start


4. 導入oracle 監控模板

Configuration->Template->Import

image.png




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章