这篇文章主要介绍如何使用Python脚本zabbix自定义关键监控甲骨文连接状态,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
目的:此次实验目的是为了zabbix服务端能够实时监控某服务器上甲骨文实例能否正常连接
环境:1,zabbix_server 2, zabbix_agent(含有oracle)
<强>主要知识点:强>
1, zabbix_get用法
2, Python中cx_Oracle模块使用
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
<强> 1,zabbix_get用法强>
常用用法
<代码> zabbix_get - s主机名或ip (- p端口号)运营商[我]- k项目键代码>
在我们zabbix_server端可以测试一个zabbix_agent端的关键
正常情况下会返回一个结果
注:关于zabbix客户端有哪些关键值,我们可以在客户端用zabbix_agentd - p命令查看
测试为我自己创建的一个关键
<强> 2,创建自定义关键强>
创建自定义关键的方法相当简单
在我们客户端的zabbix_agentd。相依配置文件中加入几个参数就可以了
这是我加入的两行
1, UnsafeUserParameters参数有两个值1或0
0为禁用1为开启
2, UserParameter=键名字,命令或脚本(用法)
加完配置后记得重启客户端进程! !
3,脚本的定义
这个步骤是最为核心的,所有你想实现的监控都可以在这步进行规划
此次我测试的是oracle实例的连接状态(能连或不能连)
代码如下
# - *安康;编码:utf-8 - * - import cx_Oracle 试一试: ,康涅狄格州=cx_Oracle.connect(& # 39;系统/oracle@172.168.9.186:1521 orcl # 39;) ,c=conn.cursor () ,c.close () ,conn.close () ,打印(& # 39;1 & # 39;) except cx_Oracle.DatabaseError错误: print('2')
其中需要用到一个cx_Oracle第三方模块
https://www.jb51.net/article/167103.htm
我这里再提一点:
虽然我在单独运行脚本时是没有任何报错的,但是在我用zabbix_get进行测试的时候还是会有导入模块错误
这是由于客户端共享库链接没有做好
添加libclntsh.so.11.1所在的路径
在运行ldconfig命令生效你的配置
再次进行测试
到此基本都已经完成
剩下就是在web端添加此key的监控即可
4、web端添加监控
监控项创建完毕,我们进行触发器的创建。
至此,触发器已创建完毕(当返回值为2,也就是连不通的时候会触发告警)!
接下来我们自己可以进行测试
当我们关掉数据库监听