使用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

使用Python脚本zabbix自定义key监控oracle连接状态

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

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

使用Python脚本zabbix自定义key监控oracle连接状态

test为我自己创建的一个key

2、创建自定义Key

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

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

使用Python脚本zabbix自定义key监控oracle连接状态

这是我加入的两行

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

使用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自定义key监控oracle连接状态

显然服务端收到的返回值是2

我们在来看看web端

使用Python脚本zabbix自定义key监控oracle连接状态

看到web端已经有告警提示了

接下来我们把监听开起来

使用Python脚本zabbix自定义key监控oracle连接状态

这时候web端已经提示问题已经解决!

此次实验至此已经全部完成。

总结

以上所述是小编给大家介绍的使用Python脚本zabbix自定义key监控oracle连接状态,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

来源:https://www.cnblogs.com/zakker/archive/2019/08/28/11424608.html

标签:zabbix,python,监控,oracle
0
投稿

猜你喜欢

  • python数字图像处理实现直方图与均衡化

    2021-04-01 14:44:59
  • 在Python中利用pickle保存变量的实例

    2021-05-04 04:25:50
  • vuex与map映射实现方法梳理分析

    2023-07-02 16:34:04
  • 如何在Django中设置定时任务的方法示例

    2023-03-21 06:19:07
  • 对有自增长字段的表导入数据注意事项

    2024-01-22 17:54:51
  • Jupyter notebook远程访问服务器的方法

    2022-12-25 22:04:36
  • pytorch中的squeeze函数、cat函数使用

    2022-03-27 14:32:24
  • ASP连接access和mssql数据库的全能代码

    2008-10-12 13:17:00
  • 使用SqlBulkCopy时应注意Sqlserver表中使用缺省值的列

    2012-07-11 15:34:35
  • python计算机视觉实现全景图像拼接示例

    2021-02-12 09:48:05
  • Python大数据之使用lxml库解析html网页文件示例

    2022-05-10 11:06:53
  • python算法与数据结构之单链表的实现代码

    2022-09-30 14:35:39
  • HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列

    2024-04-29 13:38:31
  • delete from online where datediff

    2009-06-07 18:46:00
  • javascript验证IP地址等验证例子

    2007-09-11 13:40:00
  • Python数据可视化详解

    2021-10-02 19:28:55
  • python3.6.3转化为win-exe文件发布的方法

    2021-02-16 05:57:40
  • javascript 三 级下拉选择菜单Levels对象

    2023-09-05 03:28:48
  • perl特殊符号及默认的内部变量

    2023-08-08 02:13:20
  • 网页设计之关于素材和言志

    2008-03-23 13:46:00
  • asp之家 网络编程 m.aspxhome.com