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的配置文件bin,bin文件下存放着windows下32位跟64位的安装程序,安装适合本系统的位数的文件。本例:D:\zabbix_agent
配置
- 配置agent文件
D:\zabbix_agent目录下有三个已存在的文件zabbix_agentd.exe、zabbix_get.exe和zabbix_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一样,如下图
- 安装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服务启动,如图:
- 数据库操作
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的日志显示中也会有以下的错误提示。
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)
- 安装java的jre,确保被监控的服务器安装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
6. 添加主机(host name必须跟config.props里面定义的名称的配置保持一致)如下图
7. 添加的host与模板相关联,点击’select‘选择‘Orabbix_export_full.xml‘模板
一些Zabbix相关教程集合:
ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里