Orabbix是在zabbix的基础上提供的一套插件,能够提供对Oracle的监控功能真是术业有专攻,在Oracle层面zabbix希望也能够走得更远,所以对于Oracle的支持还是比较开放的,而对于Orabbix和zabbix server,zabbix agent的关联关系,可以使用下面的图形来表示,能够说明大体的意思。
从这个图中可以看出zabbix的server端会提供agent发起的请求,把部分信息持久化在server端的MySQL中,而Orabbix的定位则是侧重于Oracle的监控,和zabbix agent的是同一个级别的agent.
只是zabbix agent侧重于系统和MySQL的监控。
orabbix官方提供的架构图如下,可以参考链接http://www.smartmarmot.com/wiki/index.php/Orabbix
可以看出其实内部是通过Java的jdbc来实现的监控,所以要安装orabbix是需要安装java的,而且需要的版本也不低。
在orabbix提供的默认监控模板中,提供了几十个监控项,但是如果你是从grid control的角度来看orabbix,会发现有些功能检测还是不错的,有些相对是有些多余的。至少对于缓存命中率的监控在10g,11g已经没有9i那么依赖。如果对于grid control提供的部分功能感觉还是不够满意,orabbix就提供了一个很开放的平台,你可以根据你的需要来定制。
比如我们举一个例子,在10g中的快速闪回区是一个很重要的参数,在rman,归档,闪回数据库等功能中都是默认的配置,所以这个路径下的空间需求还是比较大,可以把这个作为一个监控目标。
在orabbix的安装目录下,有一个配置文件,可以在里面直接嵌入各种需要扩展的监控项。
/home/orabbix/conf/query.props
这个文件中有一个QueryList,提供了需要的监控项,这个时候我们需要监控闪回区的空间使用,我们定义监控项为:arch_area_usage_per
QueryList=xxxxxxx, arch_area_usage_per
然后对于这个监控项,我们指定对应的语句来进行使用率的查询。
arch_area_usage_per.Query=select sum(PERCENT_SPACE_USED ) from V$RECOVERY_AREA_USAGE
orabbix会根据一定的规则来解析这个键值对,注意最后是不需要分号的,如果sql语句比较长,需要以\结尾,比如还是这个sql语句,如果我们想改写成多行。就可以这么配置。
arch_area_usage_per.Query=select \
sum(PERCENT_SPACE_USED ) \
from V$RECOVERY_AREA_USAGE
到此后台的配置就完成了。
我们需要在zabbix的配置中引入这个监控项,关键是key的值需要为我们设定的监控项
然后我们设定一个可以直接设置一个图形。
然后在screen中查看就能看到设置后的闪回空间监控图了。右边的图形就是闪回区的使用情况,可以看到现在只使用了6%,相对于左边的监控图效果也差不了多少。
从这个例子可以看出,定制化在orabbix中可以极大的发挥优势,可以基本达到所想所得的效果。
Orabbix定制监控Oracle的简单配置
2021-07-23 20:23:36