zabbix-使用orabbix來監控oracle11g


Orabbix簡介說明

  1. DB Version (i.e. Validity of package)數據庫版本

  2. Archiving (Archive log production with trend analysis)歸檔文件

  3. Event Waits (Files I/O, single block read, multi-block read, direct path read, SQLNet Messages, Control file I/O, Log Write)等待的事件

  4. Hit Ratio (Hit Ratio on Triggers, Tables/Procedures, SQL Area, Body)

  5. Logical I/O (Server performance on Logical I/O of: Current Read, Consistent Read, Block Change)邏輯I/O

  6. Physical I/O (Redo Writes, Datafile Writes, Datafile Reads)物理I/O

    PGA

  7. SGA (In particular; Fixed Buffer, Java Pool, Large Pool, Log Buffer, Shared Poolm Buffer Cache)

  8. Shared Pool (Pool Dictionary Cache, Pool Free Memory, Library Chache, SQL Area, MISC.)共享池

  9. Pin Hit Ratio (Oracle library cache pin are caused by contention with the library cache, the area used to store SQL executables for re-use)

  10. Sessions / Processes**會話數和進程數**

  11. Sessions (Active Sessions, Inactive Sessions, System Sessions)

  12. DBSize/DBFileSize (DBSize size of database really used space and of Filesize)數據庫大小

下載安裝jdk8

下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

安裝步驟:

#將軟件上傳到服務器
#mkdir /usr/java
#tar -zxvf jdk-8u171-linux-x64.tar.gz
#mv jdk1.8.0_171 /usr/java/
#echo -e '# config java\nJAVA_HOME=/usr/java/jdk1.8.0_171\nCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar\n# config path\nPATH=$JAVA_HOME/bin:$PATH\nexport PATH JAVA_HOME CLASSPATH\n' >> /etc/profile
r/java/jdk1.8.0_171\nCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar\n# config path\nPATH=$JAVA_HOME/bin:$PATH\nexport PATH JAVA_HOME CLASSPATH\n' >> /etc/profile
#source /etc/profile

創建oracle監控帳號,在oracle的sqlplus窗口里面執行:

create tablespace zabbix datafile'+DATA' size 16G autoextend off;
create tablespace zabbix_idx datafile'+DATA' size 2G autoextend off;
CREATE  USER zabbix IDENTIFIED BY zabbix DEFAULT TABLESPACE zabbix 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的日志顯示中也會有錯誤提示。:

SQL> exec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description=> 'resolve acl', principal =>'zabbix', is_grant => true, privilege => 'resolve');
BEGIN dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description=> 'resolve acl', principal =>'zabbix', is_grant => true, privilege => 'resolve'); END;
*
ERROR at line 1:
ORA-30554: function-based index XDB.XDB$ACL_XIDX is disabled
ORA-06512: at "SYS.DBMS_NETWORK_ACL_ADMIN", line 258
ORA-06512: at line 1
SQL> exec dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*');
BEGIN dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*'); END;
*
ERROR at line 1:
ORA-31001: Invalid resource handle or path name "/sys/acls/resolve.xml"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_NETWORK_ACL_ADMIN", line 97
ORA-06512: at "SYS.DBMS_NETWORK_ACL_ADMIN", line 485
ORA-06512: at line 1

安裝部署orabbix

orabbix只需要安裝在一台服務器即可,orabbix就是一個oracle客戶端去查找oracle中的數據,然后傳給zabbix:

# 下載:
mkdir /usr/local/orabbix
cd /usr/local/orabbix
wget  http://nchc.dl.sourceforge.net/project/orabbix/orabbix-1.2.3.zip
# 安裝:
unzip orabbix-1.2.3.zip 
chmod +x run.sh
cp init.d/orabbix /etc/init.d/
sed -i 's#orabbix=/opt/orabbix#orabbix=/usr/local/orabbix#g' /etc/init.d/orabbix
chmod +x /etc/init.d/orabbix
sed -i 's#java#/usr/java/jdk1.8.0_171/bin/java#g' /usr/local/orabbix/run.sh    

配置config. Props:

orabbix所有的配置文件都在conf目錄中,需要將默認的配置文件config.props.sample復制一份后再進行修改和配置。

cd /usr/local/orabbix/conf
cp config.props.sample config.props
vim config.props

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

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

 

啟動orabbix服務

#啟動程序
[root@ntpd orabbix]# service orabbix start
Starting Orabbix service:
#查看啟動日志是否有報錯
[root@ntpd logs]# tail -200f orabbix.log 
 2018-06-13 16:32:46,326 [main] INFO  Orabbix - Starting Orabbix Version 1.2.3 
 2018-06-13 16:32:46,341 [main] INFO  Orabbix - Orabbix started with pid:14146
 2018-06-13 16:32:46,341 [main] INFO  Orabbix - PidFile -> ./logs/orabbix.pid
 2018-06-13 16:32:46,513 [main] INFO  Orabbix - DB Pool created: org.apache.commons.dbcp.datasources.SharedPoolDataSource@7fbe847c
 2018-06-13 16:32:46,514 [main] INFO  Orabbix - URL=jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.220.2.84)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = 192.220.2.85)(PORT = 1521))(LOAD_BALANCE = yes)(FAILOVER = yes))(CONNECT_DATA = (SERVER = DEDICATED)(FAILOVER_MODE = (TYPE = SESSION)(METHOD = BASIC))(SERVICE_NAME = orcl)(RETRIES = 1)(DELAY = 3)))
 2018-06-13 16:32:46,514 [main] INFO  Orabbix - maxPoolSize=10
 2018-06-13 16:32:46,514 [main] INFO  Orabbix - maxIdleSize=1
 2018-06-13 16:32:46,514 [main] INFO  Orabbix - maxIdleTime=1800000ms
 2018-06-13 16:32:46,514 [main] INFO  Orabbix - poolTimeout=100
 2018-06-13 16:32:46,514 [main] INFO  Orabbix - timeBetweenEvictionRunsMillis=-1
 2018-06-13 16:32:46,514 [main] INFO  Orabbix - numTestsPerEvictionRun=3
#查看進程是否存在
[root@ntpd logs]# ps aux |grep orabbix
root     14146  8.1  0.5 7059940 86192 pts/3   Sl   16:32   0:02 /usr/java/jdk1.8.0_171/bin/java -Duser.language=en -Duser.country=US -Dlog4j.configuration=./conf/log4j.properties -cp lib/commons-codec-1.4.jar:lib/commons-dbcp-1.4.jar:lib/commons-lang-2.5.jar:lib/commons-logging-1.1.1.jar:lib/commons-pool-1.5.4.jar:lib/hsqldb.jar:lib/log4j-1.2.15.jar:lib/ojdbc6.jar:.:./orabbix-1.2.3.jar com.smartmarmot.orabbix.bootstrap start ./conf/config.props

 

界面導入oracle模版文件

 

[root@ntpd template]# ll
total 228
-rw-r--r-- 1 root root 107257 Oct 25  2011 Orabbix_export_full.xml
-rw-r--r-- 1 root root  21399 Oct 25  2011 Orabbix_export_graphs.xml
-rw-r--r-- 1 root root  86724 Oct 25  2011 Orabbix_export_items.xml
-rw-r--r-- 1 root root   4911 Oct 25  2011 Orabbix_export_triggers.xml
[root@ntpd template]# pwd
/usr/local/orabbix/template
image

導入成功后:

image

將模板導入到被監控的節點:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM