本人最近在弄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文件里面怎么配置的。 在线等,多谢! |