使⽤zabbix监控oracle数据库的⽅法详解
⼀、概述
zabbix是⼀款⾮常强⼤,同时也是应⽤最为⼴泛的开源监控软件,本⽂将给⼤家介绍如何利⽤zabbix+python监控oracle数据库。
⼆、环境介绍
以下是我安装的环境,实际部署时并不需要跟我的环境⼀样。
1. 监控机 Redhat Linux 6.5 + Zabbix server 3.4.10 + Python
2.6.6 (操作系统⾃带) + Oracle Client 11.2 (x86_64)
2. 被监控机 Oracle 11.2.0.4
三、选择监控⽅式
zabbix监控的⽅式主要有以下三种类型
Zabbix agent
在被监控机上⾯安装zabbix agent,zabbix agent将被监控机采集到的数据发送给zabbix server。这种⽅式最常⽤,⼀般⽤来采集服务器的cpu、内存等信息。
SNMP
⼀些⽹络设备如交换机,上⾯⽆法安装zabbix agent,所以只能通过snmp的⽅式收集监控数据如端⼝状态,流量等。
External check
在zabbix server上⾯运⾏查询脚本,直接查询被监控机上的数据。此种⽅式在被监控机上⾯不需要做任何部署,所有查询全部从zabbix server上⾯发出,所以对zabbix server的性能要求较⾼,官⽅不推荐⼤量使⽤该⽅式。对于少量的oracle数据库服务器,可以采⽤该⽅式。
本⽂介绍的就是使⽤external check⽅式去监控oracle数据库。
四、规划监控项
监控数据库的⽬的是为了保障数据库稳定运⾏,⼀旦出现故障,dba能够及时发现并介⼊处理,监控项分为以下两类
1. 数据库空间不⾜或数据库发⽣故障,DBA需要⽴即处理。
监控项包括表空间、⽤户状态、实例状态、锁、⼤量等待事件、闪回区使⽤率等。此类监控项需要给其设置触发器,⼀旦出现异常,及时告警。
2. 数据库运⾏状态的⼀些统计信息,为DBA定位数据库性能问题发⽣的时间和类别提供参考。
监控项包括常见的等待事件发⽣的次数,命中率、硬解析⽐例等。oracle选择数据库
下⾯表格中列出附件中模板的监控项
五、安装
上⾯闲话扯完,进⼊正式安装环节,我假定你已经安装了zabbix server,因此这⾥略过zabbix server的安装步骤。以下所有操作均在zabbix服务器上⾯执⾏
安装oracle客户端
从官⽹下载如下三个rpm包
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
使⽤root安装oracle客户端
rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
配置环境变量
vi + /etc/profile
---------------------------------------------
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
执⾏下⾯的命令让配置⽣效
source /etc/profile
添加动态库配置⽂件
vi + /etc/f.f
---------------------------------------
/usr/lib/oracle/11.2/client64/lib
执⾏命令ldconfig
连接oracle进⾏测试
SQL> sqlplus scott/tiger@192.168.56.101:1521/orcltest
SQL*Plus: Release 11.2.0.4.0 Production on Wed Apr 24 18:24:28 2019
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL>
出现上⾯的提⽰证明oracle client安装成功
安装python相关包
安装cx_Oracle(python连接oracle的包)
rpm -ivh cx_Oracle-5.1.2-11g-py26-1.x86_64.rpm
安装argparse
python get-pip.py
pip install argparse
上传python脚本
将附件中的pyora.py脚本放⼊/usr/lib/zabbix/externalscripts/⽬录下
赋权限,让zabbix⽤户能够执⾏该脚本
chmod 755 /usr/lib/zabbix/externalscripts/pyora.py
[注意:先在被监控机的oracle数据库中创建监控⽤户,⽤户名和密码可以⾃⼰随意指定create user zabbix identified by zabbix;
grant connect, select any dictionary to zabbix;]
测试脚本
python pyora.py --username zabbix --password zabbix --address 10.30.10.32 --port 1521 --database office
show_tablespaces
上⾯测试脚本的参数说明
username: ⽤户名
password: 密码
address: 被监控机ip地址
port: 端⼝号
database: oracle service name
有返回结果表⽰脚本能正常运⾏
上传template⽂件
将附件中的Pyora_l模板导⼊到zabbix server中
在zabbix页⾯中,依次点击Configuration – Templates – Import – 选择⽂件 – Import,即完成了导⼊
查看监控数据
Monitoring – Latest Data – Host (选择对应的主机),则可以看到监控的数据了
附件:
pyora.py,Pyora_l地址放在github上
到此这篇关于使⽤zabbix监控oracle数据库的⽅法详解的⽂章就介绍到这了,更多相关zabbix监控oracle数据库内容请搜索以前
的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论