首页 > 代码库 > nagios监控oracle

nagios监控oracle

本人最近在弄nagios,想用nagios监控oracle,看了网上的很多教程,步骤都是如下。
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

这么做是为了确保脚本可以正常执行 sqlplus 以及 tnsping 等命令。

二、配置 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
         }
4.验证配置文件无误后重启 nagios 服务。


但是这样配置后还是不能监控,因为这文档里面没有写怎么在command.cfg文档里面怎么配置check_oracle_tablespace,check_oracle_cache,check_oracle_login这些插件的,这些插件在nagios默认的插件里面也没有,请问配置过的大虾这些插件在哪里下载的,还有在command.cfg文件里面怎么配置的。
在线等,多谢!