使用nagios监控oracle
环境:Oracle 10g
CentOS 4.6 i386
Nagios 3.06
一、在 Oracle 所在服务器上安装 NRPE
- #useradd nagios
- # wget http://nchc.dl.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
- # tar xvfz nrpe-2.12.tar.gz
- # cd nrpe-2.12
- # ./configure --prefix=/usr/local/nagios
- # make all
- # make install-plugin
- # make install-daemon
- # make install-daemon-config
- # make install-xinetd
注意点:
1.由于 nagios 脚本需要读取 oracle 相关文件。所以运行 nagios 的用户需要定义为 oracle 服务用户。并且修改 /etc/xinted.d/nrpe 中的配置。
- service nrpe
- {
- flags = REUSE
- socket_type = stream
- port = 5666
- wait = no
- user = oracle
- group = nagios
- server = /usr/local/nagios/bin/nrpe
- server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd
- log_on_failure += USERID
- disable = no
- only_from = 127.0.0.1 10.0.0.99
- }
2.将nagios服务器上libexec目录中的check_oracle和utils.sh拷贝到oracle服务器的libexec目录中,并修改 check_oracle 脚本。将 $ORACLE_HOME 以及 $PATH 手动加入。
- ORACLE_HOME=/home/oracle/OraHome_1
- PATH=$PATH:$ORACLE_HOME/bin
二、 配置 nrpe 服务
修改 /usr/local/nagios/etc/nrpe.cfg 文件。加入以下内容:
- #Check Oracle
- command[check_oracle_tns]=/usr/local/nagios/libexec/check_oracle --tns sid user password
- command[check_oracle_db]=/usr/local/nagios/libexec/check_oracle --db sid user password
- command[check_oracle_login]=/usr/local/nagios/libexec/check_oracle --login sid user password
- command[check_oracle_cache]=/usr/local/nagios/libexec/check_oracle --cache sid user password 80 90
- command[check_oracle_tablespace]=/usr/local/nagios/libexec/check_oracle --tablespace sid user password USERS 90 80
具体参数写法请参考 check_oracle –help。
添加nrpe端口号:
- vi /etc/services
添加这个
- nrpe 5666/tcp # NRPE
配置完成后,重启 xinetd 服务。
- # service xinetd restart
测试nrpe:
- ./check_nrpe -H 127.0.0.1
- NRPE v2.12
说明nrpe安装成功。
三、配置 Nagios 服务端
1.安装 nrpe 脚本支持。—参考官方文档。
2.在nagios服务器端添加 nrpe 命令配置。修改 nagios/etc/objects/command.cfg 文件:
- define command {
- command_name check_nrpe
- command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
- }
3.在nagios服务器端添加oracle主机配置文件,在 nagios/etc/objects 添加oracle 主机配置文件:oracle.cfg 。
- define host {
- use linux-server
- host_name oracle
- alias Oracle 10g
- address 10.0.0.109
- }
- define service {
- use generic-service
- host_name oracle
- service_description TNS Check
- check_command check_nrpe!check_oracle_tns
- }
- define service {
- use generic-service
- host_name oracle
- service_description DB Check
- check_command check_nrpe!check_oracle_db
- }
- define service {
- use generic-service
- host_name oracle
- service_description Login Check
- check_command check_nrpe!check_oracle_login
- }
- define service {
- use generic-service
- host_name oracle
- service_description Cache Check
- check_command check_nrpe!check_oracle_cache
- }
- define service {
- use generic-service
- host_name oracle
- service_description Tablespace Check
- check_command check_nrpe!check_oracle_tablespace
- }
报错了“CHECK_NRPE: Error - Could not complete SSL handshake.
”,原来nrpe还需要ssl的支持,用yum安装openssl即可。
安装完openssl全都绿了,OK!使用nagios监控oracle就讲述到这里了。
【编辑推荐】