nagios monitor Oracle JOB script

主脚本 : 

/home/oracle/job_nagios.sh

#!/bin/bash
. /home/oracle/.bash_profile
export LANG=en_US.utf8

export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
export NLS_LANG=AMERICAN_AMERICA.UTF8
export LANG=en_US.utf8

# ENV
. /home/oracle/env.sh
LOG_FILE=/home/oracle/job_nagios_$1.log
TEMP_FILE=/tmp/job_nagios_$1.tmp

ORA_USER="用户略"
ORA_PWD=\"密码略\"
# 用户需要有select sys.dba_jobs的权限

RETVAL=0

f_mon()
{
V_USER=$1
V_PWD=$2
V_TNS=$3
V_ALIAS=$4

JOBS_FAILURE=`echo -e "set heading off;\n
set pagesize 0;\n
set verify off;\n
set echo off;\n
set feedback off;\n
set linesize 120;\n
set trimspool on;\n
set termout off;\n
column schema_user format a32;\n
column broken format a6;\n
column what format a30;\n
select to_char(job) jobid,schema_user,broken,to_char(failures) failures,what from sys.dba_jobs where failures>0 or broken='Y';\n
quit;\n"|sqlplus -s $V_USER/$V_PWD@$V_TNS|col -x`

LINE_JOB=`echo -e $JOBS_FAILURE|grep -v "^$"|wc -l`

if [ $LINE_JOB -ge 1 ]; then
  RETVAL=1
  echo -e "`date +%F\ %T`\n$V_ALIAS\n$V_TNS\nJOBS_FAILURE : \njobid    schema_user    broken    failures    what    \n$JOBS_FAILURE\n\n" >> $LOG_FILE
  echo -e "`date +%F\ %T`\n$V_ALIAS\n$V_TNS\nJOBS_FAILURE : \njobid    schema_user    broken    failures    what    \n$JOBS_FAILURE\n\n" > $TEMP_FILE
  grep -E "N\ +16|Y\ +16" $TEMP_FILE
  if [ $? -eq 0 ]; then
  RETVAL=2
  fi
fi
}

eval str="$"$1
f_mon $ORA_USER $ORA_PWD $str $1

if [ $LINE_JOB -ge 1 ]; then
cat $TEMP_FILE
fi

exit $RETVAL

环境变量文件env.sh

TNS_DIGOAL="//10.1.1.10:1521/digoal"

nagios 配置 : 

假设oracle为监控用户, 默认是nagios

vi /etc/xinetd.d/nrpe 修改
        user            = oracle
        group           = oinstall
vi /usr/local/nagios/etc/nrpe.cfg
command[check_db_job1]=/home/oracle/job_nagios.sh TNS_DIGOAL

重启xinetd服务

时间: 2024-12-06 11:12:52

nagios monitor Oracle JOB script的相关文章

nagios monitor Oracle Tablespace Usage script

前面写过一篇关于监控Oracle JOB的nagios脚本, http://blog.163.com/digoal@126/blog/static/16387704020121205345407/  以下是监控表空间的 :  /home/oracle/tbs_dgs_nagios.sh #!/bin/bash . /home/oracle/.bash_profile export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss' export NLS_LANG=AM

在RHEL系统上安装Nagios

在管理机上安装rpm包 $ rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm $ rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm $ yum -y install nagios nagios-plugins-all nagios-plugins-nrpe nrpe php httpd $ ch

oracle出现latch: undo global data 等待问题解决办法

前几日有11.2.0.3套库出现了性能问题,这里简单记录, 当时只是表现几个会话的同一条INSERT SQL语句出现了较高的latch: undo global data 等待,latch miss是 ktudba: KSLBEGIN ,同时还有BBS 等待. SQL> @snapper ash 5 1 all Sampling SID all with interval 5 seconds, taking 1 snapshots... -- Session Snapper v4.22 - by

《大话Oracle Grid:云时代的RAC》一一1.4 安装

1.4 安装 大话Oracle Grid:云时代的RAC环境准备好后,就可以动手安装了.顺序是先装Grid.再装Database.这两个软件都支持图形化安装和Silent的静默安装.就个人体会而言,Oracle 11.2的各种安装卸载功能都比以前好了许多,基本都能做到了一次通过.所以,Silent方式也是个不错的体验,我放在后面的附录中. 1.4.1 安装Grid 以grid用户登录系统,在shelll下执行./runInstaller,启动安装程序. (1)Metalink账号的设置,如图1-

又来勒索,有完没完 - 数据库安全指南

背景 数据库在一个企业中通常都处于非常核心的位置,数据库安全是一个非常严肃的话题. 从机房.网络.服务器.数据交换设备.操作系统.应用程序.数据库本身,数据库所处的环境非常复杂,安全隐患也非常多. 所以本文将从各个层面帮助大家理解和避免一些常见的安全隐患问题. 本文是PostgreSQL使用安全指导性的文章,涉及详细的用法或原理请参考相关链接. 如何安全的使用PostgreSQL,让用户高枕无忧呢? 可以分为如下几个方面来加固你的数据库. 一.认证安全 认证前的安全,端口暴露度的把握. Post

PostgreSQL on ECS SLA 流复制备库+秒级快照+PITR+自动清理

标签 PostgreSQL , ECS , 阿里云 , 部署 , 物理镜像 , 流复制 , 快照备份 , 备份验证 , 自动清理 背景 介绍在阿里云ECS环境中,实现一个非常简单,但是可用性和可靠性满足一般企业要求的PostgreSQL环境. 包括: 1.自动启动数据库 2.包括一个物理流复制备库 3.包括自动的秒级快照备份 4.包括自动备份集有效性验证 5.包括自动清理N天以前的备份集.归档文件 6.监控请自建 部署环境介绍 1.ECS 111.111.111.199 (主) 111.111.

Oratop工具——实时数据库性能监控工具

Oratop工具--实时数据库性能监控工具 原文地址:Oratop工具--实时数据库性能监控工具 作者:realkid4 在任何系统优化过程中,"80/20原则"是我们一定要关注的问题.简单的说,就是我们系统80%的性能问题.现象,都是有少数几个甚至一个问题造成的.这就需要我们面对复杂的系统性能问题的时候,要学会"拨开云雾.蛇打七寸".   落实在Oracle优化过程,同样如此.从10g开始,我们开始频繁接受"Top-xxx"的概念,无论是从OE

LINUX下CRONTAB RELOAD简介

CRONTAB RELOAD简单研究: ==============================ORACLE下执行 ============================ [oracle@L-DB-128-46 script]$ service cron reload -bash: service: command not found [oracle@L-DB-128-46 script]$ /sbin/service crond reloa 用法: /etc/init.d/crond {

备份恢复8——管理恢复目录

1.概念: 1.恢复目录数据库:恢复目录数据库是指专门用于存放护肤目录方案的oracle数据库,注意,如果使用恢复目录存放rman元数据,那么一定要将恢复目录存放到堵路的恢复目录数据库中,而不应该存放到目标数据库. 2.恢复目录所有者:是指在恢复目录数据库中用于管理恢复目录数据库对象的数据库用户,注意:恢复目录所有者必须具有recovery_catalog_owenr 角色,并且恢复目录所有者不能是sys用户. 3.恢复目录方案:是指恢复目录数据库对象的集合,其名称世界就是恢复目录所有者的名称,