一、本文说明:

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

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

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

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

  1. [oracle@rhel5 libexec]$ cat /etc/xinetd.d/nrpe
  2. # default: on
  3. # description: NRPE (Nagios Remote Plugin Executor)
  4. service nrpe
  5. {
  6. flags = REUSE
  7. socket_type = stream
  8. port = 5666
  9. wait = no
  10. user = oracle
  11. group = oinstall
  12. server = /usr/local/nagios/bin/nrpe
  13. server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd
  14. log_on_failure += USERID
  15. disable = no
  16. only_from = 127.0.0.1 192.168.11.149
  17. }

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

  1. [oracle@rhel5 libexec]$ cat /usr/local/nagios/libexec/check_oracle
  2. #! /bin/sh
  3. #
  4. # latigid010@yahoo.com
  5. # 01/06/2000
  6. #
  7. # This Nagios plugin was created to check Oracle status
  8. #
  9.  
  10. ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
  11. PATH=$PATH:/u01/app/oracle/product/11.2.0/db_1/bin

三、配置nrpe服务:

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

  1. [oracle@rhel5 libexec]$ cat /usr/local/nagios/etc/nrpe.cfg
  2.  
  3. #Check Oracle
  4.  
  5. command[check_oracle_tns]=/usr/local/nagios/libexec/check_oracle --tns orcl jack jack
  6.  
  7. command[check_oracle_db]=/usr/local/nagios/libexec/check_oracle --db orcl
  8.  
  9. command[check_oracle_login]=/usr/local/nagios/libexec/check_oracle --login orcl jack jack
  10.  
  11. command[check_oracle_cache]=/usr/local/nagios/libexec/check_oracle --cache orcl system oracle 80 90
  12.  
  13. command[check_oracle_tablespace]=/usr/local/nagios/libexec/check_oracle --tablespace orcl jack jack jack 90 80

具体参数写法参考 check_oracle -help

  1. [oracle@rhel5 libexec]$ ./check_oracle -help
  2. Usage:
  3. check_oracle --tns <Oracle Sid or Hostname/IP address>
  4. check_oracle --db <ORACLE_SID>
  5. check_oracle --login <ORACLE_SID>
  6. check_oracle --cache <ORACLE_SID> <USER> <PASS> <CRITICAL> <WARNING>
  7. check_oracle --tablespace <ORACLE_SID> <USER> <PASS> <TABLESPACE> <CRITICAL> <WARNING>
  8. check_oracle --oranames <Hostname>
  9. check_oracle --help
  10. check_oracle --version

添加nrpe端口号

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

配置完成后,重启xinetd服务

  1. [oracle@rhel5 libexec]$ service xinetd restart

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

  1. [oracle@rhel5 etc]$ tail -10 objects/commands.cfg
  2. define command{
  3. command_name process-service-perfdata
  4. 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
  5. }
  6.  
  7. #'check_nrpe' command definition
  8. define command{
  9. command_name check_nrpe
  10. command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
  11. }

2、添加hosts.cfg和services.cfg

  1. [oracle@rhel5 etc]$ cat hosts.cfg
  2. define host{
  3. use linux-server2
  4. host_name oracle
  5. alias Nagios-node2
  6. address 192.168.11.149
  7. }
  8.  
  9. define hostgroup{
  10. hostgroup_name bsmart-servers
  11. alias bsmart servers
  12. members oracle
  13. }
  1. [oracle@rhel5 etc]$ cat services.cfg
  2.  
  3. define service {
  4.  
  5. use generic-service
  6.  
  7. host_name oracle
  8.  
  9. service_description TNS Check
  10.  
  11. check_command check_nrpe!check_oracle_tns
  12.  
  13. }
  14.  
  15. define service {
  16.  
  17. use generic-service
  18.  
  19. host_name oracle
  20.  
  21. service_description DB Check
  22.  
  23. check_command check_nrpe!check_oracle_db
  24.  
  25. }
  26.  
  27. define service {
  28.  
  29. use generic-service
  30.  
  31. host_name oracle
  32.  
  33. service_description Login Check
  34.  
  35. check_command check_nrpe!check_oracle_login
  36.  
  37. }
  38.  
  39. define service {
  40.  
  41. use generic-service
  42.  
  43. host_name oracle
  44.  
  45. service_description Cache Check
  46.  
  47. check_command check_nrpe!check_oracle_cache
  48.  
  49. notifications_enabled 0
  50.  
  51. }
  52.  
  53. define service {
  54.  
  55. use generic-service
  56.  
  57. host_name oracle
  58.  
  59. service_description Tablespace Check
  60.  
  61. check_command check_nrpe!check_oracle_tablespace
  62.  
  63. }

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

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

五、重点说明:

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

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

关闭命令使用:

[oracle@rhel5 etc]$ killall nagios

  1. [oracle@rhel5 etc]$ ll
  2. 总计 148
  3. -rw-rw-r-- 1 oracle oinstall 11437 09-27 19:26 cgi.cfg
  4. -rw-r--r-- 1 oracle oinstall 11408 09-27 19:20 cgi.cfg.bak
  5. -rw-r--r-- 1 oracle oinstall 382 09-27 19:59 hosts.cfg
  6. -rw-r--r-- 1 oracle oinstall 44 09-27 17:17 htpasswd
  7. -rw-r--r-- 1 oracle oinstall 44 09-27 19:20 htpasswd.bak
  8. -rw-rw-r-- 1 oracle oinstall 43863 09-27 20:18 nagios.cfg
  9. -rw-r--r-- 1 oracle oinstall 43774 09-27 19:20 nagios.cfg.bak
  10. -rw-r--r-- 1 oracle oinstall 7834 09-27 21:12 nrpe.cfg
  11. drwxrwxr-x 2 oracle oinstall 4096 09-27 21:35 objects
  12. -rw-rw---- 1 oracle oinstall 1340 09-27 16:42 resource.cfg
  13. -rw-r----- 1 oracle oinstall 1340 09-27 19:20 resource.cfg.bak
  14. -rw-r--r-- 1 oracle oinstall 805 09-27 21:16 services.cfg
  15. [oracle@rhel5 etc]$ ll objects/
  16. 总计 100
  17. -rw-rw-r-- 1 oracle oinstall 7891 09-27 19:44 commands.cfg
  18. -rw-r--r-- 1 oracle oinstall 7716 09-27 19:19 commands.cfg.bak
  19. -rw-rw-r-- 1 oracle oinstall 2153 09-27 19:24 contacts.cfg
  20. -rw-r--r-- 1 oracle oinstall 2166 09-27 19:19 contacts.cfg.bak
  21. -rw-rw-r-- 1 oracle oinstall 5386 09-27 19:22 localhost.cfg
  22. -rw-r--r-- 1 oracle oinstall 5403 09-27 19:19 localhost.cfg.bak
  23. -rw-rw-r-- 1 oracle oinstall 3124 09-27 16:42 printer.cfg
  24. -rw-r--r-- 1 oracle oinstall 3124 09-27 19:19 printer.cfg.bak
  25. -rw-rw-r-- 1 oracle oinstall 3293 09-27 16:42 switch.cfg
  26. -rw-r--r-- 1 oracle oinstall 3293 09-27 19:19 switch.cfg.bak
  27. -rw-rw-r-- 1 oracle oinstall 12360 09-27 20:00 templates.cfg
  28. -rw-r--r-- 1 oracle oinstall 10812 09-27 19:19 templates.cfg.bak
  29. -rw-rw-r-- 1 oracle oinstall 3208 09-27 16:42 timeperiods.cfg
  30. -rw-r--r-- 1 oracle oinstall 3208 09-27 19:20 timeperiods.cfg.bak
  31. -rw-rw-r-- 1 oracle oinstall 4019 09-27 16:42 windows.cfg
  32. -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. myeclipse WIN7下设置字体列表中无Courier New

    到"C:\Windows\Fonts"下找到对应的字体,单击,选择上面的显示 然后就可以在eclicpse字体设置里面看到Courier New项了: Eclipse字体设置方法: ...

  2. 高级选择器querySelector和querySelectorAll

    Javascript新提供的querySelector和querySelectorAll方法,是仿照CSS选择器功能编写的 querySelector 功能:该方法返回满足条件的单个元素.按照深度优先 ...

  3. iOS让数组内对象执行同一方法

    // 让数组中的所有对象都执行removeFromSuperview方法 [self.answerView.subviews makeObjectsPerformSelector:@selector( ...

  4. 这是我定位的Bug

    https://github.com/danielgindi/ios-charts/issues/406

  5. HTTP报文

    HTTP报文分为请求报文(request message)与响应报文(response message). 一.报文的组成部分 一个HTTP报文由3部分组成,分别是: (1).起始行(start li ...

  6. Protostuff序列化

    前言: Java序列化是Java技术体系当中的一个重要议题,序列化的意义在于信息的交换和存储,通常会和io.持久化.rmi技术有关(eg:一些orm框架会要求持久化的对象类型实现Serializabl ...

  7. Java 分布式应用

  8. Leetcode: Perfect Rectangle

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

  9. 快速搭建企业subversion

    快速搭建企业subversion 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们公司用的版本控制控制系统就是subversion(简称SVN),不得不说这是一款比较好使的管理工 ...

  10. [转]MySQL数据库引擎介绍、区别、创建和性能测试的深入分析

    本篇文章是对MySQL数据库引擎介绍.区别.创建和性能测试进行了详细的分析介绍,需要的朋友参考下   数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎 ...