使用Python脚本zabbix自定义key监控oracle连接状态
Python  /  管理员 发布于 7年前   159
目的:此次实验目的是为了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_Oracletry: conn=cx_Oracle.connect('system/[email protected]:1521/orcl') c=conn.cursor() c.close() conn.close() print('1')except cx_Oracle.DatabaseError,error: print('2')
其中需要用到一个cx_Oracle第三方模块
https:///article/167103.htm
我这里再提一点:
虽然我在单独运行脚本时是没有任何报错的,但是在我用zabbix_get进行测试的时候还是会有导入模块错误
这是由于客户端共享库链接没有做好
添加libclntsh.so.11.1所在的路径
在运行ldconfig命令生效你的配置
再次进行测试
到此基本都已经完成
剩下就是在web端添加此key的监控即可
4、web端添加监控
监控项创建完毕,我们进行触发器的创建。
至此,触发器已创建完毕(当返回值为2,也就是连不通的时候会触发告警)!
接下来我们自己可以进行测试
当我们关掉数据库监听
显然服务端收到的返回值是2
我们在来看看web端
看到web端已经有告警提示了
接下来我们把监听开起来
这时候web端已经提示问题已经解决!
此次实验至此已经全部完成。
总结
以上所述是小编给大家介绍的使用Python脚本zabbix自定义key监控oracle连接状态,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号