菩提圣心诀---zabbix自定义key监控oracle连接状态(python脚本)
目的:此次实验目的是为了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

正常情况下会返回一个结果
注:关于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('')
except cx_Oracle.DatabaseError,error:
print('')
其中需要用到一个cx_Oracle第三方模块
安装方法可以看
https://blog.csdn.net/qq_36743482/article/details/80884190
我这里再提一点:
虽然我在单独运行脚本时是没有任何报错的,但是在我用zabbix_get进行测试的时候还是会有导入模块错误

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

添加libclntsh.so.11.1所在的路径
在运行ldconfig命令生效你的配置
再次进行测试

到此基本都已经完成
剩下就是在web端添加此key的监控即可
4、web端添加监控



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



至此,触发器已创建完毕(当返回值为2,也就是连不通的时候会触发告警)!
接下来我们自己可以进行测试
当我们关掉数据库监听


显然服务端收到的返回值是2
我们在来看看web端

看到web端已经有告警提示了
接下来我们把监听开起来

这时候web端已经提示问题已经解决!
此次实验至此已经全部完成。
菩提圣心诀---zabbix自定义key监控oracle连接状态(python脚本)的更多相关文章
- zabbix自定义模板——监控TCP连接状态
TCP十二种连接状态说明 可以使用man netstat查看 LISTEN - 侦听来自远方TCP端口的连接请求: SYN-SENT -在发送连接请求后等待匹配的连接请求: SYN-RECEIVED ...
- zabbix自定义模板监控oracle
zabbix服务器端安装:zabbix-3.2.6.tar.gzzabbix client端安装:zabbix-agent-3.2.6-1.x86_64.rpm 1.首先必须在目标机器安装zabbix ...
- zabbix自定义key监控memcache状态及其他服务进程
一.在客户端 1.到/usr/loca/zabbix/conf/zabbix_agentd.conf里添加 UserParameter=memcached_stats[*],(echo ...
- zabbix自定义key监控redis
一.启动redis-server cd /data/redis redis-server redis.conf (根据自己的环境启动redis) 测试脚本(写入1000个数据): seq |while ...
- zabbix自定义key监控mysql主从同步超简单!
原理:利用在slave上运行show slave status获取Slave_IO_Running和Slave_SQL_Running的值 1.在zabbix客户端配置文件中加入: 首先要对mysql ...
- zabbix自定义key监控nginx和fpm(网站并发数)
一. nginx编译参数 监控nginx,主要讲解监控并发数 --prefix=/usr/local/nginx --with-http_stub_status_module zabbix编译参数的查 ...
- 监控服务端口状态python脚本
#!/usr/bin/python import socket,os,time data={ 8080:"tomcat9", 18080:"tomcat_hjgdmj&q ...
- zabbix自定义key
zabbix自定义key 1.修改客户端配置文件 #vi /opt/zabbix/etc/zabbix_agentd.conf Include=/opt/zabbix/etc/zabbix_agent ...
- zabbix 自定义 key (转)
转自:http://www.cnblogs.com/miclesvic/p/6164303.html 1.在zabbix_agent端zabbix_agentd.conf配置文件中增加自定义Key(/ ...
随机推荐
- Apache Shiro 会话+缓存+记住我(三)
1.会话管理SessionDao和SessionManager 1)安装Redis 2)依赖 <dependency> <groupId>redis.clients</g ...
- 2019年RTC大会记录
小编近期在研究webRTC点对点通信技术,怀着学习的心态参加了2019年RTC大会,对所见所闻做下记录,不对的地方还请批评指正! 这次热门的话题是5G.WebRTC.AI对图像.音视频的相关处理,思科 ...
- Java开发中的23种设计模式详解(2)结构型
我们接着讨论设计模式,上篇文章我讲完了5种创建型模式,这章开始,我将讲下7种结构型模式:适配器模式.装饰模式.代理模式.外观模式.桥接模式.组合模式.享元模式.其中对象的适配器模式是各种模式的起源,我 ...
- k8s的存储卷
存储卷查看:kubectl explain pods.spec.volumes 一.简单的存储方式 1)2个容器之间共享存储..(删除则数据消失) apiVersion: v1 kind: Pod m ...
- sql查询静态数据
select * from ( ,,,'高中')) AS Education ( EducationId,EducationName )
- sqlite3 C语言 API 函数
int sqlite3_open(char *path, sqlite3 **db): 功能:打开sqlite数据库 参数: path: 数据库文件路径 db: 指向sqlite句柄的指针 返回值 ...
- eclipse 附加进程调试java程序(转)
转自:http://blog.csdn.net/zhoushenghuang/article/details/54485645 第一步,启动Java程序时需要设置JVM参数 右击java项目-> ...
- shell 提取文件的某行,并在行尾添加字符
sed -n '100,200p' file.txt #提取文件file.txt第100行到第200行的内容 sed 's/$/test/' file.txt #在行尾添加字符串test,$代表行尾
- 微信JS-SDK接口上传图片以及wx.config的配置
最近做的微信网页要实现一个上传图片的功能,倒腾了半天终于搞好了,具体的步骤可以查看微信官方文档https://developers.weixin.qq.com/doc/offiaccount/OA_W ...
- 百度链接提交主动推送 c#实现
说明:此方法适合百度站长,利用此方法可以第一时间将你的原创文章上传到百度,保护你的著作权,也可以帮你的网站进行引流 以下是代码实现: /// <summary> /// 提 ...