如何使用Python脚本zabbix自定义关键监控甲骨文连接状态

  介绍

这篇文章主要介绍如何使用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端的关键

如何使用Python脚本zabbix自定义关键监控甲骨文连接状态

正常情况下会返回一个结果

注:关于zabbix客户端有哪些关键值,我们可以在客户端用zabbix_agentd - p命令查看

如何使用Python脚本zabbix自定义关键监控甲骨文连接状态

测试为我自己创建的一个关键

<强> 2,创建自定义关键

创建自定义关键的方法相当简单

在我们客户端的zabbix_agentd。相依配置文件中加入几个参数就可以了

如何使用Python脚本zabbix自定义关键监控甲骨文连接状态

这是我加入的两行

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进行测试的时候还是会有导入模块错误

如何使用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自定义关键监控甲骨文连接状态