您好,登錄后才能下訂單哦!
本篇內容主要講解“Zabbix如何監控Oracle”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Zabbix如何監控Oracle”吧!
Orabbix簡介
Orabbix是設計用來為zabbix監控Oracle的數據庫的插件,它提供多層次的監控,包括可用性和服務器性能的指標。
它提供了從眾多Oracle實例采集的有效機制,進而提供此信息的監控和性能指標。然后,您可以利用的zabbix的報告功能為收集的所有數據,并提供分析。目前的發行版中包含了一組預先定義的模板,包括從初始部署報警和圖形功能。然而,這些可以進行微調,以滿足您額需求和數據/監控要求。
Orabbix監控的內容
1、數據庫版本
2、歸檔日志與生產趨勢
3、觸發器,表/過程命中率
4、邏輯IO性能
5、物理IO性能
6、PGA
7、SGA
8、共享池
9、Session
10、數據庫大小
Orabbix 是一個用來監控 Oracle 數據庫實例的 Zabbix 插件。(插件安裝在zabbix-server端)
下載地址: http://www.smartmarmot.com/product/orabbix/download/
zabbix-server上操作
Orabbix是通過JDBC去連接oracle數據庫,然后過濾想要的數據,所以需要jdk環境
我測試過jdk1.7和1.8都可以,直接yum安裝,或者下載rpm包,rpm -ivh安裝,都可以
這里,我是直接rpm安裝的,
[root@zabbix ~]# rpm -ivh jdk-8u102-linux-x64.rpm
Preparing... ########################################### [100%]
1:jdk1.8.0_102 ########################################### [100%]
在/opt目錄下新建一個orabbix目錄:
[root@oracle orabbix]#mkdir -p /opt/orabbix
(建議在此目錄下,如果放置其他目錄稍后需要更改orabbix的啟動文件orabbix,啟動文件默認寫在opt/orabbix目錄下 )
[root@zabbix opt]# cd orabbix/
上傳orabbix-1.2.3.zip
[root@zabbix orabbix]# ls
orabbix-1.2.3.zip
解壓
[root@zabbix orabbix]# unzip -q orabbix-1.2.3.zip
[root@zabbix orabbix]# ls
conf init.d lib orabbix-1.2.3.zip orabbixw.exe run.sh uninstall.cmd
doc install.cmd orabbix-1.2.3.jar orabbix.exe run.bat template
授權
[root@zabbix orabbix]# cd ..
[root@zabbix opt]# chmod -R a+x orabbix/
[root@zabbix ~]# cd /opt/orabbix/conf/
[root@zabbix conf]# ls
config.props log4j.properties query_a_1.props query_b.props query.props
config.props.sample log4j.properties.sample query_a.props query - Copy.props query.props.sample
[root@zabbix conf]# cp config.props.sample config.props
編輯配置文件:
[root@zabbix conf]# vim config.props
源配置文件
[root@zabbix conf]# egrep "^[a-Z,1-9]" config.props.sample
ZabbixServerList=ZabbixServer1,ZabbixServer2
ZabbixServer1.Address=IP_ADDRESS_OF_ZABBIX_SERVER
ZabbixServer1.Port=PORT_OF_ZABBIX_SERVER
ZabbixServer2.Address=IP_ADDRESS_OF_ZABBIX_SERVER
ZabbixServer2.Port=PORT_OF_ZABBIX_SERVER
OrabbixDaemon.PidFile=./logs/orabbix.pid
OrabbixDaemon.Sleep=300
OrabbixDaemon.MaxThreadNumber=100
DatabaseList=DB1,DB2,DB3
DatabaseList.MaxActive=10
DatabaseList.MaxWait=100
DatabaseList.MaxIdle=1
DB1.Url=jdbc:oracle:thin:@server.domain.example.com:<LISTENER_PORT>:DB1
DB1.User=zabbix
DB1.Password=zabbix_password
DB1.MaxActive=10
DB1.MaxWait=100
DB1.MaxIdle=1
DB1.QueryListFile=./conf/query.props
DB2.Url=jdbc:oracle:thin:@server2.domain.example.com:<LISTENER_PORT>:DB2
DB2.User=zabbix
DB2.Password=zabbix_password
DB2.QueryListFile=./conf/query.props
DB3.Url=jdbc:oracle:thin:@server3.domain.example.com:<LISTENER_PORT>:DB3
DB3.User=zabbix
DB3.Password=zabbix_password
DB3.QueryListFile=./conf/query.props
修改之后
[root@zabbix conf]# egrep "^[a-Z,1-9]" config.props
ZabbixServerList=ZabbixServer1 #(zabbixserver的名字,下行中address和port都引用到了這個名字,所以下面兩行的前綴名字要與這里的名字保持一致)
ZabbixServer1.Address=127.0.0.1 #我這里就是在zabbix server上面操作的,所以這里是127.0.0.1
ZabbixServer1.Port=10051 #zabbix server的服務端口
OrabbixDaemon.PidFile=./logs/orabbix.pid
OrabbixDaemon.Sleep=300
OrabbixDaemon.MaxThreadNumber=100
DatabaseList=172.20.10.183-oracle,192.168.56.99-oracle #這里很重要,跟下面的對應上
DatabaseList.MaxActive=10
DatabaseList.MaxWait=100
DatabaseList.MaxIdle=1
172.20.10.183-oracle.Url=jdbc:oracle:thin:@172.20.10.183:1521:orcl #172.20.10.183 oracle數據庫的地址,1521端口,orcl數據庫實例名
172.20.10.183-oracle.User=zabbix #授權的賬號
172.20.10.183-oracle.Password=zabbix #授權的密碼
172.20.10.183-oracle.MaxActive=10
172.20.10.183-oracle.MaxWait=100
172.20.10.183-oracle.MaxIdle=1
172.20.10.183-oracle.QueryListFile=./conf/query.props #要查詢的語句都在這定義的,不滿意自己改
oracle主機上操作(這步可以省略,只要知道數據庫實例,賬號,密碼)
下面是oracle 11g的(12c 語法不一樣)授權語句如下,創用戶,授權,這些操作,我都是在oracle數據庫的sqlplus下執行的
登錄數據庫并授予用戶相關權限即可。
DatabaseList中放的是被監控的數據庫主機名,該名稱要和zabbix server界面中的機器名稱保持一致
你會發現有一些監控項dbfilesize,dbsize沒有值,這是因為/opt/orabbix/conf/query.props文件沒有把這兩個加入進查詢的List下面,可以從query.props.sample把這兩項復制進去
在QueryList最后面加上dbfilesize,dbsize
然后在文件末尾加入:
1 2 3 4 5 6 7 8 |
|
在oracle數據庫上創建zabbix用戶,并授權
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
如果需要嚴格的權限控制,可以執行如下腳本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
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; |
啟動orabbix
[root@zabbix orabbix]# cp init.d/orabbix /etc/init.d/
[root@zabbix orabbix]# ll /etc/init.d/orabbix
-rwxr-xr-x 1 root root 1693 Sep 14 21:40 /etc/init.d/orabbix
[root@zabbix orabbix]# /etc/init.d/orabbix start
linux7 啟動orabbix
1 2 3 | chkconfig --add orabbix systemctl start orabbix chkconfig orabbix on |
Starting Orabbix service:
報錯的話,檢查配置文件,數據庫地址,端口,實例名,賬號,密碼是否正確,需要驗證對于不懂oracle的怎么辦,搜命令唄,我也是一路過來,各種坑~~~~~
然后里面看日志
[root@zabbix orabbix]# tailf /opt/orabbix/logs/orabbix.log
[main] INFO Orabbix - --------- on Database -> orcl
[pool-1-thread-1] WARN Orabbix - Error while executing ->dbversion- on database ->172.20.10.183-oracle- Exception received ORA-24247: network access denied by access control list (ACL)
ORA-06512: at "SYS.UTL_INADDR", line 4
ORA-06512: at "SYS.UTL_INADDR", line 35
ORA-06512: at line 1
出現這些日志,不影響后面的操作
如果是oracle11g用戶還需要開放ACL訪問控制
1 2 3 |
|
到此,安裝配置完成,則通過web頁面訪問監控界面直接導入模板即可
模版放置在/opt/orabbix/template下
Orabbix_export_full.xml #只需要導入這個一個模板就好
添加主機
然后鏈接oracle的模板
添加完成之后的效果
查看最新數據
這時候圖也有了
常見錯誤
[root@zabbix orabbix]# tailf /opt/orabbix/logs/orabbix.log
[main] ERROR Orabbix - Error on Configurator for database 172.20.10.183 oracle -->ORA-01017: invalid username/password; logon denied
config.props配置文件中,數據庫賬號密碼不對,或者在oracle數據庫沒授權這個用戶
到此,相信大家對“Zabbix如何監控Oracle”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。