使用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 list语法学习(带例子)
Nov 01 Python
Python实现短网址ShortUrl的Hash运算实例讲解
Aug 10 Python
八大排序算法的Python实现
Jan 28 Python
python 3.5实现检测路由器流量并写入txt的方法实例
Dec 17 Python
python特性语法之遍历、公共方法、引用
Aug 08 Python
python全栈要学什么 python全栈学习路线
Jun 28 Python
Python使用字典实现的简单记事本功能示例
Aug 15 Python
python多线程扫描端口(线程池)
Sep 04 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
Jan 20 Python
浅谈pymysql查询语句中带有in时传递参数的问题
Jun 05 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
Sep 03 Python
Python类class参数self原理解析
Nov 19 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
PHP5与MySQL数据库操作常用代码 收集
2010/03/21 PHP
PHP实现C#山寨ArrayList的方法
2015/07/16 PHP
php示例详解Constructor Prototype Pattern 原型模式
2015/10/15 PHP
javascript TextArea动态显示剩余字符
2008/10/22 Javascript
javascript delete 使用示例代码
2010/03/29 Javascript
location.search在客户端获取Url参数的方法
2010/06/08 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
Extjs EditorGridPanel中ComboBox列的显示问题
2011/07/04 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
扒一扒JavaScript 预解释
2015/01/28 Javascript
JavaScript截断字符串的方法
2015/07/15 Javascript
jQuery插件实现无缝滚动特效
2015/11/24 Javascript
jquery中validate与form插件提交的方式小结
2016/03/26 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
2016/08/29 Javascript
详解如何使用webpack在vue项目中写jsx语法
2017/11/08 Javascript
JavaScript实现图片放大镜效果
2019/06/27 Javascript
微信小程序在其他页面监听globalData中值的变化
2019/07/15 Javascript
js实现验证码功能
2020/07/24 Javascript
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
Python实现疫情地图可视化
2021/02/05 Python
HTML5页面音视频在微信和app下自动播放的实现方法
2016/10/20 HTML / CSS
介绍下Java的输入输出流
2014/01/22 面试题
汽车专业人才自我鉴定范文
2013/12/29 职场文书
关于元旦的广播稿
2014/02/16 职场文书
大学生心理活动总结
2014/07/04 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
高中生逃课检讨书
2014/10/10 职场文书
2015年少先队活动总结
2015/03/25 职场文书
检讨书范文大全
2015/05/07 职场文书
2015年林业工作总结
2015/05/14 职场文书
浅谈Redis位图(Bitmap)及Redis二进制中的问题
2021/07/15 Redis
javascript遍历对象的五种方式实例代码
2021/10/24 Javascript
MySQL查询日期时间
2022/05/15 MySQL
springboot读取nacos配置文件
2022/05/20 Java/Android
delete in子查询不走索引问题分析
2022/07/07 MySQL