[root@mi6 ~]# cd /usr/local/nagios/
[root@mi6 nagios]# ls
bin etc libexec share
[root@mi6 nagios]# cd libexec/
[root@mi6 libexec]# ./check_oracle --help
check_oracle v1.5 (nagios-plugins 1.5)
The nagios plugins come with ABSOLUTELY NO WARRANTY. You may redistribute
copies of the plugins under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
Usage:
check_oracle --tns
check_oracle --db
check_oracle --login
check_oracle --connect
check_oracle --cache
check_oracle --tablespace
check_oracle --oranames
check_oracle --help
check_oracle --version
Check Oracle status
--tns SID/IP Address
Check remote TNS server
--db SID
Check local database (search /bin/ps for PMON process) and check
filesystem for sgadefORACLE_SID.dbf
--login SID
Attempt a dummy login and alert if not ORA-01017: invalid username/password
--connect SID
Attempt a login and alert if an ORA- error is returned
--cache
Check local database for library and buffer cache hit ratios
---> Requires Oracle user/password and SID specified.
---> Requires select on v_ and v_
--tablespace
Check local database for tablespace capacity in ORACLE_SID
---> Requires Oracle user/password specified.
---> Requires select on dba_data_files and dba_free_space
--oranames Hostname
Check remote Oracle Names server
--help
Print this help screen
--version
Print version and license information
If the plugin doesn't work, check that the ORACLE_HOME environment
variable is set, that ORACLE_HOME/bin is in your PATH, and the
tnsnames.ora file is locatable and is properly configured.
When checking local database status your ORACLE_SID is case sensitive.
If you want to use a default Oracle home, add in your oratab file:
*:/opt/app/oracle/product/7.3.4:N
Send email to nagios-users@lists.sourceforge.net if you have questions
regarding use of this software. To submit patches or suggest improvements,
send email to nagiosplug-devel@lists.sourceforge.net.
Please include version information with all correspondence (when possible,
use output from the --version option of the plugin itself).
[root@mi6 libexec]#
配置修改如下:
被监控端(oracle数据库服务器)
[root@mi6 libexec]# cd /usr/local/nagios/libexec
1、添加oracle的环境变量
[root@mi6 libexec]# vi check_oracle
export ORACLE_SID=mi1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
2、检测命令是否生效
[root@mi6 libexec]# ./check_oracle --tns mi ###mi是tns名字
OK - reply time 0 msec from mi
[root@mi6 libexec]# ./check_oracle --db mi1 ###mi1是实例名
mi1 OK - 1 PMON process(es) running
[root@mi6 libexec]# ./check_oracle --login mi ###mi是库名
OK - dummy login connected
[root@mi6 libexec]# ./check_oracle --cache mi system mi123 80 90 ###mi是库名,system是数据库用户,mi123是system用户密码
mi OK - Cache Hit Rates: 99.95% Lib -- 99.39% Buff|lib=99.95%;90;80;0;100 buffer=99.39%;90;80;0;100
[root@mi6 libexec]# ./check_oracle --tablespace mi system mi123 ERY 90 80 ###mi是库名,system是数据库用户,mi123是system用户密码,ERY是表空间要大写
mi : LOTTERY OK - .30% used [ 10216 / 10240 MB available ]|LOTTERY=.30%;80;90;0;100
3、修改 /usr/local/nagios/etc/nrpe.cfg 文件。加入以下内容:
command[check_oracle_tns]=/usr/local/nagios/libexec/check_oracle --tns mi
command[check_oracle_db]=/usr/local/nagios/libexec/check_oracle --db mi1
command[check_oracle_login]=/usr/local/nagios/libexec/check_oracle --login mi
command[check_oracle_cache]=/usr/local/nagios/libexec/check_oracle --cache mi system mi123 80 90
command[check_oracle_tablespace]=/usr/local/nagios/libexec/check_oracle --tablespace mi system mi123 ERY 90 80
4、配置完成后,重启 xinetd 服务。
service xinetd restart
监控端配置
1、可能会出现的错误,如果被监控端配置完后,监控端使用如下命令,出现如下错误;
[root@mi3 ~]# /usr/local/nagios/libexec/check_nrpe -H 172.16.10.18 -c check_oracle_tns ###172.16.10.18为数据库的IP
NRPE: Command 'check_oracle_tns' not defined
解决方法:
由于nrpe是在root用户下面启动的,需要在oracle用户下启动。
如果在nagios的web管理页面中出现错误提示:Status Information:Cannot determine ORACLE_HOME for sid servername 也同样是这个问题。
root用户关掉服务
[root@mi6 libexec]# ps aux|grep nrpe
root 7559 0.0 0.0 61204 752 pts/4 S+ 17:24 0:00 grep nrpe
nagios 23647 0.0 0.0 39988 1136 ? Ss Oct29 0:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
[root@mi6 libexec]# kill -9 23647
[root@mi6 libexec]# ps aux|grep nrpe
root 7597 0.0 0.0 61204 756 pts/4 S+ 17:25 0:00 grep nrpe
oracle用户开启服务
[oracle@mi6 bin]$ /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
[oracle@mi6 bin]$ exit
[root@mi6 libexec]# ps aux|grep nrpe
oracle 7600 0.0 0.0 39988 1140 ? Ss 17:25 0:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
root 7607 0.0 0.0 61204 756 pts/4 S+ 17:25 0:00 grep nrpe
查看
[root@mi3 ~]# /usr/local/nagios/libexec/check_nrpe -H 172.16.10.18 -c check_oracle_tns
OK - reply time 0 msec from mi
2、修改oracle主机的配置文件
[root@mi3 hosts]# cd /usr/local/nagios/etc/objects/hosts
[root@mi3 hosts]# vi oracleRAC1.cfg
define host {
use linux-server
host_name oracleRAC1
alias Oracle 11g
address 172.16.10.18
}
define service {
use generic-service
host_name oracleRAC1
service_description TNS Check
check_command check_nrpe!check_oracle_tns
}
define service {
use generic-service
host_name oracleRAC1
service_description DB Check
check_command check_nrpe!check_oracle_db
}
define service {
use generic-service
host_name oracleRAC1
service_description Login Check
check_command check_nrpe!check_oracle_login
}
define service {
use generic-service
host_name oracleRAC1
service_description Cache Check
check_command check_nrpe!check_oracle_cache
}
define service {
use generic-service
host_name oracleRAC1
service_description Tablespace Check
check_command check_nrpe!check_oracle_tablespace
}
重启nagios
service nagios restart
[root@mi3 hosts]# vi oracleRAC2.cfg
define host {
use linux-server
host_name oracleRAC2
alias Oracle 11g
address 172.16.10.19
}
define service {
use generic-service
host_name oracleRAC2
service_description TNS Check
check_command check_nrpe!check_oracle_tns
}
define service {
use generic-service
host_name oracleRAC2
service_description DB Check
check_command check_nrpe!check_oracle_db
}
define service {
use generic-service
host_name oracleRAC2
service_description Login Check
check_command check_nrpe!check_oracle_login
}
define service {
use generic-service
host_name oracleRAC2
service_description Cache Check
check_command check_nrpe!check_oracle_cache
}
define service {
use generic-service
host_name oracleRAC2
service_description Tablespace Check
check_command check_nrpe!check_oracle_tablespace
}
测试
[root@mi7 etc]# /usr/local/nagios/libexec/check_oracle --tns mi
OK - reply time 10 msec from mi
[root@mi7 etc]# /usr/local/nagios/libexec/check_oracle --db mi2
mi2 OK - 1 PMON process(es) running
[root@mi7 etc]# /usr/local/nagios/libexec/check_oracle --login mi
OK - dummy login connected
[root@mi7 etc]# /usr/local/nagios/libexec/check_oracle --cache mi system mi123 80 90
mi OK - Cache Hit Rates: 99.97% Lib -- 99.65% Buff|lib=99.97%;90;80;0;100 buffer=99.65%;90;80;0;100
[root@mi7 etc]# /usr/local/nagios/libexec/check_oracle --tablespace mi system mi123 LOTTERY 90 80
mi : LOTTERY OK - .30% used [ 10216 / 10240 MB available ]|LOTTERY=.30%;80;90;0;100
[root@mi6 nagios]# ls
bin etc libexec share
[root@mi6 nagios]# cd libexec/
[root@mi6 libexec]# ./check_oracle --help
check_oracle v1.5 (nagios-plugins 1.5)
The nagios plugins come with ABSOLUTELY NO WARRANTY. You may redistribute
copies of the plugins under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
Usage:
check_oracle --tns
check_oracle --db
check_oracle --login
check_oracle --connect
check_oracle --cache
check_oracle --tablespace
check_oracle --oranames
check_oracle --help
check_oracle --version
Check Oracle status
--tns SID/IP Address
Check remote TNS server
--db SID
Check local database (search /bin/ps for PMON process) and check
filesystem for sgadefORACLE_SID.dbf
--login SID
Attempt a dummy login and alert if not ORA-01017: invalid username/password
--connect SID
Attempt a login and alert if an ORA- error is returned
--cache
Check local database for library and buffer cache hit ratios
---> Requires Oracle user/password and SID specified.
---> Requires select on v_ and v_
--tablespace
Check local database for tablespace capacity in ORACLE_SID
---> Requires Oracle user/password specified.
---> Requires select on dba_data_files and dba_free_space
--oranames Hostname
Check remote Oracle Names server
--help
Print this help screen
--version
Print version and license information
If the plugin doesn't work, check that the ORACLE_HOME environment
variable is set, that ORACLE_HOME/bin is in your PATH, and the
tnsnames.ora file is locatable and is properly configured.
When checking local database status your ORACLE_SID is case sensitive.
If you want to use a default Oracle home, add in your oratab file:
*:/opt/app/oracle/product/7.3.4:N
Send email to nagios-users@lists.sourceforge.net if you have questions
regarding use of this software. To submit patches or suggest improvements,
send email to nagiosplug-devel@lists.sourceforge.net.
Please include version information with all correspondence (when possible,
use output from the --version option of the plugin itself).
[root@mi6 libexec]#
配置修改如下:
被监控端(oracle数据库服务器)
[root@mi6 libexec]# cd /usr/local/nagios/libexec
1、添加oracle的环境变量
[root@mi6 libexec]# vi check_oracle
export ORACLE_SID=mi1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
2、检测命令是否生效
[root@mi6 libexec]# ./check_oracle --tns mi ###mi是tns名字
OK - reply time 0 msec from mi
[root@mi6 libexec]# ./check_oracle --db mi1 ###mi1是实例名
mi1 OK - 1 PMON process(es) running
[root@mi6 libexec]# ./check_oracle --login mi ###mi是库名
OK - dummy login connected
[root@mi6 libexec]# ./check_oracle --cache mi system mi123 80 90 ###mi是库名,system是数据库用户,mi123是system用户密码
mi OK - Cache Hit Rates: 99.95% Lib -- 99.39% Buff|lib=99.95%;90;80;0;100 buffer=99.39%;90;80;0;100
[root@mi6 libexec]# ./check_oracle --tablespace mi system mi123 ERY 90 80 ###mi是库名,system是数据库用户,mi123是system用户密码,ERY是表空间要大写
mi : LOTTERY OK - .30% used [ 10216 / 10240 MB available ]|LOTTERY=.30%;80;90;0;100
3、修改 /usr/local/nagios/etc/nrpe.cfg 文件。加入以下内容:
command[check_oracle_tns]=/usr/local/nagios/libexec/check_oracle --tns mi
command[check_oracle_db]=/usr/local/nagios/libexec/check_oracle --db mi1
command[check_oracle_login]=/usr/local/nagios/libexec/check_oracle --login mi
command[check_oracle_cache]=/usr/local/nagios/libexec/check_oracle --cache mi system mi123 80 90
command[check_oracle_tablespace]=/usr/local/nagios/libexec/check_oracle --tablespace mi system mi123 ERY 90 80
4、配置完成后,重启 xinetd 服务。
service xinetd restart
监控端配置
1、可能会出现的错误,如果被监控端配置完后,监控端使用如下命令,出现如下错误;
[root@mi3 ~]# /usr/local/nagios/libexec/check_nrpe -H 172.16.10.18 -c check_oracle_tns ###172.16.10.18为数据库的IP
NRPE: Command 'check_oracle_tns' not defined
解决方法:
由于nrpe是在root用户下面启动的,需要在oracle用户下启动。
如果在nagios的web管理页面中出现错误提示:Status Information:Cannot determine ORACLE_HOME for sid servername 也同样是这个问题。
root用户关掉服务
[root@mi6 libexec]# ps aux|grep nrpe
root 7559 0.0 0.0 61204 752 pts/4 S+ 17:24 0:00 grep nrpe
nagios 23647 0.0 0.0 39988 1136 ? Ss Oct29 0:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
[root@mi6 libexec]# kill -9 23647
[root@mi6 libexec]# ps aux|grep nrpe
root 7597 0.0 0.0 61204 756 pts/4 S+ 17:25 0:00 grep nrpe
oracle用户开启服务
[oracle@mi6 bin]$ /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
[oracle@mi6 bin]$ exit
[root@mi6 libexec]# ps aux|grep nrpe
oracle 7600 0.0 0.0 39988 1140 ? Ss 17:25 0:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
root 7607 0.0 0.0 61204 756 pts/4 S+ 17:25 0:00 grep nrpe
查看
[root@mi3 ~]# /usr/local/nagios/libexec/check_nrpe -H 172.16.10.18 -c check_oracle_tns
OK - reply time 0 msec from mi
2、修改oracle主机的配置文件
[root@mi3 hosts]# cd /usr/local/nagios/etc/objects/hosts
[root@mi3 hosts]# vi oracleRAC1.cfg
define host {
use linux-server
host_name oracleRAC1
alias Oracle 11g
address 172.16.10.18
}
define service {
use generic-service
host_name oracleRAC1
service_description TNS Check
check_command check_nrpe!check_oracle_tns
}
define service {
use generic-service
host_name oracleRAC1
service_description DB Check
check_command check_nrpe!check_oracle_db
}
define service {
use generic-service
host_name oracleRAC1
service_description Login Check
check_command check_nrpe!check_oracle_login
}
define service {
use generic-service
host_name oracleRAC1
service_description Cache Check
check_command check_nrpe!check_oracle_cache
}
define service {
use generic-service
host_name oracleRAC1
service_description Tablespace Check
check_command check_nrpe!check_oracle_tablespace
}
重启nagios
service nagios restart
[root@mi3 hosts]# vi oracleRAC2.cfg
define host {
use linux-server
host_name oracleRAC2
alias Oracle 11g
address 172.16.10.19
}
define service {
use generic-service
host_name oracleRAC2
service_description TNS Check
check_command check_nrpe!check_oracle_tns
}
define service {
use generic-service
host_name oracleRAC2
service_description DB Check
check_command check_nrpe!check_oracle_db
}
define service {
use generic-service
host_name oracleRAC2
service_description Login Check
check_command check_nrpe!check_oracle_login
}
define service {
use generic-service
host_name oracleRAC2
service_description Cache Check
check_command check_nrpe!check_oracle_cache
}
define service {
use generic-service
host_name oracleRAC2
service_description Tablespace Check
check_command check_nrpe!check_oracle_tablespace
}
测试
[root@mi7 etc]# /usr/local/nagios/libexec/check_oracle --tns mi
OK - reply time 10 msec from mi
[root@mi7 etc]# /usr/local/nagios/libexec/check_oracle --db mi2
mi2 OK - 1 PMON process(es) running
[root@mi7 etc]# /usr/local/nagios/libexec/check_oracle --login mi
OK - dummy login connected
[root@mi7 etc]# /usr/local/nagios/libexec/check_oracle --cache mi system mi123 80 90
mi OK - Cache Hit Rates: 99.97% Lib -- 99.65% Buff|lib=99.97%;90;80;0;100 buffer=99.65%;90;80;0;100
[root@mi7 etc]# /usr/local/nagios/libexec/check_oracle --tablespace mi system mi123 LOTTERY 90 80
mi : LOTTERY OK - .30% used [ 10216 / 10240 MB available ]|LOTTERY=.30%;80;90;0;100
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29819001/viewspace-1321607/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29819001/viewspace-1321607/