用NAGIOS監控ORACLE服務器
用nagios監控ORACLE
服務器
環境:Oracle 10g
CentOS 5.2 x86_64
一、在 Oracle 所在服務器上安裝 NRPE
安裝過程參考 Nagios NRPE 文檔。
注意點:
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
二、 配置 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
}
NRPE 以及 Nagios-Plugin 安裝文件見附件包內。NRPE 官方文檔也包含在附件包呢。
備注:
Tablespace check 還沒有細調,用了錯誤的 table 名。
通過修改腳本還可以監視臨時表空間。