nagios-添加oracle数据库监控

[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
       ---&gt  Requires Oracle user/password and SID specified.
                ---&gt  Requires select on v_ and v_
--tablespace
   Check local database for tablespace capacity in ORACLE_SID
       ---&gt  Requires Oracle user/password specified.
                ---&gt  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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值