使用zabbix监控oracle数据库

以下是我安装的环境,实际部署时并不需要跟我的环境一样

zabbix监控主机Redhat Linux 7.5 + Zabbix server 3.4 + Python 3.6 (系统默认的2.7,我改用的3.6) + Oracle Client 19.12 (x86_64)

被监控主机 Oracle 11.2.0.4

本文介绍的是使用external check方式去监控oracle数据库。

以下所有操作均在zabbix服务器上面执行

安装oracle客户端

从官网下载如下三个rpm包
https://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

oracle-instantclient19.12-basic-19.12.0.0.0-1.x86_64.rpm
oracle-instantclient19.12-devel-19.12.0.0.0-1.x86_64.rpm
oracle-instantclient19.12-sqlplus-19.12.0.0.0-1.x86_64.rpm

使用root安装oracle客户端
rpm -ivh oracle-instantclient19.12-basic-19.12.0.0.0-1.x86_64.rpm
rpm -ivh oracle-instantclient19.12-devel-19.12.0.0.0-1.x86_64.rpm
rpm -ivh oracle-instantclient19.12-sqlplus-19.12.0.0.0-1.x86_64.rpm

配置环境变量

vim /etc/profile

export ORACLE_HOME=/usr/lib/oracle/19.12/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin

执行下面的命令让配置生效

source /etc/profile

添加动态库配置文件
vim /etc/ld.so.conf
vim /etc/ld.so.conf.d/oracle-instantclient.conf
添加
/usr/lib/oracle/11.2/client64/lib

执行命令ldconfig

查看python版本
python -V
python版本与cx_Oracle版本要一致,我的安装cx_Oracle2.7失败,改用了python3.6
先删除链接
rm -rf /usr/bin/python
删除后再建立新的链接关系:
ln -s /usr/bin/python3 /usr/bin/python

安装python相关包
安装argparse
下载3.6版本
wget https://bootstrap.pypa.io/pip/3.6/get-pip.py
python get-pip.py
pip install argparse

安装cx_Oracle(python连接oracle的包)
https://pypi.org/project/cx-Oracle/#files
cx_Oracle-8.2.1-cp36-cp36m-manylinux1_x86_64.whl
pip install cx_Oracle-8.2.1-cp36-cp36m-manylinux1_x86_64.whl

联网的话直接pip install cx_Oracle也行

上传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 192.168.100.120 --port 1521 --database orcltest show_tablespaces

上面测试脚本的参数说明

username: 用户名
password: 密码
address: 被监控机ip地址
port: 端口号
database: oracle service name

有返回结果表示脚本能正常运行

上传template文件
将附件中的Pyora_ExternalCheck_11G.xml模板导入到zabbix server中

在zabbix页面中,依次点击Configuration – Templates – Import – 选择文件 – Import,即完成了导入
在这里插入图片描述
添加机器,并链接到模板
在zabbix页面中,依次点击Configuration – Hosts – Create host – Hostname (输入ip地址) – groups (选Linux servers) – Templates (选择Pyora_ExternalCheck_11G) – 点击上面的Add – Macros – 点击上面的Add添加宏,全部添加完毕后,点击下面的Add,主机即添加完毕
在这里插入图片描述

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

cx-Oracle下载地址
https://pypi.org/project/cx-Oracle/#files
https://pypi.org/project/cx-Oracle/7.0.0/#files

get-pip.py下载地址
https://bootstrap.pypa.io/pip
https://bootstrap.pypa.io/pip/2.7/get-pip.py
https://bootstrap.pypa.io/pip/3.6/get-pip.py

附件:pyora.py,Pyora_ExternalCheck_11G.xml地址放在百度网盘上
链接:https://pan.baidu.com/s/1NBtHtuaT-t74qrY80jRygw
提取码:1234

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值