Zabbix监控Oracle 连接数

监控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 precent

import cx_Oracle
import sys

# conn to DB
conn = cx_Oracle.connect(‘user/[email protected]‘)
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 = float(sessionRow[0]) / float(proce***ow[0])
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])

验证脚本

[[email protected] script]$ python zabbix_check_process.py
Usage: zabbix_check_process.py dbsession |dbprocess |presession
[[email protected] script]$ python zabbix_check_process.py dbsession
597
[[email protected] script]$ python zabbix_check_process.py dbprocess
1000
[[email protected] 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、在服务端测试(客户端需要重启)

[[email protected] ~]# zabbix_get -s 10.0.18.121 -p 10050 -k ‘oracle.dbsession‘
581
[[email protected] ~]# zabbix_get -s 10.0.18.121 -p 10050 -k ‘oracle.presession‘
58.10
[[email protected] ~]# zabbix_get -s 10.0.18.121 -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、资料下载

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

原文地址:http://blog.51cto.com/balich/2161422

时间: 2024-10-14 15:31:52

Zabbix监控Oracle 连接数的相关文章

使用zabbix监控oracle基本使用情况

使用zabbix监控oracle这里我们使用开源的orabbix项目,软件下载地址: https://nchc.dl.sourceforge.net/project/orabbix/orabbix-1.2.3.zip 附件也可以下载 部署方法 下载完成后放到zabbix server服务器(推荐),也可以放到其它服务器,只要这台服务器能与zabbix server和oracle server通讯就可以 cd /usr/local/src/ && mkdir orabbix &&am

zabbix监控oracle 12c

zabbix监控oracle 12c 前言 某公司需要监控Oracle 12C,采用orabbix是zabbix监控oracle数据库的插件,修改一些地方就可以监控了. 一.安装配置 mkdir /opt/orabbix cd /opt/orabbix mv conf/config.props.sample conf/config.props cp init.d/orabbix /etc/init.d/ chmod +x /etc/init.d/orabbix chkconfig orabbix

zabbix监控Oracle

公司业务使用的是一直oracle数据库,老大要求监控表空间剩余大小并且当剩余过小时能够及时报警.刚想出来的方案是通过写脚本获取表空间的数据,通脚本中使用expect自动输入密码登陆oracle用户然后再登陆数据库查询数据返回给zabbix_server.但是由于脚本运行时间大概12秒左右,zabbix获取数据总是超时(只是个人理解,如果你有解决方法希望给我留言,谢谢).在网上搜索中发现zabbix插件-orabbix,原理是通过orabbix登陆被监控主机oracle数据库,查询数据.个人认为非

zabbix 监控 oracle 数据库

一.简介 Orabbix 是设计用来为 zabbix 监控 Oracle 数据库的插件,它提供多层次的监控,包括可用性和服务器性能指标. 它提供了从众多 Oracle 实例采集数据的有效机制,进而提供此信息的监控和性能指标.然后,您可以利用的 zabbix 的报告功能为收集的所有数据,并提供分析.目前的发行版中包含了一组预先定义的模板,包括从初始部署警报和图形功能.然而,这些可以进行微调,以满足您的需求和数据/监控要求. Orabbix 监控什么? 数据库版本 归档日志与生产趋势分析 触发器,表

使用Zabbix监控Oracle数据库

Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabbix/ 从部署架构图上可以看出,orabbix是通过JDBC去连接被监控数据库的,其实不是必须在数据库主机上安装Agent,而运行orabbix的主机,可以是Zabbix Server,也可以是数据库主机和zabbix server之外的任意一台主机,为了测试方便,我们将orabbix安装在Zabb

利用zabbix监控tcp连接数

一.客户端执行 cd /usr/local/zabbix/conf/ wget http://img006.com/badusoft/zabbix/tcp.sh chmod +x tcp.sh sed -i 's/# UnsafeUserParameters=0/UnsafeUserParameters=1/g' /usr/local/zabbix/conf/zabbix_agentd.conf sed -i '$a UserParameter=tcp[*],sh /usr/local/zabb

zabbix监控应用连接数

zabbix使用用户自定义键值来监控应用系统连接数: 1.修改配置文件zabbix_agentd.conf 格式: UserParameter=<key>,<shell command> 加入一行:UserParameter=connections,netstat -n| grep 12345| wc –l [[email protected] etc]$ pwd                   /home/rusky/zabbix/etc[[email protected]

LAMP 搭建zabbix监控Oracle 数据库 for Linux

准备环境介绍 文档简介想要实现的功能为在zabbix服务器端再增加orabbix插件以此访问oracle数据库进行监控操作. 环境介绍CentOS 7 zabbix 2.4.2 . yum介绍因公司电脑无法访问外网则进行了本地yum源的配置. 可自行根据php-common下载相应的rpm包或者去我的网盘瞅瞅有木有大家需要的地址如下链接http://pan.baidu.com/s/1skGbrat 密码n9p3 实施过程介绍1.首先是LAMP的搭建其中Linux环境搭建此处不多介绍MySQL数据

zabbix监控tcp连接数

1.监控tcp状态脚本文件如下 # cat tcp_connections.sh  #!/bin/bash #scripts for tcp status  function SYNRECV {  /usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}' | grep 'SYN-RECV' | awk '{print $2}' }  function ESTAB {  /usr/sbin/ss -ant | awk '{