使用zabbix监控oracle数据库的方法详解

 更新时间:2021年03月11日 16:32:05   作者:小豹子加油  
这篇文章主要介绍了使用zabbix监控oracle数据库的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

一、概述

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定位数据库性能问题发生的时间和类别提供参考。

监控项包括常见的等待事件发生的次数,命中率、硬解析比例等。

下面表格中列出附件中模板的监控项

五、安装

上面闲话扯完,进入正式安装环节,我假定你已经安装了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/ld.so.conf.d/oracle.conf

---------------------------------------

/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的包)

wget http://downloads.sourceforge.net/project/cx-oracle/5.1.2/cx_Oracle-5.1.2-11g-py26-1.x86_64.rpm

rpm -ivh cx_Oracle-5.1.2-11g-py26-1.x86_64.rpm

安装argparse

wget https://bootstrap.pypa.io/2.6/get-pip.py --no-check-certificate

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_ExternalCheck_11G.xml模板导入到zabbix server中

在zabbix页面中,依次点击Configuration – Templates – Import – 选择文件 – Import,即完成了导入

查看监控数据

Monitoring – Latest Data – Host (选择对应的主机),则可以看到监控的数据了

参考: https://github.com/bicofino/Pyora

附件:

pyora.py,Pyora_ExternalCheck_11G.xml地址放在github上

https://github.com/YangBaohust/zabbix_templates

到此这篇关于使用zabbix监控oracle数据库的方法详解的文章就介绍到这了,更多相关zabbix监控oracle数据库内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • Zabbix WEB监测实现过程图解

    Zabbix WEB监测实现过程图解

    这篇文章主要介绍了Zabbix WEB监测实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Zabbix监控华为交换机DHCP接口地址池的操作过程

    Zabbix监控华为交换机DHCP接口地址池的操作过程

    最近工作中遇到一个因为DHCP地址池满载、导致用户无法获取到IP地址的故障,所以在想通过zabbix 监控DHCP地址池的状态、当DHCP 地址池数量小于某个值时触发zabbix告警,这篇文章主要介绍了Zabbix监控华为交换机DHCP接口地址池,需要的朋友可以参考下
    2023-08-08
  • 重置Zabbix密码的方法(一步到位)

    重置Zabbix密码的方法(一步到位)

    由于长时间不通过账号密码的方式登录zabbix,容易忘记密码,小编今天通过转换对应的md5直接在数据库中重置密码,对重置Zabbix密码感兴趣的朋友一起看看吧
    2020-02-02
  • zabbix监控sqlserver的过程详解

    zabbix监控sqlserver的过程详解

    这篇文章主要介绍了zabbix监控sqlserver的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-10-10
  • Zabbix邮件报警设置方法

    Zabbix邮件报警设置方法

    这篇文章主要介绍了Zabbix邮件报警设置方法,在Zabbix服务端设置邮件报警,当被监控主机宕机或者达到触发器预设值时,会自动发送报警邮件到指定邮箱
    2014-10-10
  • Zabbix如何使用过滤器实现监控

    Zabbix如何使用过滤器实现监控

    这篇文章主要介绍了Zabbix如何使用过滤器实现监控,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 详解ZABBIX监控ESXI主机的问题

    详解ZABBIX监控ESXI主机的问题

    这篇文章主要介绍了ZABBIX监控ESXI主机,主要包括配置zabbix服务端和配置esxi的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • kubernetes集群搭建Zabbix监控平台的详细过程

    kubernetes集群搭建Zabbix监控平台的详细过程

    Zabbix是一个基于Web界面的分布式系统监控的企业级开源软件。可以监视各种系统与设备的参数,保障服务器及设备的安全运营,这篇文章主要介绍了kubernetes集群搭建Zabbix监控平台,需要的朋友可以参考下
    2022-07-07
  • zabbix 4.04 安装文档教程详解(基于CentOS 7.6)

    zabbix 4.04 安装文档教程详解(基于CentOS 7.6)

    这篇文章主要介绍了基于CentOS 7.6系统zabbix 4.04 安装文档,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2020-01-01
  • Zabbix安装图文教程(需要LAMP或者LNMP运行环境)

    Zabbix安装图文教程(需要LAMP或者LNMP运行环境)

    要想安装Zabbix那么在Linux下安装zabbix需要有LAMP或者LNMP运行环境才可以,这里给大家分享下Zabbix安装方法,需要的朋友可以参考下
    2014-10-10

最新评论

?


http://www.vxiaotou.com