记一次 Zabbix 插件 -- orabbix 插件的部署

本文详细介绍Zabbix监控系统中,如何部署orabbix插件实现对Oracle数据库的全面监控,包括插件安装、配置、模板导入及常见问题排查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Zabbix Server 的部署:记一次 Zabbix 监控的部署(Installation from packages)
Zabbix Proxy 的部署(可选):记一次Zabbix Proxy的部署

注意:本次部署在最后的时候发现orabbix无法获取监控数据,查了一圈怀疑是Zabbix的版本问题,我之前做实验用的是3版本,本次用的是4版本,建议部署orabbix插件的同学安装Zabbix的时候使用3版本,但不影响安装步骤

补充:经实测,本次安装获取监控数据失败的原因是zabbix版本的问题,我重新部署了一套3.4.15版本的zabbix,并在其上按如下步骤部署了orabbix,为主机配置好模板后,不一会就有数据了,而且日志中无乱码的异常,在4.x版本上部署的orabbix日志中有乱码的现象

orabbix插件下载地址:http://www.smartmarmot.com/product/orabbix/download/
orabbix插件用于Zabbix对Oracle数据库的监控,插件自身带有一些监控模板,用于监控Oracle数据库的性能状态

本文章基于已有Zabbix监控的条件下进行,Oracle数据库已在另一台机器上正常运行
我这边orabbix插件直接部署在Zabbix Server端(CentOS 6.5 yum仓库为163的镜像)

1. 安装 orabbix 插件

orabbix插件需要java环境,所以先安装jdk(本次安装的是1.6)

[root@zabbix ~]# yum install java -y

yum安装时列出的java包及所需的依赖包
install java
将下载好的orabbix插件传输至Zabbix Server的服务器上(我上传到了 /tmp 目录下,版本为1.2.3)
创建目录并解压包

[root@zabbix ~]# mkdir /opt/orabbix
[root@zabbix ~]# cd /opt/orabbix/
[root@zabbix orabbix]# cp /tmp/orabbix-1.2.3.zip .
[root@zabbix orabbix]# unzip orabbix-1.2.3.zip
[root@zabbix orabbix]# chmod -R a+x /opt/orabbix/			#添加可执行权限
[root@zabbix orabbix]# cp init.d/orabbix /etc/init.d/		#将可执行文件添加到init.d下
[root@zabbix orabbix]# cd conf/
[root@zabbix conf]# cp config.props.sample config.props		#从模板复制出配置文件

2. 修改配置文件

配置文件路径:/opt/orabbix/conf/config.props(第一步中复制的文件)

[root@zabbix conf]# vim config.props
#参考以下配置项自行配置
ZabbixServerList=ZabbixServer1						#与下文的ZabbixServer1对应
ZabbixServer1.Address=172.17.10.171					#真实ZabbixServer的地址
ZabbixServer1.Port=10051							#ZabbixServer开放的端口
		#模板文件中有ZabbixServer2的配置样板,可以直接注释掉
OrabbixDaemon.PidFile=./logs/orabbix.pid			#默认
OrabbixDaemon.Sleep=300								#默认
OrabbixDaemon.MaxThreadNumber=100					#默认
DatabaseList=Oracle_172.17.10.179					#要监控的数据库的Hostname,注意这个名字,后面要用的到,多个用逗号分隔
		#注意:并不是数据库机器真实的hostname,而是agent配置文件中相对于Zabbix的Hostname
DatabaseList.MaxActive=10							#默认
DatabaseList.MaxWait=100							#默认
DatabaseList.MaxIdle=1								#默认
Oracle_172.17.10.179.Url=jdbc:oracle:thin:@172.17.10.179:1521:oratest
		#oracle连接方式,IP:端口:实例名,注意前缀与前面的DatabaseList的名字要一致
Oracle_172.17.10.179.User=zabbix
		#连接至数据库的用户名
Oracle_172.17.10.179.Password=123456
		#连接至数据库用户的密码
Oracle_172.17.10.179.MaxActive=10					#余下几项默认即可
Oracle_172.17.10.179.MaxWait=100	
Oracle_172.17.10.179.MaxIdle=1
Oracle_172.17.10.179.QueryListFile=./conf/query.prop
		#样例文件中的DB2、DB3相关配置注释掉即可

3. 数据库创建用户

在Oracle数据库创建对应的用户,用于orabbix采集数据

SQL> create user zabbix identified by 123456 default tablespace system;  --创建用户,注意用户名密码,要与之前配置文件中的保持一致

User created.

SQL> grant connect to zabbix;  --授权

Grant succeeded.

SQL> grant resource to zabbix;

Grant succeeded.

SQL> alter user zabbix default role all;

User altered.

SQL> grant select any table to zabbix;

Grant succeeded.

SQL> grant select any dictionary to zabbix;

Grant succeeded.

SQL> grant unlimited tablespace to zabbix;

Grant succeeded.

SQL> begin		--创建ACL列表
  2  dbms_network_acl_admin.create_acl(
  3  acl => 'resolve.xml',
  4  description => 'resolve acl',
  5  principal => 'ZABBIX',
  6  is_grant => true,
  7  privilege => 'resolve');
  8
  9  dbms_network_acl_admin.assign_acl(
 10  acl => 'resolve.xml',
 11  host => '*');
 12  end;
 13  /

PL/SQL procedure successfully completed.

SQL> commit;

Commit complete.

4. 启动 orabbix 插件

[root@zabbix conf]# service orabbix start
Starting Orabbix service:
[root@zabbix logs]# service orabbix status
Orabbix is running
#检查日志是否有报错,主要看是否有连接上的报错
[root@zabbix conf]# cd /opt/orabbix/logs/
[root@zabbix logs]# less orabbix.log

5. 导入 orabbix 模板

[root@zabbix logs]# cd /opt/orabbix/template/
[root@zabbix template]# ls
Orabbix_export_full.xml  Orabbix_export_graphs.xml  Orabbix_export_items.xml  Orabbix_export_triggers.xml

将其中的Orabbix_export_full.xml拿到本地,打开 Zabbix Server 的 Web 页面,准备导入模板
先用文本编辑器打开Orabbix_export_full.xml文件修改,将其组名修改为自己定义的组名,不要与现有组名冲突
groups
点击Import准备导入模板
import
点击 Import 导入
import
导入成功
success
在模板页面已经可以看到对应的模板
see

6. 被监控端安装agent,并在Zabbix 的 Web 界面添加主机

安装agent(文章开头的两篇链接均有agent的安装说明)

[root@Ora ~]# rpm -ivh /tmp/zabbix-agent-4.0.3-1.el6.x86_64.rpm
warning: /tmp/zabbix-agent-4.0.3-1.el6.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                ########################################### [100%]
   1:zabbix-agent           ########################################### [100%]

修改agent的配置文件

[root@Ora ~]# cd /etc/zabbix/
[root@Ora zabbix]# vim zabbix_agentd.conf
#修改以下配置项
Server=172.17.10.171
ServerActive=172.17.10.171
Hostname=Oracle_172.17.10.179		#注意与前面orabbix中配置的是一致的

启动agent

[root@Ora zabbix]# service zabbix-agent start
Starting Zabbix agent:                                     [  OK  ]
#可以通过以下方式查看日志
[root@Ora zabbix]# cd /var/log/zabbix/
[root@Ora zabbix]# less zabbix_agentd.log

7. 添加主机

打开Zabbix Server的Web端,添加主机
create host
填写主机信息(注意Host name要与orabbix配置文件、agent配置文件中的一致)
host information

8. 为主机添加Oracle的监控模板

点击Oracle_172.17.10.179
add template
点击Templates
Add Templates
点击select选择刚刚导入的oracle监控模板
add template
点击add添加,点击update更新
add template
等一会后就可以在hosts页面看到Oracle的机器的ZBX指示变绿了
hosts
之前做实验的时候,到这一步的时候已经可以正常的看到监控获取的数值了,但是这次实验在最后没有获取到监控的数值,后来去网上查了些资料,怀疑是zabbix版本导致的,毕竟之前做实验用的是3版本,本次写文章用的是4版本。
稍后我会再次安装3版本的zabbix去验证这个问题
已实测,部署了3.4.x版本的zabbix,问题就解决了
3.4.15

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值