使用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 -c public -v1 127.0.0.1 1.3.6.1.2.1.8 查看结果。

 

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

posted on 2012-02-07 16:21  weaver_chen  阅读(448)  评论(0编辑  收藏  举报