Zabbix监控oracle各服务器连接数
需求:
根据机器名查询oracle连接数,并通过zabbix进行监控
脚本:
[root@rac1 Zabbix_S]# cat get_conns.py
#!/usr/bin/python
#coding:utf-8
import os,sys
from subprocess import Popen,PIPE
#根据machine对连接数进行分组,求各服务器到oracle的连接数
sql='''/opt/app/oracle/product/11.2.0/db_1/bin/sqlplus -S "system/xxxx@x.x.x.x:1521/xxxx" <<EOF
set lines 300 pages 1000
set feedback off
set heading off
col tablespace_name for a20
select machine,count(*) co from gv\$session where machine like '%-web-node%.xxx.com' group by machine;
quit
EOF'''
def get_data(sql):
result={}
try:
#重点:zabbix服务端调用agent端的脚本时,需要查询环境变量,所以需要在python脚本中通过os.environ设置当前python脚本所在进程的环境变量
#试过使用os.system('export ORACLE_HOME=xxxx')的方式,不好使,服务端调用会报找不到对应oracle_home和sqlplus命令
env=os.environ.copy()
env['ORACLE_SID']='xxxx1'
env['ORACLE_HOME']='/opt/app/oracle/product/11.2.0/db_1'
env['PATH']='$ORACLE_HOME/bin:$PATH'
res=Popen(sql,stdout=PIPE,env=env,shell=True)
for line in res.stdout:
if len(line)!=1:
#将主机名和连接数做成字典映射,便于根据主机名检索对应连接数
result[line.split()[0]]=(line.split()[1])
except Exception, e:
print e
return result
if __name__=='__main__':
if len(sys.argv)!=3:
#脚本第一个参数是区域,第二个参数是节点号
print "Usage: %s Zone Node" % (sys.argv[0])
sys.exit()
k=sys.argv[1]+'-web-'+sys.argv[2]+'.xxx.com'
res=get_data(sql)
try:
#判断是否有这个主机名对应的key
if res.has_key(k):
print res[k]
else:
print '%s not exists' %(k)
except Exception , e:
print e
脚本调用方式:
修改脚本的属主为zabbix
chown zabbix.zabbix get_conns.py
调用脚本并传递参数:
[root@rac1 Zabbix_S]# su - zabbix -s /bin/bash -c '/home/oracle/script/Zabbix_S/get_con.py bj node4'
25
配置zabbix配置文件,添加对应key:
[root@rac1 Zabbix_S]# cat /etc/zabbix_agentd.conf.d/oracle
UserParameter=db.hostconn[*],/home/oracle/script/Zabbix_S/get_conns.py $1 $2
之后在zabbix web页面配置对应的监控项和触发器即可
Zabbix监控oracle各服务器连接数的更多相关文章
- 使用zabbix监控nginx的活动连接数
使用zabbix监控nginx的活动连接数 1.方法简述 zabbix可以自定义很多监控,只要是能通过命令获取到相关的值,就可以在zabbix的监控中增加该对象进行监控,在zabbix中,该对象称之为 ...
- zabbix监控Oracle
可监控项 使用zabbix监控oracle数据库需要借助第三方的插件,目前使用较多的是orabbix.目前维护到了1.2.3版本.关于oracle自带的监控项目有以下几个: DB Version (i ...
- 使用zabbix监控oracle的后台日志
本文将介绍如何使用zabbix监控oracle的后台日志,当oracle后台日志出现“ORA-”或“Error”时,第一时间将该信息报警出来 zabbix agent端 以下所有操作均用root执行 ...
- 使用Zabbix监控Oracle数据库
Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...
- 利用zabbix监控oracle数据库
一.概述 zabbix是一款非常强大,同时也是应用最为广泛的开源监控软件,本文将给大家介绍如何利用zabbix监控oracle数据库. 二.环境介绍 以下是我安装的环境,实际部署时并不需要跟我的环境一 ...
- zabbix 监控数据库 及 tcp连接数
参考网站: 监控sqlserver http://blog.51cto.com/13272050/2050601 http://blog.51cto.com/ultrasql/1927672 ...
- 通过iLO进行Zabbix监控——针对HP服务器集成
iLO 全名是 Integrated Lights-out,它是惠普某些型号的服务器上集成的远程管理端口,它能够允许用户基于不同的操作系统从远端管理服务器,实现了虚拟存在和控制,从而进行智能型基础构架 ...
- 使用zabbix监控oracle表空间
0.概述 zabbix是一款极其强大的开源监控工具,下面我分享下zabbix如何监控表空间,跟着这个思路,监控其他项都是类似操作. 前提条件是你已经有了zabbix server和zabbix age ...
- zabbix监控第一台服务器
客户机的IP是192.168.0.80,主机名是wls12c 1. 安装客户端, 1.1 新建zabbix的用户 groupadd zabbix useradd -g zabbix zabbix 1. ...
随机推荐
- WPF 使用 fontawesome
<Style TargetType="TextBlock" x:Key="tree-icon"> <Style.Setters> < ...
- py---------模块和包
单独导入包 单独导入包名称时不会导入包中所有包含的所有子模块,如 #在与glance同级的test.py中 import glance glance.cmd.manage.main() ''' 执行结 ...
- python3+Appium自动化08-数据配置yaml
yaml简介 yaml是一种简洁的非标记语言.yaml以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读 由于实现简单,解析成本低,yaml特别适合在脚本语言中使用.现有的语言实现: ...
- Java面向对象_Object类
Object类 是类层次结构的根类,每个类都是用Object类作为超类,所有对象(包括数组)都实现这个类的方法.所有类都是Object类的子类. 下面先说两个方法toString()和equals(O ...
- ElasticSearch 全文检索— ElasticSearch 安装部署
ElasticSearch 规划-集群规划 ElasticSearch 规划-集群规划 ElasticSearch 规划-用户规划 ElasticSearch 规划-目录规划 ElasticSearc ...
- Redis Windows环境搭建
简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.它支持字符串.哈希表.列表.集合.有序集合,位图,hyperloglogs等数据类型.内置复制 ...
- js中的load先执行还是Jquery的ready先执行问题
onload需要页面上所有的资源都加载上之后执行,而ready则是DOM文档树已经解析完成时,说ready比onload快最显著的是比如一个页面上有一个很大的图片,加载要好久,onload只有在图片加 ...
- magento新增商品属性以及将属性加入Flat table
magento的EAV模型非常强大且灵活,但是如果不做优化的话,性能会非常低,因为attributes都存放在附表里,要获取一个entity的attribute,需要表联结一次,如果需要获取多条att ...
- 渐进式jpeg(progressive jpeg)图片及其相关
最近看有些网站上的jpg格式的图片在呈现的时候,有两种方式,一种是自上而下扫描式的,还有一种就是先是全部的模糊图片,然后逐渐清晰(就像GIF格式的交错显示). 一.基本JPEG(baseline jp ...
- 利用python进行简单的图片处理
python的 PIL模块是专门用来处理图片的模块,其功能可以说是非常强大了. 演示环境:win7 操作系统 安装python2.7以及指定的对应PIL模块 我这里有一个现成的PIL模块.本文的大部分 ...