zabbix監控oracle資料庫

we6100發表於2015-11-19

   Zabbix對oracle資料庫的監控

 

一、簡介


本文主要講述zabbix通過orabbix外掛來監控Oracle資料庫執行狀態。Orabbix 是設計用來為 zabbix 監控 Oracle 資料庫的外掛,它提供多層次的監控,包括可用性和伺服器效能指標。

它提供了從眾多 Oracle 例項採集資料的有效機制,進而提供此資訊的監控和效能指標。然後,可以利用的zabbix 的報告功能為收集的所有資料,並提供分析。目前的發行版中包含了一組        預先定義的模板,包括從初始部署警報和圖形功能。然而,這些可以進行微調,以滿足您的需求和資料/監控要求。

Orabbix 監控什麼?

1、資料庫版本
2
、歸檔檔案
3
、等待的事件(如檔案的I/O,單塊的讀,多塊的讀,直接讀,SQLNet訊息,控制檔案I/O,日誌寫等)
4
、HitRatio(監控Hit Ratio的觸發,表/儲存過程,SQLArea,Body)
5
、邏輯I/O(當前讀操作,持續的讀操作,塊的更改)
6
、PGA
7
、SGA(固定的緩衝,JAVA pool,Large Pool,Log Buffer,Shared Pool,Buffer Cache)
8
、物理I/O(重寫操作,資料檔案寫操作,資料檔案讀操作)
9
、SharePool(Pool Dictionary Cache, Pool Free Memory, Library Cache,Sql Area ,Misc.)
10
、Pin Hit Ratio (monitor Hit Ratio on Trigger, Tables/Procedures, SQLArea,Body)
11
、Session/Processes (monitor Sessions and processes)
12
、Session (Active Session, Inactive Sessions, System Session)等


二、實驗環境


服務端:

IP:192.168.120.72

作業系統:Linux version 2.6.32-220.el6.x86_64

客戶端:

          IP:192.168.120.252

          作業系統:windos 2003 32

         oracle資料庫:版本:10.2.0.1.0


三、實施步驟


客戶端(192.168.120.252)


l  下載與解壓zabbix_agents_2.4.1.win.zip

1. 先將zabbix agent安裝部署到windos端,找到合適的位置,將下載的zabbix_agents_2.4.1.win.zip包解壓,conf目錄下存放agent的配置檔案binbin檔案下存放著windows32位跟64位的安裝程式,安裝適合本系統的位數的檔案。本例: D:\zabbix_agent

  配置

l  配置agent檔案

         D:\zabbix_agent目錄下有三個已存在的檔案zabbix_agentd.exezabbix_get.exezabbix_sender.exe,將conf目錄下的agent配置檔案zabbix_agentd.win.conf複製到D:\zabbix_agent目錄下,並進行編輯。修改以下引數:


              LogFile=D:\zabbix_agent\abbix_agentd.log  #agent日誌檔案存放位置

Server=192.168.50.72                   #被動模式下,允許哪臺伺服器連線agent

ServerActive=192.168.50.72             #主動模式下,向哪臺伺服器傳送資料

Hostname=jy-ovaryeb01hsd-oracle        #此命名不必跟agent端伺服器hostname一樣,但必須跟之後web新增host name一樣,如下圖


l  安裝agent

         登陸windows控制檯,進入到執行檔案所在目錄D:\zabbix_agent,執行以下命令:
       agent安裝命令

zabbix_agentd.exe –c “d:\zabbix_agent\zabbix_agentd.conf” –i

啟動agent客戶端

  zabbix_agentd.exe –c “d:\zabbix_agent\zabbix_agentd.conf” –s

引數含義:

    -c    制定配置檔案所在位置

    -I    安裝客戶端

    -s    啟動客戶端

    -x    停止客戶端

    -d    解除安裝客戶端


   開啟D:\zabbix_agent\zabbix_agentd.log檔案檢視啟動日誌

l  驗證Zabbix Agent服務是否啟動

 右擊‘我的電腦’,進入計算機管理,檢視服務,確保agent服務啟動,如圖:

l  資料庫操作


1)   #su - oralce登入 oracle 命令列

     #sqlplus / as sysdba

2)   建立zabbix使用者

     create user zabbix identified by zabbix

default tablespace system temporary tablespace temp

profile default account unlock;

3)   賦予zabbix一切檢視許可權

     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;


4)         如果是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;

設定完成後,可以通過以下的語句檢視新增的狀態。

select utl_inaddr.get_host_name('127.0.0.1') from dual;



服務端(192.168.50.72


l  安裝javajre,確保被監控的伺服器安裝java環境,可以直接到oracle官網下載對應的包安裝。

 下載地址:http://www.oracle.com/technetwork/java/javase/downloads/   

       # rpm -ivh jre-7u67-linux-x64.rpm 
          Preparing...                ######################## [100%]
           1:jre                      ###################### [100%]
           Unpacking JAR files...
               rt.jar...
             jsse.jar...
             charsets.jar...
             localedata.jar...
             jfxrt.jar...

l  安裝orabbix 

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

1.   在/opt建立目錄建立orabbix檔案。orabbix啟動檔案預設寫在/opt/orabbix目錄下,也可以修改一下orabbix啟動指令碼的路徑,沒有必要多費功夫。

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


2.   授予/opt/orabbix檔案可執行的許可權

  #chmod a+x /opt/orabbix –R


3.   建立一個名為config.props檔案,有模板可以參考。名字不能隨意更改!並且修改confi.props配置檔案,僅需修改如下內容即可(以下內容根據本例實際環境編寫)

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


# cat /opt/orabbix/conf/config.props |grep -v "#"  

ZabbixServerList=ZabbixServer            #zabbix名稱
ZabbixServer.Address=192.168.50.72     #zabbix服務端的IP地址
ZabbixServer.Port=10051                  #zabbix服務端的監控埠

OrabbixDaemon.PidFile=./logs/orabbix.pid
OrabbixDaemon.Sleep=300
OrabbixDaemon.MaxThreadNumber=100

DatabaseList= jy-ovaryeb01hsd-oracle    #這個名稱可以隨便起,但是必須跟web監控agent的主機名保持一致。


DatabaseList.MaxActive=10
DatabaseList.MaxWait=100
DatabaseList.MaxIdle=1

jy-ovaryeb01hsd-oracle.Url=jdbc:oracle:thin:@192.168.120.252:1521:orcl 


#這裡主要是通過JDBC來連線客戶端的。orcl是資料庫的例項名稱。1521是監聽埠
jy-ovaryeb01hsd-oracle.User=zabbix          #資料庫使用者zabbix
jy-ovaryeb01hsd-oracle.Password=zabbix     #資料庫使用者密碼
jy-ovaryeb01hsd-oracle.MaxActive=10
jy-ovaryeb01hsd-oracle.MaxWait=100
jy-ovaryeb01hsd-oracle.MaxIdle=1
jy-ovaryeb01hsd-oracle.QueryListFile=./conf/query.props


4.    啟動服務和檢視程式


#cp -a /opt/orabbix/init.d/orabbix  /etc/init.d/orabbix(開機自動啟動)
#/etc/init.d/orabbix start
 Starting Orabbix service:

或者

Sh /opt/orabbix/run.sh
# ps aux |grep orabbix

在啟動服務過程中通過 tail -f /opt/orabbix/logs/orabbix.log日誌檢視啟動資訊。


5.          匯入模板。在zabbix的GUI管理介面上新增監控的主機前需要先匯入oracle資料庫的監控模板,將該模板 Orabbix_export_full.xml 下載到本機,選取Orabbix_export_full.xml匯入。

#cd  /opt/orabbix/template.

[root@zabbix template]# ll

total 236

-rwxr-xr-x 1 root root 107257 Oct 25  2011 Orabbix_export_full.xml

-rwxr-xr-x 1 root root  21399 Oct 25  2011 Orabbix_export_graphs.xml

-rwxr-xr-x 1 root root  86724 Oct 25  2011 Orabbix_export_items.xml

-rwxr-xr-x 1 root root   4911 Oct 25  2011 Orabbix_export_triggers.xml

6.          新增主機(host name必須跟config.props裡面定義的名稱的配置保持一致)如下圖

7.   新增的host與模板相關聯,點選’select‘選擇‘Orabbix_export_full.xml‘模板

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27500440/viewspace-1840996/,如需轉載,請註明出處,否則將追究法律責任。

相關文章