使用Python脚本zabbix自定义key监控oracle连接状态
作者:第六人 发布时间:2021-01-02 05:23:54
目的:此次实验目的是为了zabbix服务端能够实时监控某服务器上oracle实例能否正常连接
环境:1、zabbix_server2、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
正常情况下会返回一个结果
注:关于zabbix客户端有哪些key值,我们可以在客户端用zabbix_agentd -p命令查看
test为我自己创建的一个key
2、创建自定义Key
创建自定义key的方法相当简单
在我们客户端的zabbix_agentd.conf配置文件中加入几个参数就可以了
这是我加入的两行
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第三方模块
https://www.jb51.net/article/167103.htm
我这里再提一点:
虽然我在单独运行脚本时是没有任何报错的,但是在我用zabbix_get进行测试的时候还是会有导入模块错误
这是由于客户端共享库链接没有做好
添加libclntsh.so.11.1所在的路径
在运行ldconfig命令生效你的配置
再次进行测试
到此基本都已经完成
剩下就是在web端添加此key的监控即可
4、web端添加监控
监控项创建完毕,我们进行触发器的创建。
至此,触发器已创建完毕(当返回值为2,也就是连不通的时候会触发告警)!
接下来我们自己可以进行测试
当我们关掉数据库监听
显然服务端收到的返回值是2
我们在来看看web端
看到web端已经有告警提示了
接下来我们把监听开起来
这时候web端已经提示问题已经解决!
此次实验至此已经全部完成。
总结
以上所述是小编给大家介绍的使用Python脚本zabbix自定义key监控oracle连接状态,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://www.cnblogs.com/zakker/archive/2019/08/28/11424608.html


猜你喜欢
- 在使用AJAX开发网站时,经常有朋友遇到乱码的问题,而且一下子难以找到解决方法。其实解决AJAX中文乱码问题很简单。1、服务端程序:<
- 一、朋友圈九宫格效果图二、图片基本操作打开要处理的图片判断打开的图片是否为正方形如果是正方形,就进行九等分,如果不是正方形,先用白色填充为正
- 原文: gradio.app/interface-s…1.全局状态例子来解释import gradio as grsc
- 在程序的开发过程中,处理分页是大家接触比较频繁的事件,因为现在软件基本上都是与数据库进行挂钩的。但效率又是我们所追求的,如果是像原来那样把所
- 一 什么是WebsocketWebSocket是一种在单个TCP连接上进行全双工通信的协议WebSocket使得客户端和服务器之间的数据交换
- 缓存是指可以进行高速数据交换的存储器,它先于内存与CPU交换数据,因此速度很快。缓存就是把一些数据暂时存放于某些地方,可能是内存,也有可能硬
- 官方文档https://developers.weixin.qq.com/miniprogram/dev/framework/open-ab
- 今天解析DEDECMS时发现deder的MYSQL时间字段,都是用`senddata` int(10) unsigned NOT NULL
- 简介由于http协议的请求是无状态的。故为了让用户在浏览器中再次访问该服务端时,他的登录状态能够保留(也可翻译为该用户访问这个服务端其他网页
- 实验发现,tensorflow的tensor张量的shape不支持直接作为tf.max_pool的参数,比如下面这种情况(一个错误的示范):
- 字体设计是人类商业活动的需求,它随着时代和科学技术的进步而不断地变化着。被广泛应用于网络生活的各个方面。现代字体设计在电脑技术的应用中已经深
- 此方法会导致就好像它是在一个<font size="size">标记的字符串显示在规定的大小语法
- 前言SVG可以算是目前最最火热的图像文件格式了,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形。它是
- 1.添加文件touch /Library/LaunchDaemons/com.mysql.mysql.plist2.添加内容<?xml
- 1、出现错误train_df = pd.read_csv( 'C:\Users\lenovo\Desktop\train.csv
- 使用pyinstaller可以把.py文件打包为.exe可执行文件,命令为:pyinstaller hello.py打包后有两个文件夹,一个
- 在我的电脑中存在多个版本的Python,实际工作中也时常需要切换Python版本来进行相关工作。在Pycharm的终端中使用python和i
- 在做接口测试的时候,我们经常会遇到一种情况就是要对接口的参数进行各种可能的校验,手动修改很麻烦,尤其是那些接口参数有几十个甚至更多的,有没有
- 本文为大家分享了pygame游戏之旅的第14篇,供大家参考,具体内容如下添加icon需要用的函数是:gameIcon = pygame.im
- 本文实例讲述了python通过imaplib模块读取gmail里邮件的方法。分享给大家供大家参考。具体实现方法如下:import imapl