zabbix lld监控oracle,oracle -lld zabbix实际还是没现成方案

所以,我打算重新造这个轮子。  二、监控 Oracle 的需求  1、可以自动发现所有数据库实例并监控  2、可以自动发现所有数据库实例里的表空间,监控大小及使用率  3、可以灵活扩展监控选项  4、可以方便升级(如果在zabbix框架里,我已经实现里自动升级功能)  三、设计及功能详解  首先来看一个 Oracle 数据库的架构,和我们常用的MySQL有一点不一样。  在一个数据库里可以有多个实例,每个实例下面包括多个用户和多个表空间。    我们最终要监控的 item 至少应该知道以下几个信息:  实例名字、数据库用户名、数据库密码、管理数据库的操作系统用户及环境文件,如果要监控表空间,还需要表空间的名字。  听起来还是比较晕的,下面我来梳理一下这些信息。  四、几个主要程序的作用:  1) key.conf 文件中定义了4个key    第一个key用来发现有几个实例  第二个key用来获取实例里需要监控的值  第三个key用来发现所有实例里所有的表空间  第四个key用来获取表空间的大小和使用率  2) oracle.conf 定义了实例的基本信息    其实也可以没有这个文件,但是需要满足一些条件,完全做到关联模板就自动发现并监控。  但是需要两个条件,有兴趣的朋友可以试试:  用程序发现所有实例及运行实例的用户,这个简单  ps -ef|grep smon|grep -v grep|awk '{print $8}'|awk -Fora_smon_ '{print $2}'  为 Zabbix 在所有数据库里创建统一的监控账号和密码,然后在获取数据里的shell定义或者从Zabbix web传参给获取数据的shell也行。  3、discover_oracle_db.sh  发现所有实例并输出JSON格式数据给Zabbix  4、discover_oracle_tb.sh  发现所有实例及表空间并输出JSON格式数据给Zabbix  5、sql目录下的*.sql  sql目录下的所有sql文件都是用到的执行语句,所以在shell里你看不到具体的执行语句,都是调用的这里的,在shell里的调用语法大概都是这样:  sqlplus -s ${DB_USER}/${DB_PASS} @/etc/zabbix/zabbix_agentd.d//sql/xxxxx.sql  如果你需要扩展监控,还需要添加一个对应的sql语句  五、在Zabbix Web里配置监控项  1、添加两个自动发现,一个数据库实例自动发现,一个数据库表空间自动发现。  2、添加需要监控的item及trigger等  六、Latest data里的效果  三个Applications分组    所有实例里的监控项    所有实例里所有表空间的使用率    理论上这套架构设计可以满足多数据库实例(单实例,集群实例)、多表空间的自动发现及监控需求。  代码我需要整理一下发布,因我不太懂Oracle,谁要是很懂,可以帮我写一些oracle监控语句,我丰富一下监控项,加我微信yunweibang008  在此感谢搜狐畅游的杨建荣同学,他也是业内知名 Oracle 专家,帮我贡献了很多Oracle sql语句,下面是他的个人订阅号,有很多干货,值得关注。

zabbix实际还是没现成方案

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值