irpas技术客

使用zabbix监控oracle数据库_guang.yan_zabbix监控oracle

irpas 7688

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

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://·/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


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #zabbix监控oracle #Linux #75 #zabbix #Server #34