使用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提示[Errno 32]Broken pipe导致线程crash错误解决方法

    2022-12-02 02:20:42
  • 如何制作关联的下拉菜单?

    2010-06-29 21:19:00
  • Python利用Beautiful Soup模块修改内容方法示例

    2023-09-03 10:29:51
  • 什么是python类属性

    2021-07-31 20:27:16
  • django+xadmin+djcelery实现后台管理定时任务

    2023-12-15 03:05:52
  • Python导入Excel表格数据并以字典dict格式保存的操作方法

    2023-05-25 17:58:37
  • python制作一个桌面便签软件

    2021-02-23 05:20:40
  • Python scrapy爬取起点中文网小说榜单

    2022-11-06 14:34:11
  • Python流行ORM框架sqlalchemy安装与使用教程

    2022-10-20 06:12:20
  • list视图方式设计浅析

    2008-12-21 16:04:00
  • python图形界面教程Tkinter详解

    2021-01-08 04:27:47
  • 深入了解python的tkinter实现简单登录

    2023-03-25 14:15:27
  • Python画图高斯分布的示例

    2023-02-07 09:09:14
  • Python socket实现简单聊天室

    2022-06-20 02:13:27
  • python爬虫用scrapy获取影片的实例分析

    2023-09-25 09:22:30
  • Python 统计列表中重复元素的个数并返回其索引值的实现方法

    2023-07-15 12:31:24
  • request基本使用及各种请求方式参数的示例

    2021-03-31 02:32:52
  • 解决Django一个表单对应多个按钮的问题

    2021-07-15 15:34:55
  • 二十种Python代码游戏源代码分享

    2023-07-31 01:37:16
  • Python判断Abundant Number的方法

    2023-10-30 02:25:30
  • asp之家 网络编程 m.aspxhome.com