使用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之正规地说一句话
Sep 28 Python
简单介绍Python的Tornado框架中的协程异步实现原理
Apr 23 Python
python比较两个列表大小的方法
Jul 11 Python
Python基于pygame实现的font游戏字体(附源码)
Nov 11 Python
使用Python生成XML的方法实例
Mar 21 Python
Python3实现的Mysql数据库操作封装类
Jun 06 Python
使用pip发布Python程序的方法步骤
Oct 11 Python
浅谈python之高阶函数和匿名函数
Mar 21 Python
对Python中class和instance以及self的用法详解
Jun 26 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
Jun 28 Python
python3 线性回归验证方法
Jul 09 Python
Python实现投影法分割图像示例(一)
Jan 17 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文件夹与文件目录操作函数介绍
2013/09/09 PHP
php导入大量数据到mysql性能优化技巧
2014/12/29 PHP
PHP实现格式化文件数据大小显示的方法
2015/01/03 PHP
javascript 在网页中的运用(asp.net)
2009/11/23 Javascript
使用Jquery打造最佳用户体验的登录页面的实现代码
2011/07/08 Javascript
jQuery之排序组件的深入解析
2013/06/19 Javascript
解决js下referer兼容各大浏览器的方法
2014/11/03 Javascript
JavaScript对象反射用法实例
2015/04/17 Javascript
jQuery实现仿Google首页拖动效果的方法
2015/05/04 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
jQuery Validate插件实现表单验证
2016/08/19 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
jquery Ajax 全局调用封装实例详解
2017/01/16 Javascript
js控制文本框禁止输入特殊字符详解
2017/04/07 Javascript
Angular实现的table表格排序功能完整示例
2017/12/22 Javascript
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
javascript中函数的写法实例代码详解
2018/10/28 Javascript
Vue js 的生命周期(看了就懂)(推荐)
2019/03/29 Javascript
vue3+typeScript穿梭框的实现示例
2020/12/29 Vue.js
Python3访问并下载网页内容的方法
2015/07/28 Python
python字典键值对的添加和遍历方法
2016/09/11 Python
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
Python实现从N个数中找到最大的K个数
2020/04/02 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
2020/04/14 Python
python3的pip路径在哪
2020/06/23 Python
西班牙第一的网上药房:PromoFarma.com
2017/04/17 全球购物
新加坡领先的在线生活方式和杂货购物网站:EAMART
2019/04/02 全球购物
Sisley法国希思黎中国官网:享誉全球的奢华植物美容品牌
2019/06/30 全球购物
美国相机和电子产品零售商:Beach Camera
2020/11/26 全球购物
房产委托公证书
2014/04/08 职场文书
2014年班组建设工作总结
2014/12/01 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书
2016公司年会主持词
2015/07/01 职场文书
财务人员入职担保书
2015/09/22 职场文书
关于springboot 配置date字段返回时间戳的问题
2021/07/25 Java/Android