可監(jiān)控項(xiàng)
使用zabbix監(jiān)控oracle數(shù)據(jù)庫需要借助第三方的插件,目前使用較多的是orabbix。目前維護(hù)到了1.2.3版本。關(guān)于oracle自帶的監(jiān)控項(xiàng)目有以下幾個:
DB Version (i.e. Validity of package)數(shù)據(jù)庫版本
Archiving (Archive log production with trend analysis)歸檔文件
Event Waits (Files I/O, single block read, multi-block read, direct path read, SQLNet Messages, Control file I/O, Log Write)等待的事件
Hit Ratio (Hit Ratio on Triggers, Tables/Procedures, SQL Area, Body)
Logical I/O (Server performance on Logical I/O of: Current Read, Consistent Read, Block Change)邏輯I/O
Physical I/O (Redo Writes, Datafile Writes, Datafile Reads)物理I/O
PGA
SGA (In particular; Fixed Buffer, Java Pool, Large Pool, Log Buffer, Shared Poolm Buffer Cache)
Shared Pool (Pool Dictionary Cache, Pool Free Memory, Library Chache, SQL Area, MISC.)共享池
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)
Sessions / Processes會話數(shù)和進(jìn)程數(shù)
Sessions (Active Sessions, Inactive Sessions, System Sessions)
DBSize/DBFileSize (DBSize size of database really used space and of Filesize)數(shù)據(jù)庫大小
環(huán)境準(zhǔn)備
Oracle11g、jdk1.7以上、orabbix-1.2.3.zip
實(shí)施流程:安裝Oracle>>創(chuàng)建指定用戶>>JDK環(huán)境變量>>配置Orabbix>>web界面導(dǎo)入模板>>對應(yīng)主機(jī)添加模板>>檢查:查看圖形是否正常
- 安裝Oracle11g
參考http://www.itdecent.cn/p/64747ac09853
1、創(chuàng)建zabbix用戶
- 1 Create User
CREATE USER ZABBIX IDENTIFIED BY "zabbix" DEFAULT TABLESPACE SYSTEM TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
2、授予權(quán)限
– 2 Roles for ZABBIX
GRANT CONNECT,RESOURCE TO ZABBIX;
ALTER USER ZABBIX DEFAULT ROLE ALL;
GRANT SELECT ANY TABLE TO ZABBIX;
GRANT CREATE SESSION TO ZABBIX;
GRANT SELECT ANY DICTIONARY TO ZABBIX;
GRANT UNLIMITED TABLESPACE TO ZABBIX;
GRANT SELECT ANY DICTIONARY TO ZABBIX;
如果只是為了滿足orabbix自帶的監(jiān)控項(xiàng)目,可以只授予zabbix如下權(quán)限,略過上面這一段,直接執(zhí)行下面的語句:
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_$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;
2、oracle 11g需要執(zhí)行如下,添加acl列表
exec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description => 'resolve acl', principal =>'ZABBIX', is_grant => true, privilege => 'resolve');
exec dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*');
commit;
安裝jdk1.7,配置環(huán)境變量
參考http://www.itdecent.cn/p/0067536a5247安裝orabbix
下載https://sourceforge.net/projects/orabbix/orabbix-1.2.3.zip
[root@localhost ~]# mkdir /opt/orabbix --創(chuàng)建安裝目錄
[root@localhost ~]# cp orabbix-1.2.3.zip /opt/orabbix/
[root@localhost orabbix]# cd /opt/orabbix/ &&unzip orabbix-1.2.3.zip --解壓安裝包
[root@localhost orabbix]# cp ./conf/config.props.sample conf/config.props --復(fù)制配置文件
[root@localhost orabbix]# cp init.d/orabbix /etc/init.d/ --復(fù)制啟動項(xiàng)
[root@localhost orabbix]# chmod 755 /etc/init.d/orabbix /opt/orabbix/run.sh--授執(zhí)行權(quán)限
[root@localhost orabbix]# chkconfig orabbix on --加入開機(jī)啟動
腳本:
#!/bin/bash
mkdir /opt/orabbix
cp orabbix-1.2.3.zip /opt/orabbix/
cd /opt/orabbix/ &&unzip orabbix-1.2.3.zip
cp ./conf/config.props.sample conf/config.props
cp init.d/orabbix /etc/init.d/
chmod 755 /etc/init.d/orabbix /opt/orabbix/run.sh
chkconfig orabbix on
- 配置orabbix,編輯conf/config.props配置文件
[root@localhost orabbix]# vim conf/config.props
ZabbixServerList=ZabbixServer --ZabbixServer為修改后內(nèi)容
ZabbixServer.Address=192.168.2.3 --IP對應(yīng)Zabbix Server地址
ZabbixServer.Port=10051 --Port對應(yīng)Zabbix Server監(jiān)聽端口
DatabaseList=orcl --DatabaseList填寫的值和web頁面上主機(jī)的名稱一致,不然會獲取不到值
這下面的orcl.***用的是DatabaseList的值orcl
orcl.Url=jdbc:oracle:thin:@數(shù)據(jù)庫地址:端口:實(shí)例名
orcl.User=zabbix
orcl.Password=zabbix
orcl.MaxActive=10
orcl.MaxWait=100
orcl.MaxIdle=1
orcl.QueryListFile=./conf/query.props
- 啟動orabbix,查看日志是否有報錯信息
[root@server orabbix]# /etc/init.d/orabbix start
[root@server orabbix]# tail -f /opt/orabbix/logs/orabbix.log
2017-11-10 10:22:41,230 [main] INFO Orabbix - Starting Orabbix Version 1.2.3
2017-11-10 10:22:41,268 [main] INFO Orabbix - Orabbix started with pid:2891
2017-11-10 10:22:41,268 [main] INFO Orabbix - PidFile -> ./logs/orabbix.pid
2017-11-10 10:22:41,591 [main] INFO Orabbix - DB Pool created: org.apache.commons.dbcp.datasources.SharedPoolDataSource@6ed279e2
2017-11-10 10:22:41,591 [main] INFO Orabbix - URL=jdbc:oracle:thin:@這是Oracle服務(wù)器IP:1521:orcl
2017-11-10 10:22:41,591 [main] INFO Orabbix - maxPoolSize=10
2017-11-10 10:22:41,591 [main] INFO Orabbix - maxIdleSize=1
2017-11-10 10:22:41,591 [main] INFO Orabbix - maxIdleTime=1800000ms
2017-11-10 10:22:41,591 [main] INFO Orabbix - poolTimeout=100
2017-11-10 10:22:41,592 [main] INFO Orabbix - timeBetweenEvictionRunsMillis=-1
2017-11-10 10:22:41,592 [main] INFO Orabbix - numTestsPerEvictionRun=3
2017-11-10 10:22:42,547 [main] INFO Orabbix - Connected as ZABBIX
2017-11-10 10:22:42,550 [main] INFO Orabbix - --------- on Database -> orcl
2017-11-10 10:22:43,038 [pool-1-thread-1] INFO Orabbix - Done with dbJob on database 這是Oracle服務(wù)器IP QueryList elapsed time 409 ms
2017-11-10 10:23:42,668 [pool-1-thread-2] INFO Orabbix - Done with dbJob on database 這是Oracle服務(wù)器IP QueryList elapsed time 22 ms
2017-11-10 10:24:43,009 [pool-1-thread-3] INFO Orabbix - Done with dbJob on database 這是Oracle服務(wù)器IP QueryList elapsed time 344 ms
2017-11-10 10:25:42,722 [pool-1-thread-4] INFO Orabbix - Done with dbJob on database 這是Oracle服務(wù)器IP QueryList elapsed time 31 ms
2017-11-10 10:26:43,046 [pool-1-thread-5] INFO Orabbix - Done with dbJob on database 這是Oracle服務(wù)器IP QueryList elapsed time 318 ms
- Zabbix Web界面導(dǎo)入orabbix模板.選擇模板文件Orabbix_export_full.xml
[root@localhost template]# pwd
/opt/orabbix/template
[root@localhost template]# ls
Orabbix_export_full.xml Orabbix_export_graphs.xml Orabbix_export_items.xml Orabbix_export_triggers.xml
——————1
編輯Orabbix_export_full.xml文件
將19行<group>TEMPLATES</group>編輯為<group>TEMPLATES_ORACLE</group>
不然會提示"TEMPLATES"已存在,無法更新主機(jī);導(dǎo)入成功會創(chuàng)建一個名為"TEMPLATES_ORACLE"的群組,添加模板時需要選定此群組才能看到新導(dǎo)入的模板信息
——————2
主機(jī)添加Template_Oracle模板時會提示"鍵值vm.memory.size[total]已存在",說明Template OS Linux模板中已經(jīng)有了此項(xiàng)觸發(fā)器,所有找到Template_Oracle模板中的這一項(xiàng)刪除掉即可添加。
——————3
Orabbix無法獲取Oracle DB Size和DB Files Size的解決方法
參考:http://www.itdecent.cn/p/440d7efc11cd
web界面導(dǎo)入操作:配置>>模板>>右上角導(dǎo)入>>選擇Orabbix_export_full.xml>>點(diǎn)擊導(dǎo)入>>點(diǎn)擊模板查看
web界面主機(jī)添加模板操作:配置>>主機(jī)>>選擇要添加模板的主機(jī)>>點(diǎn)擊模板選項(xiàng)>>選擇新導(dǎo)入模板>>先添加后更新
查看新添加的圖形信息:監(jiān)測中>>圖形>>選定對應(yīng)的主機(jī)>>查看對應(yīng)圖形(shared pool、PGA、Session/Process、Logical IO等)