Zabbix监控oracle数据库

zabbix可使用orabbix进行oracle运行情况监控

Oracle 插件:  http://www.smartmarmot.com/product/orabbix/download/ 官网地址


Orabbix插件的安装与配置

确保安装jdk环境,java version查看,没有则通过yum来安装JAVA:yum install java

 

1.在/opt目录下新建一个orabbix目录:

[root@oracleorabbix]#midir -p /opt/orabbix

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

 

2.解压安装文件

[root@oracleorabbix]#unzip orabbix-1.2.3.zip

 

3.赋予权限

[root@oracleorabbix]# chmod -R a+x orabbix/

 

 4 通过/opt/orabbix/conf/config.props.sample文件创建一个config.props文件:

[root@oracleorabbix]#cp/opt/orabbix/conf/config.props.sample /opt/orabbix/conf/config.props

 

5.  编辑orabbix配置文件,具体如下

 

[root@oracleorabbix]#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

#frequencyof item’s refresh

OrabbixDaemon.Sleep=300

#MaxThreadNumbershould be >= than the number of your databases

OrabbixDaemon.MaxThreadNumber=100

 

 #put here your databases in a comma separatedlist

#DatabaseList=DB1,DB2,DB3

DatabaseList=DB_QM    DB名称,可随意定义,但要与下文保持一致,切记要与监控的主机名称保持一致,会在页面配置时用到

 

 #Configuration of Connection pool

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

#Maximumnumber of active connection inside pool

DatabaseList.MaxActive=10

#The maximumnumber of milliseconds that the pool will wait

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

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

DatabaseList.MaxWait=100

DatabaseList.MaxIdle=1

 

 #define here your connection string for eachdatabase

#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权限用户)

#Thosevalues are optionals if not specified Orabbix is going to use the generalvalues

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 USERZABBIX

IDENTIFIEDBY zabbix

DEFAULTTABLESPACE SYSTEM

TEMPORARYTABLESPACE TEMP

PROFILEDEFAULT

ACCOUNTUNLOCK;

GRANTCONNECT TO ZABBIX;

GRANTRESOURCE TO ZABBIX;

ALTER USERZABBIX DEFAULT ROLE ALL;

GRANT SELECTANY TABLE TO ZABBIX;

GRANT CREATESESSION TO ZABBIX;

GRANT SELECTANY DICTIONARY TO ZABBIX;

GRANTUNLIMITED TABLESPACE TO ZABBIX;

GRANT SELECTANY DICTIONARY TO ZABBIX;

 

Oracle11g添加如下命令

Execdbms_network_acl_admin.create_acl(acl => ‘resolve.xml’,description=>’resolve acl’, principal =>’ZABBIX’, is_grant => true, privilege=>’resolve’);

execdbms_network_acl_admin.assign_acl(acl=> ‘resolve.xml’, host =>’*’);

commit;

直接在sqlplus下执行

 

6.  创建执行文件(直接cp即可)

[root@oracleorabbix]# cp /opt/orabbix/init.d/orabbix/etc/init.d/orabbix

 

7.保存退出,启动orabbix服务(确保有执行权限)

/etc/init.d/orabbixstart

Orabbix服务加入随系统启动:

chkconfig–add orabbix

chkconfig–level 345 orabbix on

 

常见问题:

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

[root@zabbixorabbix]# /etc/init.d/orabbix start

StartingOrabbix service:

 

[root@zabbixorabbix]# 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)

用sqlplus 测试看看账号面膜能否成功登陆


可查看log信息判断解决

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

到此,安装配置完成,则通过web页面访问直接导入模块即可


导入模板

在解压文件的templat目录下有xml4个文件:直接使用full文件,可以直接导入。其中包括了Item,如何触发器,可自行修改;


hosts配置页的右上角点import导入,注意勾选templates,注意看报错提示; 可以直接导入成功!



正常展示效果如下


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Zabbix监控Oracle数据库中的表数据,可以使用Zabbix数据库监控功能结合Oracle的特定监控方法。以下是一个简单的步骤指南: 1. 确保已经安装和配置了Zabbix服务器和Zabbix代理。 2. 在Zabbix服务器上创建一个新的模板,用于监控Oracle数据库。在模板中,可以定义触发器、图表和报警等。 3. 在Zabbix服务器上创建一个新的主机,对应于要监控Oracle数据库实例。为主机配置IP地址和其他必要的参数。 4. 在Zabbix代理配置文件中添加数据库监控参数。编辑zabbix_agentd.conf文件,添加以下内容: ``` UserParameter=oracle.tablespace.discovery,/path/to/script UserParameter=oracle.tablespace.size[*],/path/to/script $1 $2 ``` 5. 创建一个用于获取表数据的脚本。可以使用Python、Shell脚本或其他适当的工具来编写脚本。该脚本应该能够连接到Oracle数据库并获取表数据。 6. 将脚本放置在Zabbix代理所在主机上,并确保脚本具有执行权限。 7. 在Zabbix服务器上导入模板,并将其关联到Oracle数据库的主机。 8. 在触发器中定义阈值和触发条件,以便在表数据达到特定阈值时触发警报。 9. 配置图表以显示表数据的趋势和变化。 10. 测试监控功能,确保Zabbix能够成功获取和显示表数据,并在需要时触发警报。 请注意,上述步骤只是一个简单的指南,具体的配置和实施可能因系统环境和要求而有所不同。建议参考ZabbixOracle的官方文档以获取更详细的信息和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值