一、本文说明:

本文是监控本地的Oracle,其实监控远端的Oracle也是跟下面的步骤差不多的。

二、安装Nagios、Nagios插件、NRPE软件:

安装步骤可以参考《Linux下Nagios的安装与配置

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

[oracle@rhel5 libexec]$ cat /etc/xinetd.d/nrpe
# default: on
# description: NRPE (Nagios Remote Plugin Executor)
service nrpe
{
flags = REUSE
socket_type = stream
port = 5666
wait = no
user = oracle
group = oinstall
server = /usr/local/nagios/bin/nrpe
server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd
log_on_failure += USERID
disable = no
only_from = 127.0.0.1 192.168.11.149
}

2、修改check_oracle脚本,将$ORACLE_HOME以及$PATH手动加入。

[oracle@rhel5 libexec]$ cat /usr/local/nagios/libexec/check_oracle
#! /bin/sh
#
# latigid010@yahoo.com
# 01/06/2000
#
# This Nagios plugin was created to check Oracle status
# ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
PATH=$PATH:/u01/app/oracle/product/11.2.0/db_1/bin

三、配置nrpe服务:

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

[oracle@rhel5 libexec]$ cat /usr/local/nagios/etc/nrpe.cfg

#Check Oracle  

command[check_oracle_tns]=/usr/local/nagios/libexec/check_oracle --tns orcl jack jack  

command[check_oracle_db]=/usr/local/nagios/libexec/check_oracle --db orcl  

command[check_oracle_login]=/usr/local/nagios/libexec/check_oracle --login orcl jack jack

command[check_oracle_cache]=/usr/local/nagios/libexec/check_oracle --cache orcl system oracle 80 90  

command[check_oracle_tablespace]=/usr/local/nagios/libexec/check_oracle --tablespace orcl jack jack jack  90 80  

具体参数写法参考 check_oracle -help

[oracle@rhel5 libexec]$ ./check_oracle -help
Usage:
check_oracle --tns <Oracle Sid or Hostname/IP address>
check_oracle --db <ORACLE_SID>
check_oracle --login <ORACLE_SID>
check_oracle --cache <ORACLE_SID> <USER> <PASS> <CRITICAL> <WARNING>
check_oracle --tablespace <ORACLE_SID> <USER> <PASS> <TABLESPACE> <CRITICAL> <WARNING>
check_oracle --oranames <Hostname>
check_oracle --help
check_oracle --version

添加nrpe端口号

[oracle@rhel5 libexec]$ tail -4 /etc/services
iqobject 48619/tcp # iqobject
iqobject 48619/udp # iqobject
# Local services
nrpe 5666/tcp #nrpe

配置完成后,重启xinetd服务

[oracle@rhel5 libexec]$ service xinetd restart

四、配置Nagios:
    1、在nagios服务器端添加nrpe命令配置。修改/usr/local/nagios/etc/objects/command.cfg文件:

[oracle@rhel5 etc]$ tail -10 objects/commands.cfg
define command{
command_name process-service-perfdata
command_line /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/service-perfdata.out
} #'check_nrpe' command definition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

2、添加hosts.cfg和services.cfg

[oracle@rhel5 etc]$ cat hosts.cfg
define host{
use linux-server2
host_name oracle
alias Nagios-node2
address 192.168.11.149
} define hostgroup{
hostgroup_name bsmart-servers
alias bsmart servers
members oracle
}
[oracle@rhel5 etc]$ cat services.cfg 

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  

notifications_enabled 0

}  

define service {  

use generic-service  

host_name oracle  

service_description Tablespace Check  

check_command check_nrpe!check_oracle_tablespace  

}  

3、在templates.cfg中添加如下内容:

define host{
name linux-server2 ; The name of this host template
use generic-host ; This template inherits other values from the generic-host template
check_period 24x7 ; By default, Linux hosts are checked round the clock
check_interval 5 ; Actively check the host every 5 minutes
retry_interval 1 ; Schedule host check retries at 1 minute intervals
max_check_attempts 10 ; Check each Linux host 10 times (max)
check_command check-host-alive ; Default command to check Linux hosts
notification_period workhours ; Linux admins hate to be woken up, so we only notify during the day
; Note that the notification_period variable is being overridden from
; the value that is inherited from the generic-host template!
notification_interval 120 ; Resend notifications every 2 hours
notification_options d,u,r ; Only send notifications for specific host states
contact_groups admins ; Notifications get sent to the admins by default
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}

五、重点说明:

由于nagios的用户是oracle,所以在nagios启动的命令应该使用:

[oracle@rhel5 etc]$ /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

关闭命令使用:

[oracle@rhel5 etc]$ killall nagios

[oracle@rhel5 etc]$ ll
总计 148
-rw-rw-r-- 1 oracle oinstall 11437 09-27 19:26 cgi.cfg
-rw-r--r-- 1 oracle oinstall 11408 09-27 19:20 cgi.cfg.bak
-rw-r--r-- 1 oracle oinstall 382 09-27 19:59 hosts.cfg
-rw-r--r-- 1 oracle oinstall 44 09-27 17:17 htpasswd
-rw-r--r-- 1 oracle oinstall 44 09-27 19:20 htpasswd.bak
-rw-rw-r-- 1 oracle oinstall 43863 09-27 20:18 nagios.cfg
-rw-r--r-- 1 oracle oinstall 43774 09-27 19:20 nagios.cfg.bak
-rw-r--r-- 1 oracle oinstall 7834 09-27 21:12 nrpe.cfg
drwxrwxr-x 2 oracle oinstall 4096 09-27 21:35 objects
-rw-rw---- 1 oracle oinstall 1340 09-27 16:42 resource.cfg
-rw-r----- 1 oracle oinstall 1340 09-27 19:20 resource.cfg.bak
-rw-r--r-- 1 oracle oinstall 805 09-27 21:16 services.cfg
[oracle@rhel5 etc]$ ll objects/
总计 100
-rw-rw-r-- 1 oracle oinstall 7891 09-27 19:44 commands.cfg
-rw-r--r-- 1 oracle oinstall 7716 09-27 19:19 commands.cfg.bak
-rw-rw-r-- 1 oracle oinstall 2153 09-27 19:24 contacts.cfg
-rw-r--r-- 1 oracle oinstall 2166 09-27 19:19 contacts.cfg.bak
-rw-rw-r-- 1 oracle oinstall 5386 09-27 19:22 localhost.cfg
-rw-r--r-- 1 oracle oinstall 5403 09-27 19:19 localhost.cfg.bak
-rw-rw-r-- 1 oracle oinstall 3124 09-27 16:42 printer.cfg
-rw-r--r-- 1 oracle oinstall 3124 09-27 19:19 printer.cfg.bak
-rw-rw-r-- 1 oracle oinstall 3293 09-27 16:42 switch.cfg
-rw-r--r-- 1 oracle oinstall 3293 09-27 19:19 switch.cfg.bak
-rw-rw-r-- 1 oracle oinstall 12360 09-27 20:00 templates.cfg
-rw-r--r-- 1 oracle oinstall 10812 09-27 19:19 templates.cfg.bak
-rw-rw-r-- 1 oracle oinstall 3208 09-27 16:42 timeperiods.cfg
-rw-r--r-- 1 oracle oinstall 3208 09-27 19:20 timeperiods.cfg.bak
-rw-rw-r-- 1 oracle oinstall 4019 09-27 16:42 windows.cfg
-rw-r--r-- 1 oracle oinstall 4019 09-27 19:20 windows.cfg.bak

七、nagios网页截图:

Nagios监控Oralce的更多相关文章

  1. Nagios监控平台搭建

    Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员, ...

  2. nagios二次开发(四)---nagios监控原理和nagios架构简介

    nagios监控原理 下面根据上面摘自网络的原理图对nagios的监控原理进行一下简单的说明: 1.nagios通过nsca进行被动监控.那么什么是被动监控呢?被动监测:就是指由被监测的服务器主动上传 ...

  3. 烂泥:nagios监控单网卡双IP

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 公司的业务有几台服务器存放在IDC机房中,说是双线路.但是我看到网卡的配置是单网卡双IP的形式.如下: 而公司这边的线路是联通的IP,如下: nagio ...

  4. Nagios监控ganglia的指标

    这是nagios与ganglia整合的一部分内容 . 通常我们会把ganglia的监控发送给一个主机,我们可以在这个主机上执行nc localhost 8649 可以获取到所有发往这个主机的信息,以x ...

  5. [工具开发] keepalived使用nagios监控脚本

    最近在做开发和办公环境的高可用,采用的是keepalived:keepalived基于Linux内核支持的LVS,既能实现高可用,又能实现负载均衡,非常实用. keepalived监控服务状态时可以用 ...

  6. 一步步实现Nagios监控linux主机及飞信报警

    一步步实现Nagios监控linux主机及飞信报警 上篇文章介绍了在linux主机上架设nagios监控服务,并对windows主机进行服务状态变化的监控,这次我们继续上次内容.      首先实现n ...

  7. centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课

    centos   shell编程6一些工作中实践脚本   nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志  直接送给bc做计算  gzip  innobacku ...

  8. smartmontools的安装使用和实现对磁盘的Nagios监控

    安装 首先从sourceforge下载最新的安装版本. 解压编译 $ tar -zxvf smartmontools-6.4.tar.gz $ cd smartmontools-6.4 $ ./con ...

  9. Nagios 监控

    配置文件说明 文件名或目录名 用途 cgi.cfg 控制CGI访问的配置文件 nagios.cfg Nagios 主配置文件 resource.cfg 变量定义文件,又称为资源文件,在些文件中定义变量 ...

随机推荐

  1. osgEarth编译的一些问题

    这两天借着osg培训的机会捯饬了下64位osgearth的编译.遇到了一些问题: 首先我没有编译osg,用的提供的osg3.2.1编译好的64位包. 编译osgearth先后编译了2个版本,先是2.7 ...

  2. CentOS下netstat + awk 查看tcp的网络连接状态

    执行以下命令: #netstat -n | awk ‘/^tcp/ {++state[$NF]} END {for(key in state) print key."\t".sta ...

  3. Function.prototype.bind接口浅析

    本文大部分内容翻译自 MDN内容, 翻译内容经过自己的理解. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Glo ...

  4. 修改最大打开文件数和最大proc数量

    1.vim /etc/profile  增加 ulimit -n 10240 ulimit -u 10240 2.修改/etc/security/limits.conf *      soft     ...

  5. ps 简介

    1. ps 简介ps 命令就是最根本相应情况下也是相当强大地进程查看命令.运用该命令可以确定有哪些进程正在运行和运行地状态. 进程 是否结束.进程有没有僵死.哪些进程占用了过多地资源等等.总之大部分信 ...

  6. 研究实验1_搭建一个精简的C语言开发环境(包含部分经典的前言)

    综合研究:      在这部分内容中,将启示我们如何进行独立研究和深度思考(一定要注意这一点,相应的调整自己的学习思想).同时使我们:          (1)认识到汇编语言对于深入理解其他领域知识的 ...

  7. Leetcode: Perfect Rectangle

    Given N axis-aligned rectangles where N > 0, determine if they all together form an exact cover o ...

  8. G面经Prepare: Search word delete sequence in dictionary

    给一个单词一个字典,每次删除单词里任一个字母直到剩下一个字母,形成一个序列,比如office->offce->ofce->ofc->oc->c.问是否字典里存在一个这种序 ...

  9. 【Origin】晨起忆梦

    昨夜有梦又还乡, 忆起少年儿郎样: 田畔有花不忍折, 岁岁年年观花放. -作于二零一五年八月四日

  10. 关于LED 流水灯的软件调试方法(非开发板调试)

    因为: 硬件 norflash 有寿命,所以尽量少用,而且自己也不会把 程序在 KEIL中从SDRAM 中调试,不会设置.所以采取软件虚拟的方法调试. 主要修改一下几部分: 1.  ledcircle ...