zabbix3 0 2 通过orabbix来监控oracle11g增强版的详细过程

news/2024/7/4 0:02:06
               

 

-->Orabbix简介说明

 

  orabbix是一个用来监控oracle数据库性能的zabbix插件工具,通过安装在被监控服务器上客户端上收集数据并传给zabbix服务器端,然后通过调用图形显示。具有以下功能:

(1)、数据库版本

(2)、归档文件

(3)、等待的事件(如文件的I/O,单块的读,多块的读,直接读,SQLNet消息,控制文件I/O,日志写等)

(4)、HitRatio(监控Hit Ratio的触发,表/存储过程,SQLArea,Body)

(5)、逻辑I/O(当前读操作,持续的读操作,块的更改)

(6)、PGA

(7)、SGA(固定的缓冲,JAVApool,Large Pool,Log Buffer,Shared Pool,Buffer Cache)

(8)、物理I/O(重写操作,数据文件写操作,数据文件读操作)

9、SharePool(PoolDictionary 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 (ActiveSession, Inactive Sessions, System Session)

 

 

1,下载安装jdk8

#下载地址

 

http://download.csdn.net/detail/mchdba/9515973                                        

 

# 解压安装

 

tar -xvf jdk-8u45-linux-x64.tar.gz -C  /usr/lib/jvm

 

 

2,创建oracle监控帐号,在oracle的sqlplus窗口里面执行:

创建监控用户语句:

 CREATE  USER zabbix IDENTIFIED BY ys_zb_0418 DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
 
GRANT  ALTER SESSION TO zabbix;
GRANT CREATE SESSION TO zabbix;
GRANT CONNECT TO zabbix;
ALTER USER zabbix DEFAULT ROLE ALL;
GRANT SELECT ON V_$INSTANCE TO zabbix;
GRANT SELECT ON DBA_USERS TO zabbix;
GRANT SELECT ON V_$LOG_HISTORY TO zabbix;
GRANT SELECT ON V_$LOG TO zabbix;
GRANT SELECT ON V_$PARAMETER TO zabbix;
GRANT SELECT ON SYS.DBA_AUDIT_SESSION TO zabbix;
GRANT SELECT ON V_$LOCK TO zabbix;
GRANT SELECT ON DBA_REGISTRY TO zabbix;
GRANT SELECT ON V_$LIBRARYCACHE TO zabbix;
GRANT SELECT ON V_$SYSSTAT TO zabbix;
GRANT SELECT ON V_$PARAMETER TO zabbix;
GRANT SELECT ON V_$LATCH TO zabbix;
GRANT SELECT ON V_$PGASTAT TO zabbix;
GRANT SELECT ON V_$SGASTAT TO zabbix;
GRANT SELECT ON V_$LIBRARYCACHE TO zabbix;
GRANT SELECT ON V_$PROCESS TO zabbix;
GRANT SELECT ON DBA_DATA_FILES TO zabbix;
GRANT SELECT ON DBA_TEMP_FILES TO zabbix;
GRANT SELECT ON DBA_FREE_SPACE TO zabbix;
GRANT SELECT ON V_$SYSTEM_EVENT TO zabbix;
GRANT SELECT ON V_$locked_object TO zabbix;
GRANT SELECT ON dba_objects TO zabbix;
GRANT SELECT ON dba_tablespaces TO zabbix;
GRANT SELECT ON v_$SESSION TO zabbix;

本blog原始地址为:http://blog.csdn.net/mchdba/article/details/51366790,谢绝转载。

 

 

如果是oracle11g的数据库版本,还需要执行下面的语句开放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;

 

 

 

# --执行过程

 

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

 

 

 

PL/SQLprocedure successfully completed.

 

 

 

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

 

 

 

PL/SQLprocedure successfully completed.

 

 

 

SQL> commit;

 

 

 

Commit complete.

 

 

 

SQL>

 

 

 

 

3,安装部署orabbix

其实orabbix只需要安装在一台服务器即可,我就选择安装在Zabbix Server上,当然上面的jdk是为orabbix服务的,因为orabbix就是一个oracle客户端去查找oracle中的数据,然后传给zabbix,安装orabbix:

 

 

# 下载:

 

Mkdir /usr/local/orabbix

 

Cd /usr/local/orabbix

 

wget  http://nchc.dl.sourceforge.net/project/orabbix/orabbix-1.2.3.zip                                                                            

 

# 安装:

 

unzip orabbix-1.2.3.zip 

 

chmod +x run.sh

 

cp init.d/orabbix /etc/init.d/

 

sed -i  's#/opt/orabbix#orabbix=/usr/local/orabbix#g' /etc/init.d/orabbix

 

chmod +x /etc/init.d/orabbix

 

sed -i  's#java#/usr/lib/jvm/jdk1.8.0_45/bin/java#g' /usr/local/orabbix/run.sh 

 

 

4,配置config. Props:

orabbix所有的配置文件都在conf目录中,需要将默认的配置文件config.props.sample复制一份后再进行修改和配置。

 

[root@zabbix_serv_121_12 conf]# vim  config.props

 

 

 

ZabbixServer2.Port=PORT_OF_ZABBIX_SERVER

 

 

 

#pidFile

 

OrabbixDaemon.PidFile=./logs/orabbix.pid

 

#frequency of  item's refresh

 

OrabbixDaemon.Sleep=300

 

#MaxThreadNumber  should be >= than the number of your databases                                                                         

 

OrabbixDaemon.MaxThreadNumber=100

 

 

 

#put here your  databases in a comma separated list

 

# DatabaseList=DB1,DB2,DB3

 

 

 

DatabaseList=azure_yueworldoracle_crm_3_90,azure_earth_dbm1_3_111,DB3

 

 

 

#Configuration of  Connection pool

 

#if not specified  Orabbis is going to use default values (hardcoded)

 

#Maximum number of  active connection inside pool

 

DatabaseList.MaxActive=10

 

#The maximum number  of milliseconds that the pool will wait

 

#(when there are no  available connections) for a connection to be returned

 

#before throwing an  exception, or <= 0 to wait indefinitely.

 

DatabaseList.MaxWait=100

 

DatabaseList.MaxIdle=1

 

 

 

#define here your  connection string for each database

 

#DB1.Url=jdbc:oracle:thin:@192.167.3.90:1521:DB1

 

azure_yueworldoracle_crm_3_90.Url=jdbc:oracle:thin:@192.167.3.90:1521:powerdes

 

azure_yueworldoracle_crm_3_90.User=zabbix

 

azure_yueworldoracle_crm_3_90.Password=ys_zb_0418

 

#Those values are  optionals if not specified Orabbix is going to use the general values

 

azure_yueworldoracle_crm_3_90.MaxActive=10

 

azure_yueworldoracle_crm_3_90.MaxWait=100

 

azure_yueworldoracle_crm_3_90.MaxIdle=1

 

azure_yueworldoracle_crm_3_90.QueryListFile=./conf/query.props

 

 

 

azure_earth_dbm1_3_111.Url=jdbc:oracle:thin:@192.167.3.111:1521:earth_m1

 

azure_earth_dbm1_3_111.User=zabbix

 

azure_earth_dbm1_3_111.Password=ys_zb_0418

 

azure_earth_dbm1_3_111.QueryListFile=./conf/query.props

 

PS:需要注意的是DatabaseList=DB1指的是被监控服务器的名称,该名称要和zabbix server界面中的机器名称保持一致,该配置文件中后续所引用的设定都以该名称为准。

DB1.Url=jdbc:oracle:thin:@ 192.167.3.90:1521:powerdes指定的是被监控服务器的连接信息(例如采用jdbc的联接方式,服务器地址是192.167.3.90,oracle的端口是1521,powerdes指的是数据库的实例名称)

 

5,启动orabbix服务

# 启动orabbix

 

[root@zabbix_serv_121_12 conf]# service  orabbix start

 

Starting Orabbix service:

 

[root@zabbix_serv_121_12 conf]#

 

 

 

# 查看启动的orabbix进程

 

[root@zabbix_serv_121_12 conf]# ps aux  |grep orabbix

 

root       1259  0.3  0.6 12112256 203324 pts/1 Sl   16:02    0:13 /usr/lib/jvm/jdk1.8.0_45/bin/java -Duser.language=en  -Duser.country=US -Dlog4j.configuration=./conf/log4j.properties -cp  lib/commons-codec-1.4.jar:lib/commons-dbcp-1.4.jar:lib/commons-lang-2.5.jar:lib/commons-logging-1.1.1.jar:lib/commons-pool-1.5.4.jar:lib/hsqldb.jar:lib/log4j-1.2.15.jar:lib/ojdbc6.jar:.:./orabbix-1.2.3.jar  com.smartmarmot.orabbix.bootstrap start ./conf/config.props

 

root       6108  0.0  0.0 103256    844 pts/1    S+   17:04    0:00 grep orabbix

 

[root@zabbix_serv_121_12 conf]#

 

6,界面导入oracle模版文件

导入模版xml文件,期间碰到问题参加后面的问题记录1。E:\software\Oracle\install_11.2.0.4\pic2\01.png、02.png

 


 

 

在oracle服务器上,加入orabbix监控模版03.png,进入Host -> Templates -> Link new templates -> Select,进去新界面选择Group -> TEMPLATES_ORACLE,之后左边NAME下面打勾,点击Select按钮。

 

之后点击Link new templates框里的Add按钮,然后点击下面的Update按钮,如04.png所示:

 

7,在oracle模版上添加linux基础监控

这个oracle模版里面只有oracle的监控,对于oracle服务器的基础监控比如磁盘、io等等是没有的,这个时候我们需要在这个oracle模版上引入linux监控。进入All templates -> Template_Oracle -> Linked templates ->Link new templates选框,点击Select按钮,在进去的界面里面选择Template OS Linux模版,然后退出,点击Add按钮,添加到Linked templates里面,之后点击Update按钮更新完成,可以看到这个oracle模版的items已经增加到108个了,Graphs已经增加到了19个了,Triggers也增加到了390个了,结果如下图E:\software\Oracle\install_11.2.0.4\pic2\05.png所示

 

8,查看oracle监控部分显示图片

从Monitoring -> Graphs -> Group(选择你自己的组) -> Host(选择你自己的oracle服务器) ->Graps,看到oracle服务器的许多监控图列表,如下图E:\software\Oracle\install_11.2.0.4\pic2\06.png所示:

 

 

SGA内存使用监控图,E:\software\Oracle\install_11.2.0.4\pic2\07.png:

 


HitRatio命中率监控图,E:\software\Oracle\install_11.2.0.4\pic2\08.png:



9,问题记录

Import failed

Details

·        Host group "Templates"already exists.

解决方法:将orabbix的4个xml里面的<group>TEMPLATES</group>改成<group>TEMPLATES_ORACLE</group>,然后重新导入import即可。

 

 

参考文章:http://www.smartmarmot.com/wiki/index.php/Orabbix

 

 

 

 


           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow


http://www.niftyadmin.cn/n/3653829.html

相关文章

(转)中文Google地图的发展前景

最近大家打开Google的中文首页&#xff0c;应该发现了一些变化&#xff0c;就是多了“地图”这个功能。Google地图是一个非常有特色的产品&#xff0c;在官方没有进行太多宣传的情况下&#xff0c;其在中国的影响也是非常巨大的&#xff0c;虽然因为种种原因&#xff0c;这个产…

MySQL的Replace into 与Insert into on duplicate key updat

今天听同事介绍oracle到mysql的数据migration&#xff0c;他用了Insert into ..... on duplicate key update ...&#xff0c;我当时就想怎么不用Replace呢&#xff0c;于是回来就仔细查了下&#xff0c;它们果然还是有区别的&#xff0c;看下面的例子吧&#xff1a;1 Replace …

Delphi for PHP的试用

Delphi for php的试用出来第一天就下了&#xff0c;到网站上发现只有一天的试用期&#xff0c;不过&#xff0c;这对我来说又有什么呢&#xff1f;聪明的程序员用delphi&#xff0c;我怎么着也得装装聪明呀。于是立马下载了delphi for php&#xff0c;准备试用一下。试用前看过…

Delphi for PHP 使用评测

delphi for php&#xff08;以下简称dfp&#xff09;开启后&#xff0c;界面与delphi非常相似&#xff0c;也十分容易上手&#xff0c;它提供了php的标准控件&#xff0c;并且在语言上使用的是纯php&#xff0c;与delphi本身并没有关系&#xff0c;之所以取dfp这个名字&#xf…

zabbix3 0 源码安装server端详细过程

安装文档地址&#xff1a;https://www.zabbix.com/documentation/3.0/下载地址&#xff1a;http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/-->背景rpm安装上次&#xff0c;从rpm安装到放弃http://blog.csdn.net/mchdba/article/details/51226751 &#xff0c;事后仔细想…

delphi for php 支持中文的方法

其实很简单的。。在Tool->Options中点击Editor Options&#xff0c;把use utf-8 to create new units and forms的勾去掉。然后再点击PHP&#xff0c;把default charset设为gb2312&#xff0c;再勾上set these values on php.ini。点击ok好了&#xff0c;现在放心的使用中文…

MySQL DBA 面试题目小结

总结了招聘MySQL DBA的第一轮基础面试题目&#xff0c;欢迎大家补充&#xff1a;1&#xff0c; mysql的复制原理以及流程。&#xff08;1&#xff09;先问基本原理流程&#xff0c;3个线程以及之间的关联。&#xff08;2&#xff09;再问一致性延时性&#xff0c;数据恢复。&am…

动态语言崛起 Delphi For PHP能否挽救Borland?

年年岁岁花相似&#xff0c;岁岁年年人不同。IT领域几乎每年都会有新的东西诞生。但每次又会给人们以不同的惊喜。这不&#xff0c;在刚刚过去了2006年&#xff0c;IBM和微软也先后推出了自己的新产品&#xff1a;Viper(DB2 9)和Vista。 然而&#xff0c;在2006年因为要卖掉自己…