Zabbix通過Orabbix監控Oracle數據庫


環境:

centos7

vmware虛擬機

IP:192.168.213.130

已安裝好zabbix3.0(紅色加粗提醒!是3.0!!!4.0和orabbix1.2.3不兼容)和Oracle數據庫。(安裝可參照我之前文檔)

Orabbix可安裝在zabbix server端,也可以安裝在zabbix agent端,爲了數據庫服務器的獨立性,這裏選擇安裝則zabbix server端。

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


1確認java jdk是否已安裝,因爲Orabbix基於java

[root@oracle ~]# java -version


如果沒有安裝則通過yum來安裝

[root@oracle ~]# yum install java



2.在/opt目錄下新建一個orabbix目錄

[root@oracle ~]# mkdir -p /opt/orabbix


放在/opt目錄下,因爲orabbix的啓動文件默認寫在/opt/orabbix目錄下


3.上傳orabbix的壓縮包到服務器

image.png


4.解壓壓縮包

[root@oracle orabbix]# unzip orabbix-1.2.3.zip

image.png


5.賦予orabbix目錄權限

[root@oracle orabbix]# chmod -R a+x /opt/orabbix/



6.將默認的配置文件複製一份作爲正式配置文件

[root@oracle orabbix]# cp /opt/orabbix/conf/config.props.sample /opt/orabbix/conf/config.props


7.編輯配置文件

[root@oracle orabbix]# vim /opt/orabbix/conf/config.props

image.png

這裏需要特別注意的是,zabbix服務器的Address、Port等和數據庫Url、User等參數的屬性,都要與ZabbixServerList和DatabaseList中所填寫的一致

DatabaseList中,建議填寫的是:主機名-數據庫實例名

同時,後面在zabbix中添加host時,host的名字需要與DatabaseList中所填寫的一致


8.創建執行文件

[root@oracle orabbix]# cp /opt/orabbix/init.d/orabbix /etc/init.d/orabbix


9.在數據庫中創建監控用戶(在被監控端執行)

如果沒啓動數據庫則執行以下命令,如果啓動了則跳過:

su oracle
lsnrctl start
sqlplus / as sysdba
startup


使用管理員進入到數據庫:

[root@oracle orabbix]# sqlplus / as sysdba
SQL>


創建用戶:

CREATE USER zabbix IDENTIFIED BY 123456 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;


如果數據庫版本是11g,那麼還需要執行下面的語句來開放ACL的訪問控制,否則在監控過程中會有部分內容無法顯示,而且orabbix的日誌也會有錯誤提示



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;


image.png


10.回到zabbix server端,開啓相關服務

[root@oracle orabbix]# systemctl restart zabbix-server.service 
[root@oracle orabbix]# systemctl restart zabbix-agent.service 
[root@oracle orabbix]# /etc/init.d/orabbix start


image.png


11.查看zabbix server和orabbix的日誌,如果沒有報錯則說明啓動成功

[root@oracle orabbix]# tail -f /opt/orabbix/logs/orabbix.log

image.png

這裏沒有報錯,啓動正常。


12.在web端中導入相關模板

模板文件都在/opt/orabbix/template目錄下

image.png

這裏只導入Orabbix_export_full.xml文件

將該文件下載到本地

然後進入zabbix web端

image.png

image.png

然後在host中添加模板:

image.png

這裏的主機名必須和orabbix配置文件中的oracle服務器名稱相同。

image.png

image.png

之後在圖形中就能看到數據了

image.png

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