配置 Nagios 监控 Oracle 服务器
环境:Oracle 10g
CentOS 5.2 x86_64
一、在 Oracle 所在服务器上安装 NRPE
安装过程参考 Nagios NRPE 文档。
注意点:
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 = 192.168.100.62
-
-
}
-
2.给 oracle 用户在 ORACLE_HOME 目录下执行权限。
-
chmod –Rf 740 $ ORACLE_HOME/*
-
3.修改 check_oracle 脚本。将 $ORACLE_HOME 以及 $PATH 手动加入,避免出现问题。
-
ORACLE_HOME=/u01/oracle/product/10.2.0/db_1
-
-
PATH=$PATH: /u01/oracle/product/10.2.0/db_1/bin
-
二、 配置 nrpe 服务
修改 /usr/local/nagios/etc/nrpe.cfg 文件。加入以下内容:
-
#Check Oracle
-
-
command[check_oracle_tns]=/usr/local/nagios/libexec/check_oracle --tns orcl
-
-
command[check_oracle_db]=/usr/local/nagios/libexec/check_oracle --db orcl
-
-
command[check_oracle_login]=/usr/local/nagios/libexec/check_oracle --login orcl
-
-
command[check_oracle_cache]=/usr/local/nagios/libexec/check_oracle --cache orcl system lkjsdf 80 90
-
-
command[check_oracle_tablespace]=/usr/local/nagios/libexec/check_oracle --tablespace orcl system lkjsdf tab 90 80
-
具体参数写法请参考 check_oracle –help。
配置完成后,重启 xinetd 服务。
三、配置 Nagios 服务端
1.安装 nrpe 脚本支持。—参考官方文档。
2.添加 nrpe 命令配置。修改 nagios/etc/objects/command.cfg 文件:
-
define command {
-
-
command_name check_nrpe
-
-
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
-
-
}
-
3.在 nagios/etc/objects 添加oracle 主机配置文件。oracle.cfg 。
-
define host {
-
-
use linux-server
-
-
host_name oracle
-
-
alias Oracle 10g
-
-
address 192.168.100.63
-
-
}
-
-
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
-
-
}
-
Tablespace check 还没有细调,用了错误的 table 名。通过修改脚本还可以监视临时表空间。
(责任编辑:IT) |