zabora监控Oracle数据库

它作为一个开源项目,通过shell脚本有效的监控Oracle基础指标。本文档旨在通过实战,在Zabbix 3.0版本之下,监控生产环境下的多台Oracle数据库。

建立oracle账号

CREATE USER monitor IDENTIFIED BY 'xxxxxxx' DEFAULT TABLESPACE SYSTEM TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
GRANT CONNECT TO monitor;
GRANT RESOURCE TO monitor;
ALTER USER monitor DEFAULT ROLE ALL;
GRANT SELECT ANY TABLE TO monitor;
GRANT CREATE SESSION TO monitor;
GRANT SELECT ANY DICTIONARY TO monitor;
GRANT UNLIMITED TABLESPACE TO monitor;
GRANT SELECT ANY DICTIONARY TO monitor;
GRANT SELECT ON V_$SESSION TO monitor;
GRANT SELECT ON V_$SYSTEM_EVENT TO monitor;
GRANT SELECT ON V_$EVENT_NAME TO monitor;
GRANT SELECT ON V_$RECOVERY_FILE_DEST TO monitor;

基本原理

它的核心是通过一个zabora.sh脚本,调用zabora/sql目录下的多个sql脚本,用于获取json数据。然后在zabbix平台上调用。用于监控。

部署命令:

./zabora/deploy_zabbix.sh "${ORACLE_USER}" "${ORACLE_PASS}"
chmod 755 /etc/zabbix/scripts/agentd/zabora/zabora.sh

如上命令,可以直接部署zabora.sh脚本。效果如下:

  1. 配置了/etc/zabbix/zabbix_agentd.d/zabora.conf

    放置shell脚本,SQL脚本到/etc/zabbix/scripts/agentd/zabora目录下。

    UserParameter=zabora[*],/etc/zabbix/scripts/agentd/zabora/zabora.sh -o $1 -s $2 -a $3
    UserParameter=zabora.discovery[*],/etc/zabbix/scripts/agentd/zabora/zabora.sh -o $1 -s $2 -a $3 -j $4
    UserParameter=zabora.version,/etc/zabbix/scripts/agentd/zabora/zabora.sh -v short
  2. 这里手工调用zabora.sh,查看其机理。

    -o代表oracle的sid

    -s代表调用sql脚本的简称。

    -j是否以json串的结果输出。

    以下是查看Oracle表空间的信息。

    [root@oradb sql]# /etc/zabbix/scripts/agentd/zabora/zabora.sh -o oradb -s tb_list -j 1
    {
    "data":[
    { "{#1}":"SYSTEM" },
    { "{#1}":"SYSAUX" },
    { "{#1}":"USERS" },
    { "{#1}":"OD" },
    { "{#1}":"OA" },
    { "{#1}":"FA" },
    { "{#1}":"HR" },
    { "{#1}":"IPC_HZ_DB" },
    { "{#1}":"PM" },
    { "{#1}":"DEF3DB" },
    { "{#1}":"HDOA" },
    { "{#1}":"ARP" },
    { "{#1}":"LMS_MANAGE" },
    { "{#1}":"LMS_SERVER" },
    { "{#1}":"DEVPLATFORM" },
    { "{#1}":"NEWOA" },
    { "{#1}":"PAY" },
    { "{#1}":"WHIOV_OA" },
    { "{#1}":"TBS_OA" },
    { "{#1}":"FIN" },
    { "{#1}":"EXCHANGE" },
    { "{#1}":"PLATFORM" },
    { "{#1}":"NNC_DATA02" },
    { "{#1}":"NNC_DATA03" },
    { "{#1}":"NNC_INDEX01" },
    { "{#1}":"NNC_INDEX02" },
    { "{#1}":"NNC_INDEX03" },
    { "{#1}":"PORTAL" },
    { "{#1}":"NNC_DATA01" },
    { "{#1}":"FINEDB" },
    { "{#1}":"ARP_FLASH_ARC" },
    { "{#1}":"FINEDB51" }
    ]
    }
  3. 在server端,测试脚本的可用性.

    [root@localhost ~]# zabbix_get -s 172.31.222.34 -k "zabora[oradb,db_active,1]"
    1
    [root@localhost ~]# zabbix_get -s 172.31.222.34 -k "zabora[oradb,tb_size,SYSTEM]"
    3.43

以上说明,后台server端和agent端,脚本配置无误。现在可以配置前台,用于监控oracle的相关指标。

zabbix前台配置

步骤1,导入模板

选择template_db_oracle-2.2.xml这个模板,【配置】--》【模板】--》【导入】,模板导入成功。

模板的内容,无非就是监控项,触发器,图形等。其实可以自己建立一个监控指标,用于监控。

步骤2,添加主机到模板中。

【配置】--》【主机】。选择你要监控的Oracle主机。

【模板】,添加需要链接的模板,这里的模板名字为【Template_DB_Oracle】。

【主机】--》【宏】。用于配置{$ORACLE_SID}的参数值。效果如下:

{$ORACLE_SID} = oradb。

最终效果

【Zabbix】zabora监控Oracle数据库的更多相关文章

  1. Zabbix+Orabbix监控oracle数据库表空间

    Orabbix 是设计用来为 zabbix 监控 Oracle 数据库的插件,它提供多层次的监控,包括可用性和服务器性能指标. 它提供了从众多 oracle 实例采集数据的有效机制,进而提供此信息的监 ...

  2. 利用zabbix监控oracle数据库

    一.概述 zabbix是一款非常强大,同时也是应用最为广泛的开源监控软件,本文将给大家介绍如何利用zabbix监控oracle数据库. 二.环境介绍 以下是我安装的环境,实际部署时并不需要跟我的环境一 ...

  3. 使用Zabbix监控Oracle数据库

    Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...

  4. 搜索表字段包含某字符串的SQL和监控Oracle数据库的SQL。

    1.第一个SQL 背景:需要找到SQL Server数据库中,包含某个字符串的表,输出表和包含该字符串的列. )='=' --这里填要搜索的字符串 DECLARE @sql NVARCHAR(MAX) ...

  5. 8个DBA最常用的监控Oracle数据库的常用shell脚本

    本文介绍了8个常用的监控数据shell脚本.首先回顾了一些DBA常用的Unix命令,以及解释了如何通过Unix Cron来定时执行DBA脚本.网上也有好多类似的文章,但基本上都不能正常运行,花点时间重 ...

  6. Zabbix通过Orabbix监控Oracle数据库

    一.背景 公司业务使用的是一直Oracle数据库,因为多次出现表空间满的时候不能及时发现,每次都是业务组的人员通知处理,这样下来DBA这边就比较被动,所以老大要求监控表空间剩余大小并且当剩余过小时能够 ...

  7. Spotlight监控Oracle数据库的链接创建

    最近在做性能测试时,由于要挂载空间数据,开发人员直接将所有业务表都挂到了Oracle数据库中.最近做了几次测试发现响应时间和吞吐量都不是很理想,进行一番分析后怀疑可能在Oracle中出现问题,因此再网 ...

  8. Zabbix利用orabbix插件监控Oracle数据库

    一.jdk的安装(Orabbix Server) 1.软件解压,放到固定位置 1 2 tar zxf jdk-8u51-linux-x64.tar.gz mv jdk1.8.0_51/ /usr/lo ...

  9. zabbix 监控 oracle 数据库

    https://blog.csdn.net/dyllove98/article/details/41120853

随机推荐

  1. 在windows实现nginx滚动日志

    nginx自身并不能够切分或滚动日志,因此只能用一个bat脚本按天切割日志,并删除三天前的日志 @echo off rem nginx滚动日志 rem nginx工作目录 set workspace= ...

  2. 【LOJ#2687】Vim(动态规划)

    [LOJ#2687]Vim(动态规划) 题面 LOJ 题解 发现移动的路径一定是每次往后跳到下一个某个字符的位置,然后往回走若干步,删掉路径上的所有\(e\),然后继续执行这个操作. 这里稍微介绍一下 ...

  3. Linux less grep

    第一步,less查看文件 less 日志文件名 1,这时候,使用组合键 shift + g 可以定位到文件末尾. 在文件末尾,使用组合键(从末尾开始根据之后输入的字符串向上检索) shift + ? ...

  4. Java匹马行天下之学编程的起点——高级语言大锅烩

    学编程的起点——高级语言大锅烩 前言: 学知识前总想说点鸡汤,想喝的朋友就看看,不想喝的就直接看干货吧,就当鸡汤是给我自己喝的. 前段时间在网上看了一句话感觉挺触动我的,我做个分享: 如果你觉得你的祖 ...

  5. 2019-6-5-WPF-拼音输入法

    原文:2019-6-5-WPF-拼音输入法 title author date CreateTime categories WPF 拼音输入法 lindexi 2019-6-5 17:6:58 +08 ...

  6. java基础(12):构造方法、this、super

    1. 构造方法 我们对封装已经有了基本的了解,接下来我们来看一个新的问题,依然以Person为例,由于Person中的属性都被private了,外界无法直接访问属性,必须对外提供相应的set和get方 ...

  7. Spring Boot 中如何定制 Banner

    本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...

  8. django4-模板进阶

    1.模板系统的语法 引用变量数据: {{  }} 标签逻辑操作:{%...%} 2.变量 变量名由字符数字下划线组成 ,可以执行由视图函数传过来的对象的方法和属性 ,但是视图函数中如果使用 ' . ' ...

  9. java笔记----cpu消耗快速定位代码

    下载ProcessExplorer ProcessExplorer下载地址:ProcessExplorer 下载运行代码 打开ProcessExplorer 查看javaw.exe的pid jstac ...

  10. arcgis api 4.x for js 结合 react 入门开发系列react全家桶实现加载天地图(附源码下载)

    基于两篇react+arcgis的文章介绍,相信大家也能体会两者的开发区别了.在“初探篇”中作者也讲述了自己的选择,故废话不多说,本篇带大家体验在@arcgis/webpack-plugin环境下,使 ...