使用nagios监控oracle

www.net130.com     日期:2013-2-25    浏览次数:

使用nagios监控oracle


环境:Oracle 10g

CentOS 4.6 i386

Nagios 3.06

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

  1. #useradd nagios
  2. >
  3. # wget http://nchc.dl.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
  4. # tar xvfz nrpe-2.12.tar.gz
  5. # cd nrpe-2.12
  6. # ./configure --prefix=/usr/local/nagios
  7. # make all
  8. # make install-plugin
  9. # make install-daemon
  10. # make install-daemon-config
  11. # make install-xinetd

注意点:

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

  1. service nrpe
  2. {
  3. flags = REUSE
  4. socket_type = stream
  5. port = 5666
  6. wait = no
  7. user = oracle
  8. group = nagios
  9. server = /usr/local/nagios/bin/nrpe
  10. server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd
  11. log_on_failure += USERID
  12. disable = no
  13. only_from = 127.0.0.1 10.0.0.99
  14. }

2.将nagios服务器上libexec目录中的check_oracle和utils.sh拷贝到oracle服务器的libexec目录中,并修改 check_oracle 脚本。将 $ORACLE_HOME 以及 $PATH 手动加入。

  1. ORACLE_HOME=/home/oracle/OraHome_1
  2. PATH=$PATH:$ORACLE_HOME/bin

二、 配置 nrpe 服务

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

  1. #Check Oracle
  2. command[check_oracle_tns]=/usr/local/nagios/libexec/check_oracle --tns sid user password
  3. command[check_oracle_db]=/usr/local/nagios/libexec/check_oracle --db sid user password
  4. command[check_oracle_login]=/usr/local/nagios/libexec/check_oracle --login sid user password
  5. command[check_oracle_cache]=/usr/local/nagios/libexec/check_oracle --cache sid user password 80 90
  6. command[check_oracle_tablespace]=/usr/local/nagios/libexec/check_oracle --tablespace sid user password USERS 90 80

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

添加nrpe端口号:

  1. vi /etc/services

添加这个

  1. nrpe 5666/tcp # NRPE

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

  1. # service xinetd restart

测试nrpe:

  1. ./check_nrpe -H 127.0.0.1
  2. NRPE v2.12

说明nrpe安装成功。

三、配置 Nagios 服务端

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

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

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

3.在nagios服务器端添加oracle主机配置文件,在 nagios/etc/objects 添加oracle 主机配置文件:oracle.cfg 。

  1. define host {
  2. use linux-server
  3. host_name oracle
  4. alias Oracle 10g
  5. address 10.0.0.109
  6. }
  7. define service {
  8. use generic-service
  9. host_name oracle
  10. service_description TNS Check
  11. check_command check_nrpe!check_oracle_tns
  12. }
  13. define service {
  14. use generic-service
  15. host_name oracle
  16. service_description DB Check
  17. check_command check_nrpe!check_oracle_db
  18. }
  19. define service {
  20. use generic-service
  21. host_name oracle
  22. service_description Login Check
  23. check_command check_nrpe!check_oracle_login
  24. }
  25. define service {
  26. use generic-service
  27. host_name oracle
  28. service_description Cache Check
  29. check_command check_nrpe!check_oracle_cache
  30. }
  31. define service {
  32. use generic-service
  33. host_name oracle
  34. service_description Tablespace Check
  35. check_command check_nrpe!check_oracle_tablespace
  36. }

报错了“CHECK_NRPE: Error - Could not complete SSL handshake.

”,原来nrpe还需要ssl的支持,用yum安装openssl即可。

安装完openssl全都绿了,OK!使用nagios监控oracle就讲述到这里了。

分享道
相关新闻