配置Nagios監(jiān)控Oracle服務(wù)器
配置 Nagios 監(jiān)控 Oracle 服務(wù)器
環(huán)境:Oracle 10g
CentOS 5.2 x86_64
一、在 Oracle 所在服務(wù)器上安裝 NRPE
安裝過程參考 Nagios NRPE 文檔。
注意點(diǎn):
1.由于 nagios 腳本需要讀取 oracle 相關(guān)文件。所以運(yùn)行 nagios 的用戶需要定義為 oracle 服務(wù)用戶。并且修改 /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 目錄下執(zhí)行權(quán)限。
- chmod –Rf 740 $ ORACLE_HOME/*
 
3.修改 check_oracle 腳本。將 $ORACLE_HOME 以及 $PATH 手動(dòng)加入,避免出現(xiàn)問題。
- ORACLE_HOME=/u01/oracle/product/10.2.0/db_1
 - PATH=$PATH: /u01/oracle/product/10.2.0/db_1/bin
 
二、 配置 nrpe 服務(wù)
修改 /usr/local/nagios/etc/nrpe.cfg 文件。加入以下內(nèi)容:
- #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
 
具體參數(shù)寫法請(qǐng)參考 check_oracle –help。
配置完成后,重啟 xinetd 服務(wù)。
三、配置 Nagios 服務(wù)端
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 主機(jī)配置文件。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
 - }
 
Tablespace check 還沒有細(xì)調(diào),用了錯(cuò)誤的 table 名。通過修改腳本還可以監(jiān)視臨時(shí)表空間。
【編輯推薦】















 
 
 
 
 
 
 