使用nagios监控oracle 10g的具体方法如下:
一、在 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.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
注意点:
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
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
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
- 1.
- 2.
- 3.
- 4.
#p#
二、 配置 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
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
具体参数写法请参考 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安装成功。
#p#
三、配置 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$
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
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
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
如图:
插不进来图片,失败。。。
报错了“CHECK_NRPE: Error - Could not complete SSL handshake.
”,原来nrpe还需要ssl的支持,用yum安装openssl即可。
安装完openssl全都绿了,ok!
通过文章的详细介绍,我们学会了用nagios监控oracle 10g,操作简单容易实现!
【编辑推荐】
- 你应该知道的Nagios技巧
- Solaris下的nagios监控系统
- Nagios服务器的自我监控实现
- 限制Nagios报警次数用escalations
- Nagios监控服务器的配置
- Nagios监控Windows客户端
- Ubuntu下安装运行Nagios