zycchen 发表于 2015-9-7 12:58:52

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


使用cacti 监控oracle 10g2010年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 referenceguid 官方文档。
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
页: [1]
查看完整版本: 使用cacti 监控oracle 10g/snmp配置