nagios监控oracle 表空间
oracle表空间满的危害以及处理方式见我的博客链接https://www.cnblogs.com/-abm/p/9764803.html
除此之外我们还需要对表空间实时监控,这样就可以及时了解表空间的使用状况,防患于未然。
监控工具
nagios(nagios的工作原理需要清晰,这里不做介绍)
nagios自带了oracle监控相关脚本,查看它的帮助的命令如下:
# /usr/local/nagios/libexec/check_oracle -h
Usage:
check_oracle --tns <Oracle Sid or Hostname/IP address>
check_oracle --db <ORACLE_SID>
check_oracle --login <ORACLE_SID>
check_oracle --connect <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
开始配置监控
2.1、按照命令帮助中的提示,测试nagios 监控oracle表空间
格式:check_oracle --tablespace <ORACLE_SID> <USER> <PASS> <TABLESPACE> <CRITICAL> <WARNING>
最好先在命令行下实验脚本的正确性,以及结果的准确度
举例有问题的情况:
# /usr/local/nagios/libexec/check_oracle --tablespace orcl sys mima users
CRITICAL - ORA-28009: ??? SYSDBA ??? SYSOPER ???? SYS ??
//报错提示:用sys用户登录必须要加as sysdba,所以我自己查看了nagios的监控脚本并修改了部分内容(修改内容见最后),然后正常执行了。
正常执行
# /usr/local/nagios/libexec/check_oracle --tablespace pdb_xxx sys mima USERS 90 80;
pdb_shwjs : USERS CRITICAL - 95.30% used [ 12613 / 268144 MB available ]|USERS=95.30%;80;90;0;100
2.2、加入到监控配置文件中
# vim /usr/local/nagios/etc/nrpe.cfg,加入监控内容条目
......
#check oracle_tablespace
command[check_oracle_tab]=/usr/local/nagios/libexec/check_oracle --tablespace pdb_shwjs sys SHipii314 USERS 97
//这里的check_oracle_tab是用于服务端调用的标识符
配置完成重启客户端nrpe,使监控项目生效
# service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
2.3、配置服务端
服务端先用命令行测试
# ../libexec/check_nrpe -H 192.168.13.103 -c check_oracle_tab
pdb_shwjs : USERS OK - 95.30% used [ / MB available ]|USERS=95.30%;;;;
测试没有问题,写到监控主机的服务配置文件中
# vim services/192.168.13.103.cfg
# 监控oracle_tablespace
define service{
service_description check_oracle_tab ; 定义服务名称(WEB管理台显示的服务标识)
host_name 192.168.13.103 ; 关联的主机名称(引用主机.cfg配置)
check_command check_nrpe!check_oracle_tab ; 执行的监控命令(引用被控端nrpe.cfg配置)
check_period 7x24h ; 监控服务的时间段(引用timeperiods.cfg配置)
normal_check_interval ; 监控检查服务时间间隔(单位/分钟)
retry_check_interval ; 非OK状态重新检查时间间隔(单位/分钟)
max_check_attempts ; 非OK状态重新检查最大次数(达到阀值将触发通知功能)
notifications_enabled ; 是否启用通知功能(1是/0否)
contact_groups gnnt-admins ; 通知发送对象(引用contacts.cfg配置)
notification_options w,u,c,r ; 通知类型(warning、unknown、critical、recovery)
notification_interval ; 重发通知的时间间隔(单位/分钟)
notification_period 7x24h ; 允许发送通知的时间段(引用timeperiods.cfg配置)
active_checks_enabled ; 是否启用主动式服务检查(1是/0否)
passive_checks_enabled ; 是否启用被动式服务检查(1是/0否)
parallelize_check ; 是否启用并行主动服务检查(禁用可能会带来重大性能问题)
obsess_over_service ; 是否保持监控该服务(1是/0否)
event_handler_enabled ; 是否启用事件处理程序(1是/0否)
process_perf_data ; 是否启用过程性能数据功能(1是/0否)
flap_detection_enabled ; 是否否启用Flap检测功能(1是/0否)
retain_status_information ; 是否保留整个程序重新启动的状态信息(1是/0否)
retain_nonstatus_information ; 是否保留整个程序重新启动非状态信息(1是/0否)
}
重新加载nagios
# service nagios reload
Running configuration check...
Reloading nagios configuration...
done
监控效果

附:
nagios监控oracle的脚本修改
--tablespace)
if [ ${} -lt ${} ] ; then
echo "UNKNOWN - Warning level is more then Crit"
exit $STATE_UNKNOWN
fi
result=`sqlplus -s ${}/${}@192.168.13.105:/${} as sysdba << EOF
nagios监控oracle 表空间的更多相关文章
- 使用zabbix监控oracle表空间
0.概述 zabbix是一款极其强大的开源监控工具,下面我分享下zabbix如何监控表空间,跟着这个思路,监控其他项都是类似操作. 前提条件是你已经有了zabbix server和zabbix age ...
- orabbix插件监控oracle表空间问题
我们安装好orabbix插件后,查看Tablespaces监控项是发项值为none,第一反应是没监控成功,其实不然. 1.我们打开orabbix监控项参数的路径,下面为Tablespaces的sql代 ...
- Python巡检Oracle表空间并邮件告警
最近,自学了Python基础,突发奇想,把以前通过shell自定义通过nagios实现Oracle表空间以及ASM以及备份的脚本改进下,首先感叹的是Python脚本看上去确实挺好的,效率还不错. 这是 ...
- Oracle表空间,用户,用户授权
一:Oracle表空间 1,Oracle表空间与SQL Server文件组对比 SQL Server的文件组(文件组包括若干MDF,NDF数据文件)对我们来说并不陌生,前段时间我在博客“怎样玩转千万级 ...
- Oracle表空间管理
oracle表空间相关常用命令小结: 1.ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE; //修改表空间数据文件类型 2.ALT ...
- 【转】Oracle 表空间与数据文件
--============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或 ...
- 六分钟学会创建Oracle表空间的步骤
经过长时间学习创建Oracle表空间,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西. 1.先查询空闲空间 select tablespace_name,file_id,blo ...
- 修改Oracle 表空间名称 tablespace name
修改表空间名称步骤如下: 1. 使用oracle用户登录执行 $sqlplus / as sysdba 2. 执行修改表空间命令如下 SQL> alter tablespace TEST re ...
- interview:about Oracle表空间
Oracle表空间 SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计.Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献.可 ...
随机推荐
- python-数据
python基本数据类型 数字 整型 int 123 浮点型 float 3.2 布尔型 bool True/False 复数 complex 1+1j 组 序列 字符串 str "hell ...
- cocos JS for循环让精灵从屏幕中间往两边排列散开
//this.ShowImg[i] 需要排列什么就push加进数组里面,一个for循环计算即可 var size = this.ShowImg.length;var count = size; for ...
- 6.短信验证码60s倒计时
短信验证码60s倒计时 html: <input type="button" class="btn btn-primary" value="免 ...
- mysql 错误2002
ERROR 2002 (HY000): Can’t connect to local MySQL server throughsocket ‘/tmp/mysql.sock’ (2) 今天遇到的200 ...
- SQL语句提取某列中的HTML文本内容。或者说怎么用SQL语句去除所有HTML标签
CREATE FUNCTION [dbo].[f_trimstr] ( @str NVARCHAR(MAX) ) RETURNS NVARCHAR(MAX) AS BEGIN ...
- linux降低内存后oracle数据库无法启动
降低了虚拟机的内存之后发现虚拟机中的oracle数据库无法startup,原因是 target memory的数据有问题,然后在安装数据库的使用的是自动内存管理.涉及的一个系统文件 /dev/shm ...
- Unity shader学习之标准的Unity shader
包含光照,可处理多个光源,有光照衰减和阴影的shader,代码如下: 转载请注明出处:http://www.cnblogs.com/jietian331/p/7199311.html Shader & ...
- HTML5特性&&canvas
1.HTML5是由W3C(万维网联盟,专注于XHTML 2.0)和WHATWG(专注于web表单和应用程序)共同合作的结果,2014年10月完成标准制定! 主要设计目的:为了在移动设备上支持多媒体. ...
- 获取数据库连接对象Connection
2018-11-04 19:50:52 开始写 public Connection getConn() {//返回类型为Connection try { Class.forName("co ...
- MySql 存储过程 光标只循环一次
[1]MqSql 存储过程 光标只循环一次 针对MySql存储过程,光标只循环一次就退出的场景,可能原因分析: (1)存储过程有问题(仔细检查语法.控制变量.条件等等) (2)保证存储过程正确.调用过 ...