监控Oracle 连接数

使用python脚本编写脚本,监控oracle连接数;连接Oracle需要安装cx_Oracle模块,安装完成后检查是否正常,没有任何信息返回即正常;

python -c "import cx_Oracle"

通常,还需要加载oralce的客户端配置环境和库

libclntsh.so.11.1
libnnz11.so

1、编写用于检查Oracle当前连接数、最大连接数的python脚本:zabbix_check_process.py

#!/usr/bin/python
# coding:utf-8
#
# check Oracle process
# dbsession: current connect session
# dbprocess: db max connect session
# presession: current connect session precentimport cx_Oracle
import sys# conn to DB
conn = cx_Oracle.connect('user/passwd@orcl')
cursor = conn.cursor()dbProcess = {}# current connect session
sessionSQL = "select count(*) process from v$session"
cursor.execute(sessionSQL)
sessionRow = cursor.fetchone()
dbProcess['dbsession'] = sessionRow[0]# db max connect session
processSQL = "select value count from v$parameter where name ='processes'"
cursor.execute(processSQL)
proce***ow = cursor.fetchone()
dbProcess['dbprocess'] = proce***ow[0]# current connect session precent
presession = (dbProcess['dbsession']) / float(dbProcess['dbprocess'])
dbProcess['presession'] = '%.2f' % (presession * 100)
cursor.close()# close db
conn.close()#print(dbProcess)try:if sys.argv[1]:if sys.argv[1] == 'dbsession':print(dbProcess['dbsession'])if sys.argv[1] == 'dbprocess':print(dbProcess['dbprocess'])if sys.argv[1] == 'presession':print(dbProcess['presession'])
except:print("Usage: %s dbsession |dbprocess |presession" % sys.argv[0])

验证脚本

[zabbix@DB1 script]$ python zabbix_check_process.py
Usage: zabbix_check_process.py dbsession |dbprocess |presession
[zabbix@DB1 script]$ python zabbix_check_process.py dbsession
597
[zabbix@DB1 script]$ python zabbix_check_process.py dbprocess
1000
[zabbix@DB1 script]$ python zabbix_check_process.py presession
59.40

2、在zabbix_agentd上增加UserParamete:/opt/zabbix/etc/zabbix_agentd.conf.d/oracle.conf


## db connect session
UserParameter=oracle.dbsession,source ~/.bash_profile;/usr/bin/python /opt/zabbix/share/script/zabbix_check_process.py dbsession
UserParameter=oracle.dbprocess,source ~/.bash_profile;/usr/bin/python /opt/zabbix/share/script/zabbix_check_process.py dbprocess
UserParameter=oracle.presession,source ~/.bash_profile;/usr/bin/python /opt/zabbix/share/script/zabbix_check_process.py presession

3、在服务端测试(客户端需要重启)

[root@zabbix ~]# zabbix_get -s 192.168.1.10 -p 10050 -k 'oracle.dbsession'
581
[root@zabbix ~]# zabbix_get -s 192.168.1.10 -p 10050 -k 'oracle.presession'
58.10
[root@zabbix ~]# zabbix_get -s 192.168.1.10 -p 10050 -k 'oracle.dbprocess'
1000

4、创建模板,添加监控项目

Oracel数据库当前连接数的百分比         oracle.presession    60s    30d    90d    Zabbix 客户端    Oracle连接数    已启用
Oracel数据库最大连接数                 oracle.dbprocess    60s    30d    90d    Zabbix 客户端    Oracle连接数    已启用
Oracle数据库当前连接数                 oracle.dbsession    60s    30d    90d    Zabbix 客户端    Oracle连接数    已启用

5、效果图

6、资料下载

上传的资料包含监控模板、数据库连接数监控、表空间自动发现规则(监控),下载地址

转载于:https://blog.51cto.com/balich/2161422

Zabbix监控Oracle 连接数相关推荐

  1. zabbix监控oracle缓冲区,Zabbix监控oracle各服务器连接数

    需求: 根据机器名查询oracle连接数,并通过zabbix进行监控 脚本: [root@rac1 Zabbix_S]# cat get_conns.py #!/usr/bin/python #cod ...

  2. zabbix如何监控oracle,使用zabbix监控oracle数据库的方法详解

    一.概述 zabbix是一款非常强大,同时也是应用最为广泛的开源监控软件,本文将给大家介绍如何利用zabbix+python监控oracle数据库. 二.环境介绍 以下是我安装的环境,实际部署时并不需 ...

  3. zabbix监控nginx连接数

    一.nginx配置 nginx 1.6,zabbix 4.0.5 利用nginx自己的监控模块对nginx连接数进行监控 nginx配置: server {listen 80;server_name ...

  4. oracle insert 触发器无效_分享一个超实用的Zabbix监控Oracle用户无效对象手册

    一.Oracle客户端配置 1.创建脚本invalid_object_check.sh SQL语句查询无效对象,首先创建一个获取无效对象信息的原始脚本/etc/zabbix/scripts/inval ...

  5. zabbix监控TCP连接数

    模板可以将多个监控项 触发器 图形都配置在模板中,方便多个监控的主机进行重复调用,提升了很多的工作效率 模板的简单配置 1.配置-----模板---------创建模板 配置合适的模板名称再点击添加 ...

  6. zabbix企业应用之监控oracle

    本次介绍如何使用zabbix监控oracle,主要使用pyora这个python脚本来监控,具体地址可以参考https://github.com/bicofino/Pyora 我的zabbix版本为2 ...

  7. Zabbix 3.2.6 通过Discovery批量监控Oracle表空间

    一.背景 接到任务,要求对所有数据库的所有表空间进行监控,愿意是遇到表空间不足导致业务数据库的不可用,我们知道通过Zabbix监控Oracle的插件有一些,比如Orabbix或者Pyora,前者通过J ...

  8. Orabbix监控oracle

    一.Orabbix Orabbix是设计用来为zabbix监控Oracle的数据库的插件,它提供多层次的监控,包括可用性和服务器性能的指标.它提供了从众多Oracle实例采集的有效机制,进而提供此信息 ...

  9. python连接oracle进行监控_使用Python脚本zabbix自定义key监控oracle连接状态

    目的:此次实验目的是为了zabbix服务端能够实时监控某服务器上oracle实例能否正常连接 环境:1.zabbix_server 2.zabbix_agent(含有oracle) 主要知识点: 1. ...

最新文章

  1. SharePoint 2010设置问卷调查权限
  2. mybaits二十八:逆向工程
  3. 从C语言的角度重构数据结构系列(二)-如何衡量一个算法的优劣?
  4. getElementByClassName()不兼容的解决办法
  5. fh 幅频特性曲线怎么画fl_初学者怎么练习线条?教你如何画出流畅线条的技巧...
  6. 教你使用Vue.js的DevTools来调试你的vue项目
  7. RabbitMQ消费消息方法basicConsume
  8. VSFTP的PASSIVE模式的防火墙设置
  9. Android 平台视频播放器demo
  10. SQL Server 【不允许保存更改】问题解决图解
  11. 倒车检测线怎么接图解_倒车影像摄像头3根线安装图解 这是倒车影像的电源线...
  12. 汇编语言---80386寄存器,GCC内联汇编语法
  13. 利用邮件合并批量制作带照片的准考证
  14. 科创人·优锘科技COO孙岗:错误问题找不到正确答案,求索万物可视的大美未来
  15. vscode配置maven,settings.json文件
  16. 计算多列迭代次数的一种平均列近似方法
  17. 苟日新,日日新,又日新
  18. Android 之路43---手风琴特效ExpandableListView
  19. 电信宽带免费提速到200M!不用安装小翼管家!
  20. docker从入门到入土(进阶篇)

热门文章

  1. 2018-2019-2 20175311 实验一《Java开发环境的熟悉》实验报告
  2. 项目解析jsx文件_神奇了!这个 Go 语言项目让前端构建快了近 100 倍
  3. 升级linux 4.9内核,Linux 内核 4.8 将不再更新 建议迁往 4.9 稳定版
  4. 快速了解Spring Cloud
  5. UCMA(OCS) 开发系列之二(安装与部署)
  6. 项目计划与控制-若干题目
  7. java 线程map_map集合分割以及多线程处理数据
  8. 手机html文档,手机文档html能删除吗
  9. Spring Data Jpa 不打印sql参数
  10. html js轮播图无白链接,JavaScript:100%原生js实现左右切换的轮播图(无延迟加载)...