通过zabbix实现对数据库的监控,如ORACLE、MySQL、MSSQL、DB2……
8 篇帖子 分页: 1 / 1
帖子George_zhang » 2013年 11月 26日 13:56 星期二
zabbix利用orabbix监控oracle

Orabbix 是一个用来监控 Oracle 数据库实例的 Zabbix 插件。下载地址:
http://www.smartmarmot.com/product/orabbix/download/

Orabbix插件的安装与配置
确保安装jdk环境,java version查看,没有则通过yum来安装JAVA:yum install java

1.在/opt目录下新建一个orabbix目录:
代码: 全选
 [root@oracle orabbix]#midir -p /opt/orabbix

(建议在此目录下,如果放置其他目录稍后需要更改orabbix的启动文件orabbix,启动文件默认写在opt/orabbix目录下 )

2. 解压安装文件
代码: 全选
[root@oracle orabbix]#unzip orabbix-1.2.3.zip


来自网络转载:http://88fly.blog.163.com/blog/static/1226803902012810548482/
3.赋予权限
代码: 全选
[root@oracle orabbix]# chmod -R a+x orabbix/


4 通过/opt/orabbix/conf/config.props.sample文件创建一个config.props文件:
代码: 全选
[root@oracle orabbix]#cp/opt/orabbix/conf/config.props.sample /opt/orabbix/conf/config.props


5. 编辑orabbix配置文件,具体如下:
[root@oracle orabbix]#vi confi/config.props
代码: 全选
#comma separed list of Zabbix servers

#ZabbixServerList=ZabbixServer1,ZabbixServer2

ZabbixServerList=ZabbixServer1 

#(zabbixserver的名字,下行中address和port都引用到了这个名字,所以下面两行的前缀名字要与这里的名字保持一致)

#ZabbixServer1.Address=IP_ADDRESS_OF_ZABBIX_SERVER

ZabbixServer1.Address=192.168.3.163

#ZabbixServer1.Port=PORT_OF_ZABBIX_SERVER

ZabbixServer1.Port=10051

 
#ZabbixServer2.Address=IP_ADDRESS_OF_ZABBIX_SERVER

#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=DB_QM    (DB名称,可随意定义,但要与下文保持一致,切记要与监控的主机名称保持一致)

 
#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:@server.domain.example.com:<LISTENER_PORT>:DB1

DB_QM.Url=jdbc:oracle:thin:@192.168.3.250:1521:qmeas

#确保有jdk环境,因为这里是通过JDBC连接的

#DB1.User=zabbix

DB_QM.User=qm

#DB1.Password=zabbix_password

DB_QM.Password=qm

#DB的用户和密码,可创建zabbix用户,并赋予权限,如下文(这里直接用dba权限用户)

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

DB_QM.MaxActive=10

DB_QM.MaxWait=100

DB_QM.MaxIdle=1

DB_QM.QueryListFile=./conf/query.props
 

#DB2.Url=jdbc:oracle:thin:@server2.domain.example.com:<LISTENER_PORT>:DB2

#DB2.User=zabbix

#DB2.Password=zabbix_password

#DB2.QueryListFile=./conf/query.props
 

#DB3.Url=jdbc:oracle:thin:@server3.domain.example.com:<LISTENER_PORT>:DB3

#DB3.User=zabbix

#DB3.Password=zabbix_password

#DB3.QueryListFile=./conf/query.props

#注销未用到的DB连接



创建zabbix用户如下步骤:
代码: 全选
CREATE USER ZABBIX

     IDENTIFIEDBY zabbix     <Password>

     DEFAULTTABLESPACE SYSTEM

     TEMPORARYTABLESPACE TEMP

     PROFILEDEFAULT

     ACCOUNTUNLOCK;

     GRANT CONNECT TO ZABBIX;

     GRANTRESOURCE TO ZABBIX;

     ALTERUSER ZABBIX DEFAULT ROLE ALL;

     GRANT SELECT ANY TABLE TO ZABBIX;

     GRANT CREATE SESSION TO ZABBIX;

     GRANTSELECT ANY DICTIONARY TO ZABBIX;

     GRANTUNLIMITED TABLESPACE TO ZABBIX;

     GRANTSELECT ANY DICTIONARY TO ZABBIX;



Oracle 11g添加如下命令
代码: 全选
execdbms_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;



6. 创建执行文件(直接cp即可)
代码: 全选
[root@oracle orabbix]# cp /opt/orabbix/init.d/orabbix/etc/init.d/orabbix


7.保存退出,启动orabbix服务(确保有执行权限)
代码: 全选
/etc/init.d/orabbix start


Orabbix服务加入随系统启动:

代码: 全选
chkconfig --add orabbix

chkconfig --level 345 orabbix on



常见问题:

若config.props文件未配置,或是配置了错误,无法通过配置的信息正确连进Oracle数据库的,会出现以下错误信息

代码: 全选
[root@zabbix orabbix]# /etc/init.d/orabbix start


Starting Orabbix service:

[root@zabbix orabbix]# Stopping

java.lang.Exception: ERROR on main - Connections is empty

atcom.smartmarmot.orabbix.Orabbixmon.run(Orabbixmon.java:101)

atcom.smartmarmot.orabbix.bootstrap.main(bootstrap.java:50)



可查看log信息判断解决

[root@oracle orabbix]# tail -f /opt/orabbix/logs/orabbix.log



到此,安装配置完成,则通过web页面访问直接导入模块即可
图片
导入模版,模版放置在/opt/orabbix/template下
Orabbix_export_full.xml 全部导入(图表 监控项 触发器)
Orabbix_export_graphs.xml 图表
Orabbix_export_items.xml 监控项
Orabbix_export_triggers.xml 触发器

选中Orabbix_export_full.xml直接导入,则可以直接在主机中链接到模版就可以使用全部功能了(主机名称一定要与配置中的 DatabaseList=DB_QM保持一致)!
图片
也可以再模版中找到此模版。然后将需要的信息直接cp过去,比如打开此处的监控项,把它全部复制到oracle主机下,触发器、图像显示同理!
图片
创建图表,部分效果如下:
图片
帖子ronaldee » 2014年 4月 2日 10:19 星期三
效果图片怎么看不见呢 :?:
帖子mxj333 » 2014年 9月 6日 21:53 星期六
为了避免被源站点关闭。建议以后发帖时最好不要引用外的图片链接。
zabbix中文论坛:http://www.zabbix.net.cn 或者 www.zabbix.org.cn
帖子hicocsco » 2014年 12月 10日 10:22 星期三
楼主请教下:db size和db file size的监控代码怎么写,我这里取数貌似不对啊
帖子xxlyws » 2015年 3月 16日 06:32 星期一
数据库都能监控到什么信息?
帖子zhaoguotao » 2017年 6月 28日 14:59 星期三
博主你好,请问是否出现过这样的错误,我其他的cpu,内容都能监控,orabbix的监控不到。配置文件和查询文件都看了,没有问题。
2017-06-28 13:37:36,137 [main] ERROR Orabbix - Error while getting .Query null
2017-06-28 13:37:36,137 [main] ERROR Orabbix - Error on Configurator on getQueryProperties({'SQL*Net message to client',0,'SQL*Net message to dblink',0, 'SQL*Net more data to client',
0,'SQL*Net more data to dblink',0, 'SQL*Net break/reset to client',0,'SQL*Net break/reset to dblink',0, 'log file single write',0,'log file parallel write',0,total_waits)))
Other FROM V$system_event WHERE 1=1 AND event not in ( 'SQL*Net message from client', 'SQL*Net more data from client', 'pmon timer', 'rdbms ipc message',
'rdbms ipc reply', 'smon timer'), sga_log_buffer.Query=SELECT TO_CHAR(ROUND(SUM(decode(pool,NULL,decode(name,'log_buffer',(bytes)/(1024*1024),0),0)),2))
sga_lbuffer FROM V$SGASTAT}) empty query
2017-06-28 13:37:36,137 [main] ERROR Orabbix - Error on Querybox java.lang.NullPointerException
2017-06-28 13:37:36,141 [pool-1-thread-25] INFO Orabbix - Done with dbJob on database DB-168.33.2.62 QueryList elapsed time 5 ms
2017-06-28 13:37:36,238 [pool-1-thread-21] ERROR Orabbix - Error on dbJob for database DB-10.168.14.31 QueryList error: java.lang.NullPointerException
帖子ttff2323 » 2017年 7月 4日 17:33 星期二
问一个问题,查询返回中文乱码怎么解决
帖子aheadjoe » 2017年 8月 1日 17:09 星期二
转成英文介面就行
8 篇帖子 分页: 1 / 1

登录

在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客