当前位置: > Linux服务器 > 监控工具 >

配置Nagios监控Oracle服务器

时间:2014-11-06 12:21来源:linux.it.net.cn 作者:it.net.cn

配置 Nagios 监控 Oracle 服务器

环境:Oracle 10g

CentOS 5.2 x86_64

一、在 Oracle 所在服务器上安装 NRPE

安装过程参考 Nagios NRPE 文档。

注意点:

1.由于 nagios 脚本需要读取 oracle 相关文件。所以运行 nagios 的用户需要定义为 oracle 服务用户。并且修改 /etc/xinted.d/nrpe 中的配置。


  1. service nrpe  
  2.  
  3. {  
  4.  
  5. flags = REUSE 
  6.  
  7. socket_type = stream 
  8.  
  9. port = 5666 
  10.  
  11. wait = no 
  12.  
  13. user = oracle 
  14.  
  15. group = nagios 
  16.  
  17. server = /usr/local/nagios/bin/nrpe  
  18.  
  19. server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd  
  20.  
  21. log_on_failure += USERID  
  22.  
  23. disable = no 
  24.  
  25. only_from = 192.168.100.62  
  26.  
  27. }  
  28.  

2.给 oracle 用户在 ORACLE_HOME 目录下执行权限。


  1. chmod –Rf 740 $ ORACLE_HOME/*  
  2.  

3.修改 check_oracle 脚本。将 $ORACLE_HOME 以及 $PATH 手动加入,避免出现问题。


  1. ORACLE_HOME=/u01/oracle/product/10.2.0/db_1  
  2.  
  3. PATH=$PATH: /u01/oracle/product/10.2.0/db_1/bin  
  4.  

二、 配置 nrpe 服务

修改 /usr/local/nagios/etc/nrpe.cfg 文件。加入以下内容:


  1. #Check Oracle  
  2.  
  3. command[check_oracle_tns]=/usr/local/nagios/libexec/check_oracle --tns orcl  
  4.  
  5. command[check_oracle_db]=/usr/local/nagios/libexec/check_oracle --db orcl  
  6.  
  7. command[check_oracle_login]=/usr/local/nagios/libexec/check_oracle --login orcl  
  8.  
  9. command[check_oracle_cache]=/usr/local/nagios/libexec/check_oracle --cache orcl system lkjsdf 80 90  
  10.  
  11. command[check_oracle_tablespace]=/usr/local/nagios/libexec/check_oracle --tablespace orcl system lkjsdf tab 90 80  
  12.  

具体参数写法请参考 check_oracle –help。

配置完成后,重启 xinetd 服务。

三、配置 Nagios 服务端

1.安装 nrpe 脚本支持。—参考官方文档。

2.添加 nrpe 命令配置。修改 nagios/etc/objects/command.cfg 文件:


  1. define command {  
  2.  
  3. command_name check_nrpe  
  4.  
  5. command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$  
  6.  
  7. }  
  8.  

3.在 nagios/etc/objects 添加oracle 主机配置文件。oracle.cfg 。


  1. define host {  
  2.  
  3. use linux-server  
  4.  
  5. host_name oracle  
  6.  
  7. alias Oracle 10g  
  8.  
  9. address 192.168.100.63  
  10.  
  11. }  
  12.  
  13. define service {  
  14.  
  15. use generic-service  
  16.  
  17. host_name oracle  
  18.  
  19. service_description TNS Check  
  20.  
  21. check_command check_nrpe!check_oracle_tns  
  22.  
  23. }  
  24.  
  25. define service {  
  26.  
  27. use generic-service  
  28.  
  29. host_name oracle  
  30.  
  31. service_description DB Check  
  32.  
  33. check_command check_nrpe!check_oracle_db  
  34.  
  35. }  
  36.  
  37. define service {  
  38.  
  39. use generic-service  
  40.  
  41. host_name oracle  
  42.  
  43. service_description Login Check  
  44.  
  45. check_command check_nrpe!check_oracle_login  
  46.  
  47. }  
  48.  
  49. define service {  
  50.  
  51. use generic-service  
  52.  
  53. host_name oracle  
  54.  
  55. service_description Cache Check  
  56.  
  57. check_command check_nrpe!check_oracle_cache  
  58.  
  59. }  
  60.  
  61. define service {  
  62.  
  63. use generic-service  
  64.  
  65. host_name oracle  
  66.  
  67. service_description Tablespace Check  
  68.  
  69. check_command check_nrpe!check_oracle_tablespace  
  70.  
  71. }  
  72.  

Tablespace check 还没有细调,用了错误的 table 名。通过修改脚本还可以监视临时表空间。

(责任编辑:IT)
------分隔线----------------------------