使用Python脚本zabbix自定义key监控oracle连接状态


Posted in Python onAugust 28, 2019

目的:此次实验目的是为了zabbix服务端能够实时监控某服务器上oracle实例能否正常连接

环境:1、zabbix_server

2、zabbix_agent(含有oracle)

主要知识点:

1、zabbix_get用法

2、python中cx_Oracle模块使用

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

1、zabbix_get用法

常用用法

zabbix_get -s host-name-or-IP [-p port-number] [-I IP-address] -k item-key

在我们zabbix_server端可以测试一个zabbix_agent端的key

使用Python脚本zabbix自定义key监控oracle连接状态

正常情况下会返回一个结果

注:关于zabbix客户端有哪些key值,我们可以在客户端用zabbix_agentd -p命令查看

使用Python脚本zabbix自定义key监控oracle连接状态

test为我自己创建的一个key

2、创建自定义Key

创建自定义key的方法相当简单

在我们客户端的zabbix_agentd.conf配置文件中加入几个参数就可以了

使用Python脚本zabbix自定义key监控oracle连接状态

这是我加入的两行

1、UnsafeUserParameters参数有两个值1或0

0为禁用

1为开启

2、UserParameter=key名字,命令或脚本(用法)

加完配置后记得重启客户端进程!!

3、脚本的定义

这个步骤是最为核心的,所有你想实现的监控都可以在这步进行规划

此次我测试的是oracle实例的连接状态(能连或不能连)

代码如下

#-*- encoding: utf-8 -*-

import cx_Oracle
try:
 conn=cx_Oracle.connect('system/oracle@172.168.9.186:1521/orcl')
 c=conn.cursor()
 c.close()
 conn.close()
 print('1')
except cx_Oracle.DatabaseError,error:
 print('2')

其中需要用到一个cx_Oracle第三方模块

我这里再提一点:

虽然我在单独运行脚本时是没有任何报错的,但是在我用zabbix_get进行测试的时候还是会有导入模块错误

使用Python脚本zabbix自定义key监控oracle连接状态

这是由于客户端共享库链接没有做好

使用Python脚本zabbix自定义key监控oracle连接状态

添加libclntsh.so.11.1所在的路径

在运行ldconfig命令生效你的配置

再次进行测试

使用Python脚本zabbix自定义key监控oracle连接状态

到此基本都已经完成

剩下就是在web端添加此key的监控即可

4、web端添加监控

使用Python脚本zabbix自定义key监控oracle连接状态

使用Python脚本zabbix自定义key监控oracle连接状态

使用Python脚本zabbix自定义key监控oracle连接状态

监控项创建完毕,我们进行触发器的创建。

使用Python脚本zabbix自定义key监控oracle连接状态

使用Python脚本zabbix自定义key监控oracle连接状态

使用Python脚本zabbix自定义key监控oracle连接状态

至此,触发器已创建完毕(当返回值为2,也就是连不通的时候会触发告警)!

接下来我们自己可以进行测试

当我们关掉数据库监听

使用Python脚本zabbix自定义key监控oracle连接状态

使用Python脚本zabbix自定义key监控oracle连接状态

显然服务端收到的返回值是2

我们在来看看web端

使用Python脚本zabbix自定义key监控oracle连接状态

看到web端已经有告警提示了

接下来我们把监听开起来

使用Python脚本zabbix自定义key监控oracle连接状态

这时候web端已经提示问题已经解决!

此次实验至此已经全部完成。

总结

以上所述是小编给大家介绍的使用Python脚本zabbix自定义key监控oracle连接状态,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python版微信红包分配算法
May 04 Python
Python中遍历字典过程中更改元素导致异常的解决方法
May 12 Python
详解Python中的__new__、__init__、__call__三个特殊方法
Jun 02 Python
详解Python读取配置文件模块ConfigParser
May 11 Python
Python函数参数操作详解
Aug 03 Python
Python检查ping终端的方法
Jan 26 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
Apr 09 Python
python Tkinter的图片刷新实例
Jun 14 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
Aug 12 Python
keras-siamese用自己的数据集实现详解
Jun 10 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
Jun 11 Python
pytorch实现加载保存查看checkpoint文件
Jul 15 Python
django删除表重建的实现方法
Aug 28 #Python
Python Django 前后端分离 API的方法
Aug 28 #Python
django重新生成数据库中的某张表方法
Aug 28 #Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
Aug 28 #Python
关于Python核心框架tornado的异步协程的2种方法详解
Aug 28 #Python
python使用celery实现异步任务执行的例子
Aug 28 #Python
Python Gitlab Api 使用方法
Aug 28 #Python
You might like
php桌面中心(二) 数据库写入
2007/03/11 PHP
php笔记之:AOP的应用
2013/04/24 PHP
PHP header()函数常用方法总结
2014/04/11 PHP
PHP中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
2016/01/09 PHP
thinkPHP实现将excel导入到数据库中的方法
2016/04/22 PHP
php有效防止图片盗用、盗链的两种方法
2016/11/01 PHP
CI框架附属类用法分析
2018/12/26 PHP
php DES加密算法实例分析
2019/09/18 PHP
javascript动态加载实现方法一
2012/08/22 Javascript
JQuery中操作Css样式的方法
2014/02/12 Javascript
js图片自动轮播代码分享(js图片轮播)
2014/05/06 Javascript
详解Node.Js如何处理post数据
2016/09/19 Javascript
微信小程序  简单实例(阅读器)的实例开发
2016/09/29 Javascript
基于vue2框架的机器人自动回复mini-project实例代码
2017/06/13 Javascript
使用yeoman构建angular应用的方法
2017/08/14 Javascript
three.js实现3D模型展示的示例代码
2017/12/31 Javascript
JavaScript展开操作符(Spread operator)详解
2019/07/20 Javascript
ElementUI多个子组件表单的校验管理实现
2019/11/07 Javascript
Python的Flask框架中实现分页功能的教程
2015/04/20 Python
深入浅析python定时杀进程
2016/06/06 Python
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
2017/11/08 Python
Python中实现switch功能实例解析
2018/01/11 Python
python set内置函数的具体使用
2019/07/02 Python
详解python中index()、find()方法
2019/08/29 Python
django model通过字典更新数据实例
2020/04/01 Python
OpenCV 之按位运算举例解析
2020/06/19 Python
浅析python 字典嵌套
2020/09/29 Python
python try...finally...的实现方法
2020/11/25 Python
美国酒店控股公司:Choice Hotels
2018/06/15 全球购物
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
俄罗斯香水和化妆品在线商店:Aroma-butik
2020/02/28 全球购物
领导四风问题整改措施思想汇报
2014/10/13 职场文书
交通安全月活动总结
2015/05/08 职场文书
电视新闻稿
2015/07/17 职场文书