使用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