本次介绍如何使用zabbix监控oracle,主要使用pyora这个python脚本来监控,具体地址可以参考https://github.com/bicofino/Pyora

我的zabbix版本为2.0.6,oracle为11g

下面是部分效果图

1、Oracle/Active user count

45035053ba07f8cbabd34a4f25e3cce7.png

2、Oracle/Bytes sent and received via SQL*Net to Client

531b9a7ac317eee69e5b192e31fc653e.png

3、Oracle/Database CPU Time Ratio

e17cf9bec7ef3f0ac72cf80a1bc10218.png

4、Oracle/Database Wait Time Ratio

16aa1f4b566865fd5f7a27b4bb9358d8.png

5、Oracle/Deadlocks

904b3b5cb90e31e602dde50369228e7d.png

6、Oracle/Disk sorts ratio

e54c74e224027881da9cb3efb2182a87.png

7、Oracle/Hard parse ratio

3a6b90c6c3886c66a4182b40244b85ea.png

8、Oracle/Query

e255395a5ab81406cc189412bbde5b86.png

9、Oracle/Size of all datafiles

a1dd3e28dc5a3c45f1b36ed216eaa5bc.png

10、Oracle/Size of user data (without temp)

9cde2666211d91151fd6c300e188db21.png

11、Oracle/Table scan rows gotten

0f7327c634057a9ec4d8c080c2a1c2b8.png

12、Oracle/Tablespace Use On SYSTEM

4570ebf5e5d7a56ef5e236361044cd54.png

13、Oracle/Uptime

51f95270512d0b525d796d64c4c958ff.png

14、Oracle/User Transaction Per Sec

39ce128697dae942af6a6dbb5d19abc4.png

15、Oracle listen 1521 port

a42550c4ac64820e01dabcef8aa1048f.png

报警方面:

1、oracle的1521端口是否监听

2、表空间使用率

3、Oracle是否重启

4、query lock是否有

5、query session大于250

6、asm使用率

如何实现:

一、客户端

1、修改zabbix_agentd.conf文件

在zabbix_agentd.conf最后添加以下内容UserParameter=pyora[*],/usr/local/zabbix/bin/pyora.py --username $1 --password $2 --address $3 --database $4 $5 $6 $7 $8

2、把附件的pyora.py的脚本放到/usr/local/zabbix/bin里,然后给与755权限,并修改用户与组为zabbix(注意,我的pyora.py脚本修改了一些内容,比如如果出现None的返回,我修改为0了,如果需要使用原来的脚本,请去https://github.com/bicofino/Pyora里面下载)

3、安装依赖

确保本机python在2.6以上

安装cx_Oracle与argparseeasy_install cx_Oracle

easy_install argparse

4、在oracle里创建监控oracle账户CREATE USER ZABBIX IDENTIFIED BY 'zabbix' DEFAULT TABLESPACE SYSTEM TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;

GRANT CONNECT TO ZABBIX;

GRANT RESOURCE TO ZABBIX;

ALTER USER ZABBIX DEFAULT ROLE ALL;

GRANT SELECT ANY TABLE TO ZABBIX;

GRANT CREATE SESSION TO ZABBIX;

GRANT SELECT ANY DICTIONARY TO ZABBIX;

GRANT UNLIMITED TABLESPACE TO ZABBIX;

GRANT SELECT ANY DICTIONARY TO ZABBIX;

GRANT SELECT ON V_$SESSION TO ZABBIX;

GRANT SELECT ON V_$SYSTEM_EVENT TO ZABBIX;

GRANT SELECT ON V_$EVENT_NAME TO ZABBIX;

GRANT SELECT ON V_$RECOVERY_FILE_DEST TO ZABBIX;

5、重启zabbix服务ps -ef|grep zabbix|grep -v grep|awk '{print $2}'|xargs kill -9

/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/conf/zabbix_agentd.conf

二、服务端

1、模板导入

把Template Oracle Auto Discovery导入到zabbix里(模板在附件)。

2、主机关联模板

在添加主机,并且关联模板的时候,选择“宏”

823bbbe8fdc4f9198b739a0ff06dfb1b.png

然后输入对应信息

521280b047ccbd812de5aab9567c39f9.png

这样就能出图了,注意自动发现规则的时间为3600秒。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐