[nagios]用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 } 效果图: NRPE 以及 Nagios-Plugin 安装文件见附件包内。NRPE 官方文档也包含在附件包呢。 备注: 图中 Tablespace check 还没有细调,用了错误的 table 名。 通过修改脚本还可以监视临时表空间。