以下是我安装的环境,实际部署时并不需要跟我的环境一样
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.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。 |