親測的orabbix監控Oracle過程


     網上教程很多,但普遍較老,擔心新版本的變化,於是親自測試了一下,記錄過程如下:

  一、環境

   Centos7.3 192.168.56.104

   Oracle安裝在windows下,192.168.56.101

 二、步驟:

   1.確保JRE環境,使用java命令可以識別

   如果沒有可以直接Yum install java java-devel

   2.安裝orabbix

   orabbix官網:http://www.smartmarmot.com/wiki/index.php?title=Orabbix

   下載地址:http://www.smartmarmot.com/product/orabbix/download/  最新版本orabbix-1.2.3.zip

   下載后上傳到Zabbix-server的/opt/orabbix/下(建議目錄,否則會影響后續腳本執行)

#mkdir /opt/orabbix
#cd /opt/orabbit
#unzip orabbix-1.2.3.zip

 解壓后的目錄如圖:

3. 配置orabbix

給orabbix目錄下附權限

#chmod a+x /opt/orabbix -R

創建orabbix配置文件

#cp /opt/orabbix/conf/config.props.sample /opt/orabbix/conf/config.props

編輯config.props

[root@zabbix ~]# cat /opt/orabbix/conf/config.props

#comma separed list of Zabbix servers
ZabbixServerList=ZabbixServer 
ZabbixServer.Address=192.168.56.104     #Zabbix server的地址 端口
zabbixServer.Port=10051

#ZabbixServer2.Address=IP_ADDRESS_OF_ZABBIX_SERVER
#ZabbixServer2.Port=PORT_OF_ZABBIX_SERVER

#pidFile
OrabbixDaemon.PidFile=./logs/orabbix.pid       #Java進程
#frequency of item's refresh
OrabbixDaemon.Sleep=300
#MaxThreadNumber should be >= than the number of your databases
OrabbixDaemon.MaxThreadNumber=100

#put here your databases in a comma separated list
#DatabaseList=DB1,DB2,DB3
DatabaseList=win-oracle         #此處名稱需和oracle db端zabbix前端的hostname⼀一致

#Configuration of Connection pool
#if not specified Orabbis is going to use default values (hardcoded)
#Maximum number of active connection inside pool
DatabaseList.MaxActive=10
#The maximum number of milliseconds that the pool will wait 
#(when there are no available connections) for a connection to be returned 
#before throwing an exception, or <= 0 to wait indefinitely. 
DatabaseList.MaxWait=100
DatabaseList.MaxIdle=1

#define here your connection string for each database
#DB1.Url=jdbc:oracle:thin:@server.domain.example.com:<LISTENER_PORT>:DB1
win-oracle.Url=jdbc:oracle:thin:@192.168.56.101:1521:orcl  #實例名為orcl
#DB1.User=ZABBIX
win-oracle.User=zabbix
#DB1.Password=zabbix_password
win-oracle.Password=zabbix
#Those values are optionals if not specified Orabbix is going to use the general values
win-oracle.MaxActive=10
win-oracle.MaxWait=100
win-oracle.MaxIdle=1
win-oracle.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

4.在Oracle端增加用戶和權限

CREATE USER ZABBIX IDENTIFIED BY zabbix DEFAULT TABLESPACE SYSTEM TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
GRANT CONNECT TO ZABBIX;
GRANT 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;


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還需要執行以下過程,11G以前的版本沒試過,不知道是否要執行:

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;

配置orabbix的服務和進程

#cp -a /opt/orabbix/init.d/orabbix /etc/init.d/orabbix
#chmod 755 /etc/init.d/orabbix
#/etc/init.d/orabbix start

⽇日志⽂文件在/opt/orabbix/logs/orabbix.log中 tail -f 跟蹤⽇日志分析部署過程中的問題。

三、前端增加主機

然后再zabbix web端configuration—》Templates—》Import中將模板添加
然后再已添加好的hosts中增加該oracle template,enable相應所需要監控的內容即可。

 

  

  

  

  

  

  

 


免責聲明!

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



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