Cacti关于Oracle数据库的监控
OMA10g的安装
5.1.1介绍
OEM管理升级到10以后必须安装OMA才支持SNMP管理,而ORACLE给出的SNMP支持是到,所以建议ORACLE的监控管理用12.x的版本,采用OMS/OMA的管理模式(Oracle自称是目前最全面的云管理平台),这里SNMP监控仅仅是做测试。
相关的需求和支持见下表,“?”代表未测试!OMA版本SNMP支持安装OMA是否需要OMSSNMP支持需要单独安装
9.xYNN
10.xYNY
11.x?YY
12.xYYY
5.1.2安装
Java1.6.0_35(JAVA)的安装
创建JAVA安装目录
mkdir–p/opt/java
下载jdk-6u35-linux-x64.bin到/java目录,并赋予安装用户执行权限
chmod–R775/opt/java
chown–Roracle:oinstall/opt/java
执行安装
su–oracle
cd/opt/java
./jdk-6u35-linux-x64.bin
修改环境变量,使java生效
exportJAVA_HOME=/opt/java/jdk1.6.0_35
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
exportPATH=$JAVA_HOME/bin:$PATH
source~/.bash_profile
验证java版本为java1.6.0_35
java–version
查看oracle环境变量
cat~/.bash_profile
exportJAVA_HOME=/opt/java/jdk1.6.0_35
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
exportPATH=$JAVA_HOME/bin:$PATH
exportLC_ALL="en_US.UTF-8"
exportLANG="en_US.UTF-8"
exportORACLE_BASE=/opt/oracle
exportORACLE_HOME=/opt/oracle/product/11.2.0/client_1
exportPATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;exportLD_LIBRARY_PATH
CLASSPATH=$CLASSPATH:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;export
CLASSPATH
Agent10g安装
OMA10g下载地址
解压缩安装文件到/tmp
/bin/mv/tmp/Linux_x86_64_Grid_Control_agent_download_10_2_0_5_0/tmp/agent10g
chmod–R775/tmp/agent10g
chown–Roracle:oinstall/tmp/agent10g
修改Linux的版本识别文件
/bin/cp/etc/redhat-release/etc/redhat-release.bak
echo“redhat5.1”>/etc/redhat-release
增加oracle账号对Xserver的访问权限
xhost+
切换的oracle账号,开始安装
su-oracle
cd/tmp/agent10g/linux64/agent/
./runinstaller
如下界面,点击“Next”
输入你OMA10g的安装路径,如下界面是默认路径,如果我们需要安装多个agent,可以考虑路径为$ORACLE_BASE/agent10g,这里默认点击“Next”
如下界面,取消OracleSupport选项,输入邮箱地址,点击Next。
如下界面,选中“Iwanttoremain……”,点击“continue”。
如下界面,安装需求检测,如果有不符合条件的修正后点击“Retry”。通过后点击“Next”。
如下界面,输入OMS主机名称和,OMS服务的端口号,这里11g和12C的版本,没有OMS服务器是无法通过的,我们是10g版本,随便输入个不存在的主机名称或者地址,点击“Next”。
如下界面,提示不能连接到OMS服务器,点击“OK”。
如下界面安装前确认相关信息,点击“Install”开始安装。
如下界面,安装完成,另外开个终端,用root用户运行提示脚本后点击“OK”。
完成后退出
修改Oracle用户的环境变量,添加:
exportOMA10G_HOME=/opt/oracle/OracleHomes/agent10g
source~/.bash_profile
SNMP获取Oracle数据
修改target.xml
取消对dbsnmp用户的加密设置。
#vim$OMA10G_HOME/sysman/emd/target.xml
#找到下面的这行(关键词:UserName),修改VALUE值和ENCRYPTED值。
#修改后:
#在此行之后添加一行密码设置,密码为DBSNMP用户密码,我这里的密码为Password01
#修改结束:wq退出。
解除所管理数据库的dbsnmp帐号的锁定。
#切换到oracle用户
su-oracle
sqlplus/nolog
sql>conn/assysdba
sql>startup
sql>ALTERUSERDBSNMPACCOUNTUNLOCK;
sql>quit
启动agent.
cd$OMA10g_HOME/bin/
./emctlstartagent
启动snmp的master及其agent.
#在启动前,要关闭所有的snmp的程序及检查相关的端口是否被占用。
ps–ef|grepsnmp
ps–ef|grepsnmpd
#如果存在则kill掉。
cd$OMA10G_HOME/network/snmp/peer/
suroot
#是suroot不是su–root。
#这里要root用户启动,root没有设置oracle环境变量,所以仍然用oracle的环境变量。
./start_peer–a
启动subagent
cd$OMA10G_HOME/bin/
./emctlstartsubagent
#注意这里需要检查是否成功的启动
./emctlstatussubagent
#如果没有成功运行,在数据库的实例中运行
emca-configcentralAgentdb指定相应的路径等信息即可
配置过程完成。通过snmpwalk来查看采集到的snmp的mib值。
snmpwalk-v1-cCOMMUNITY127.0.0.11.3.6.1.4.1.111
以上配置是仅通过subagent获取数据的配置,而subagent仅支持SNMPV1协议,不能
监控千兆网卡和10T以上硬盘,所以如果我们还有这些方面的需求,需要跳过subagent使用SNMP直接监控这里SNMP端口已经被修改成1161.
udp000.0.0.0:11610.0.0.0:*3447/snmpd
udp000.0.0.0:11620.0.0.0:*3436/./encap_peer
Cacti添加Oracle模板
解压缩后:
上传snmp_queries目录中文件到$CACTI/resource/snmp_queries
导入Templates中的图形模板和数据模板到cacti服务器如下图:
选择consoleàImport/ExportàImportTemplates
点击Browse按钮选择需要导入的模板后,点击Import完成模板导入
导入后添加一个OracleHost主机模板方便以后添加,如下图:
Cacti监控Oracle数据库效果图
相关配置文件位置实际监控中,我们需要指定监控服务器地址和监控社区的名称,通过修改以下文件完成$OMA10G_HOME/network/snmp/peer/CONFIG.master$OMA10G_HOME/network/snmp/peer/CONFIG.encap$OMA10G_HOME/network/snmp/peer/start_peer$OMA10G_HOME/network/snmp/peer/snmp.conf#subagent配置文件/etc/snmp/conf/snmpd.conf#masteragent配置文件
附1:cacti获取Oracle数据思维导示图
附2:oracleSNMP监控示意图
附3.OracleOIDtree示意图
附4:OMS/OMASNMP管理示意图