Zabbix监控Oracle数据库

一、简介

本文主要讲述zabbix通过orabbix插件来监控Oracle数据库运行状态。Orabbix 是设计用来为 zabbix 监控 Oracle 数据库的插件,它提供多层次的监控,包括可用性和服务器性能指标。

它提供了从众多 Oracle 实例采集数据的有效机制,进而提供此信息的监控和性能指标。然后,可以利用的zabbix 的报告功能为收集的所有数据,并提供分析。目前的发行版中包含了一组        预先定义的模板,包括从初始部署警报和图形功能。然而,这些可以进行微调,以满足您的需求和数据/监控要求。

Orabbix 监控什么?

1、数据库版本
2
、归档文件
3
、等待的事件(如文件的I/O,单块的读,多块的读,直接读,SQLNet消息,控制文件I/O,日志写等)
4
、HitRatio(监控Hit Ratio的触发,表/存储过程,SQLArea,Body)
5
、逻辑I/O(当前读操作,持续的读操作,块的更改)
6
、PGA
7
、SGA(固定的缓冲,JAVA pool,Large Pool,Log Buffer,Shared Pool,Buffer Cache)
8
、物理I/O(重写操作,数据文件写操作,数据文件读操作)
9
、SharePool(Pool Dictionary Cache, Pool Free Memory, Library Cache,Sql Area ,Misc.)
10
、Pin Hit Ratio (monitor Hit Ratio on Trigger, Tables/Procedures, SQLArea,Body)
11
、Session/Processes (monitor Sessions and processes)
12
、Session (Active Session, Inactive Sessions, System Session)等

 

二、实验环境

服务端:

IP:192.168.120.72

操作系统:Linux version 2.6.32-220.el6.x86_64

客户端:

         IP:192.168.120.252

          操作系统:windos 2003 32

         oracle数据库:版本:10.2.0.1.0

三、实施步骤

客户端(192.168.120.252)

  • 下载与解压zabbix_agents_2.4.1.win.zip

1. 先将zabbix agent安装部署到windos端,找到合适的位置,将下载的zabbix_agents_2.4.1.win.zip包解压,conf目录下存放agent的配置文件binbin文件下存放着windows32位跟64位的安装程序,安装适合本系统的位数的文件。本例:D:\zabbix_agent

  配置

  • 配置agent文件

D:\zabbix_agent目录下有三个已存在的文件zabbix_agentd.exezabbix_get.exezabbix_sender.exe,将conf目录下的agent配置文件zabbix_agentd.win.conf复制到D:\zabbix_agent目录下,并进行编辑。修改以下参数:

              LogFile=D:\zabbix_agent\abbix_agentd.log  #agent日志文件存放位置

Server=192.168.50.72                  #被动模式下,允许哪台服务器连接agent

ServerActive=192.168.50.72             #主动模式下,向哪台服务器传送数据

Hostname=jy-ovaryeb01hsd-oracle        #此命名不必跟agent端服务器hostname一样,但必须跟之后web添加host name一样,如下图
Zabbix监控Oracle数据库

  • 安装agent

        登陆windows控制台,进入到执行文件所在目录D:\zabbix_agent,执行以下命令:
       agent安装命令

 

zabbix_agentd.exe –c “d:\zabbix_agent\zabbix_agentd.conf” –i

启动agent客户端

  zabbix_agentd.exe –c “d:\zabbix_agent\zabbix_agentd.conf” –s

参数含义:

    -c    制定配置文件所在位置

    -I    安装客户端

    -s    启动客户端

    -x    停止客户端

    -d    卸载客户端

  打开D:\zabbix_agent\zabbix_agentd.log文件查看启动日志

  • 验证Zabbix Agent服务是否启动

 右击‘我的电脑’,进入计算机管理,查看服务,确保agent服务启动,如图:

Zabbix监控Oracle数据库

  • 数据库操作

1)  #su - oralce登录 oracle 命令行

    #sqlplus / as sysdba

2)  创建zabbix用户

     create user zabbix identified by zabbix

default tablespace system temporary tablespace temp

profile default account unlock;

3)  赋予zabbix一切查看权限

     GRANT CONNECT TO ZABBIX;

GRANT RESOURCE TO ZABBIX;

ALTER USER ZABBIX DEFAULT ROLE ALL;

     GRANT SELECT ANY TABLE TO ZABBIX;

GRANT CREATE SESSION TO ZABBIX;

GRANT SELECT ANY DICTIONARY TO ZABBIX;

GRANT UNLIMITED TABLESPACE TO ZABBIX; 

GRANT SELECT ANY DICTIONARY TO ZABBIX;

4)        如果是11G的数据库版本,还需要执行下面的语句开放ACL的访问控制,否则在监控的过程中有部份内容无法正常显示(例于数据库版本,数据库文件大小等),而且orabbix的日志显示中也会有以下的错误提示。

Zabbix监控Oracle数据库

exec   dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description => 'resolve acl', principal =>'ZABBIX', is_grant => true, privilege => 'resolve');

exec   dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*');

commit;

设置完成后,可以通过以下的语句查看添加的状态。

select utl_inaddr.get_host_name('127.0.0.1') from dual;

服务端(192.168.50.72

  • 安装javajre,确保被监控的服务器安装java环境,可以直接到oracle官网下载对应的包安装。

 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/   

       # rpm -ivh jre-7u67-linux-x64.rpm 
          Preparing...            ######################## [100%]
           1:jre                  ###################### [100%]
          Unpacking JAR files...
               rt.jar...
          jsse.jar...
          charsets.jar...
          localedata.jar...
          jfxrt.jar...

  • orabbix 

             下载地址:http://www.smartmarmot.com/product/orabbix/download/

1.  在/opt创建目录创建orabbix文件。orabbix启动文件默认写在/opt/orabbix目录下,也可以修改一下orabbix启动脚本的路径,没有必要多费功夫。

 #mkdir /opt/orabbix
 #mv orabbix-1.2.3.zip /opt/orabbix
 #cd /opt/orabbit
 #unzip orabbix-1.2.3.zip

2.  授予/opt/orabbix文件可执行的权限

  #chmod a+x /opt/orabbix –R

3.  创建一个名为config.props文件,有模板可以参考。名字不能随意更改!并且修改confi.props配置文件,仅需修改如下内容即可(以下内容根据本例实际环境编写)

#cp /opt/orabbix/conf/config.props.sample  /opt/orabbix/conf/config.props

# cat /opt/orabbix/conf/config.props |grep -v "#" 

ZabbixServerList=ZabbixServer          #zabbix名称
ZabbixServer.Address=192.168.50.72     #zabbix服务端的IP地址
ZabbixServer.Port=10051              #zabbix服务端的监控端口

OrabbixDaemon.PidFile=./logs/orabbix.pid
OrabbixDaemon.Sleep=300
OrabbixDaemon.MaxThreadNumber=100

DatabaseList=jy-ovaryeb01hsd-oracle    #这个名称可以随便起,但是必须跟web监控agent的主机名保持一致。


DatabaseList.MaxActive=10
DatabaseList.MaxWait=100
DatabaseList.MaxIdle=1

jy-ovaryeb01hsd-oracle.Url=jdbc:oracle:thin:@192.168.120.252:1521:orcl 

#这里主要是通过JDBC来连接客户端的。orcl是数据库的实例名称。1521是监听端口
jy-ovaryeb01hsd-oracle.User=zabbix        #数据库用��zabbix
jy-ovaryeb01hsd-oracle.Password=zabbix    #数据库用户密码
jy-ovaryeb01hsd-oracle.MaxActive=10
jy-ovaryeb01hsd-oracle.MaxWait=100
jy-ovaryeb01hsd-oracle.MaxIdle=1
jy-ovaryeb01hsd-oracle.QueryListFile=./conf/query.props

4.   启动服务和查看进程

#cp -a /opt/orabbix/init.d/orabbix  /etc/init.d/orabbix(开机自动启动)
#/etc/init.d/orabbix start
 Starting Orabbix service:

或者

Sh /opt/orabbix/run.sh
# ps aux |grep orabbix

在启动服务过程中通过 tail -f /opt/orabbix/logs/orabbix.log日志查看启动信息。

5.         导入模板。在zabbix的GUI管理界面上添加监控的主机前需要先导入oracle数据库的监控模板,将该模板 Orabbix_export_full.xml 下载到本机,选取Orabbix_export_full.xml导入。

#cd  /opt/orabbix/template.

[root@zabbix template]# ll

total 236

-rwxr-xr-x 1 root root 107257 Oct 25  2011 Orabbix_export_full.xml

-rwxr-xr-x 1 root root  21399 Oct 25  2011 Orabbix_export_graphs.xml

-rwxr-xr-x 1 root root  86724 Oct 25  2011 Orabbix_export_items.xml

-rwxr-xr-x 1 root root  4911 Oct 25  2011 Orabbix_export_triggers.xml

Zabbix监控Oracle数据库

6.         添加主机(host name必须跟config.props里面定义的名称的配置保持一致)如下图

Zabbix监控Oracle数据库

7.  添加的host与模板相关联,点击’select‘选择‘Orabbix_export_full.xml‘模板

Zabbix监控Oracle数据库

一些Zabbix相关教程集合

ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里

相关推荐