天天看點

使用cacti 監控oracle 10g/snmp配置

使用cacti 監控oracle 10g  2010年12月成功。

有問題可以給我留言,大家可以一起讨論。

首先安裝cacti請參照上面的文章,就能夠解決問題。

安裝oracle10g推薦一篇文章:http://fantlam.blogbus.com/logs/43410551.html

寫的非常詳細。

然後主要來說cacti監控oralce 10g的一些方法。

cacti 版本:0.8.7.e

os版本: centos 5.4

目的:

   使用标準的snmp協定,采集oracle 10g database的性能名額值。

安裝說明:

   在oracle 9i(含)之前,在資料庫安裝完成後,在ORACLE_HOME/network/snmp/。就有現成的腳本。按照oracle的文檔,start_peer –a 後,再加上agentctl start後,就可以了。

   本文說明的是在oracle 10g 上,如何啟動oracle對snmp的支援。為什麼這樣講呢,是因為當安裝好oracle10g後,會發現,按照oracle的文檔,以下兩個目錄都找不到,整個安裝過程也就無法繼續了。

ORACLE_HOME/network/snmp

ORACLE_HOME/sysman/snmp

  為什麼會出現這種問題呢,主要是由于oracle 10g開始,oracle提出了一個enterprise management Grid control server 的概念及産品。通過這個産品,可以友善的管理大量的oralce産品,當然,也包括資料庫,大大的提高了管理的效率。

安裝步驟

1.  下載下傳enterprise management agent

按照oracle的grid的管理政策,如果要啟動snmp,需要在被管理的機器上安裝enterprise management agent.

   下載下傳位址:

   http://www.oracle.com/technology/software/products/oem/htdocs/agentsoft.html

    按照agent安裝的機器OS版本選擇。

2.  安裝enterprise management agent

   安裝步驟1下載下傳的檔案。在這個安裝過程中,如果當沒有安裝enterprise management Grid control serve時,在指定enterprise management Grid control serve時,可以随意指定一個IP位址。

   需要說明的:enterprise management agent的安裝目錄盡量差別于oracle database的目錄,如:agent10。

3.  修改target.xml

       修改agent10g/sysman/emd/target.xml

        修改前:

<Targets AGENT_TOKEN="39a54772920b8e80768cd5e10393d113e6a26dab">

        <Target TYPE="oracle_emd" NAME="t5198:3872"/>

        <Target TYPE="host" NAME="t5198"/>

        <Target TYPE="oracle_database" NAME="vasomcdb">

                <Property NAME="OracleHome" VALUE="/export/home/oracle/product/database"/>

                <Property NAME="UserName" VALUE="584147f140be6a4b" ENCRYPTED="TRUE"/>

                <Property NAME="MachineName" VALUE="t5198"/>

                <Property NAME="Port" VALUE="1521"/>

                <Property NAME="SID" VALUE="vasomcdb"/>

                <Property NAME="ServiceName" VALUE="vasomcdb"/>

        </Target>

</Targets>

修改後。目的:取消加密。隻需要修改下面的兩行。如果你設定的密碼不是DBSNMP的話,将password的value改成相應的密碼即可。

<Targets AGENT_TOKEN="39a54772920b8e80768cd5e10393d113e6a26dab">

        <Target TYPE="oracle_emd" NAME="t5198:3872"/>

        <Target TYPE="host" NAME="t5198"/>

        <Target TYPE="oracle_database" NAME="vasomcdb">

                <Property NAME="OracleHome" VALUE="/export/home/oracle/product/database"/>

                <Property NAME="UserName" VALUE="DBSNMP" ENCRYPTED="FALSE"/>

<Property NAME="password" VALUE="DBSNMP" ENCRYPTED="FALSE"/>

                <Property NAME="MachineName" VALUE="t5198"/>

                <Property NAME="Port" VALUE="1521"/>

                <Property NAME="SID" VALUE="vasomcdb"/>

                <Property NAME="ServiceName" VALUE="vasomcdb"/>

        </Target>

</Targets>

 檢查配置檔案需要參照oracle Enterprise Manager SNMP support reference  guid 官方文檔。

4.  解除所管理資料庫的dbsnmp 帳号的鎖定。

      終端執行sqlplus /nolog

            sql>conn /as sysdba

            sql>ALTER USER DBSNMP ACCOUNT UNLOCK;

5.  啟動所管理的資料庫及監聽 sql>startup

6.  啟動agent.即:cd agent10/bin/

./emctl start agent

7.  啟動snmp的master 及其agent.

當然,在啟動前,要關閉所有的snmp的程式及檢查相關的端口是否被占用。

ps –ef | grep snmp

ps –ef | grep snmpd

ps –ef | grep

啟動 cd Agent10/network/snmp/peer/

./start_peer –a

8.  啟動subagent

cd Agent10/bin/

./emctl start subagent

注意這裡需要檢查是否成功的啟動

./emctl status subagent

如果沒有成功啟動。

    在資料庫執行個體的指令下:emca -config centralAgent db

    根據提示,指定management agent的路徑等一些資訊就可以.

{

   如果缺少這個過程,當啟動emctl start subagent後,雖然當時顯示subagent已經啟動,

   但通過emctl status subagent時,就會發現subagent并沒有啟動.

}

9.  配置過程完成。可以通過snmp的用戶端,要連接配接是否能采集到資料庫的snmp的mib值。

snmpwalk –v 1 –c public 127.0.0.1 1.3.6.1.4.1.111 檢視結果。

10. 下載下傳模闆和腳本

http://docs.cacti.net/usertemplate:graph:oracle

11. 将snmp_query-scripts 複制到 cacti/resource/snmp_querues/中

   将所有的templates導入,然後建立新的device。

12.開始監控。

注:如果在本文中沒有提到的,請參照連結中的詳細資訊。在此對原作者表示感謝。

參考 http://www.itpub.net/viewthread.php?tid=1099090