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包及所需的依赖包
将下载好的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文件修改,将其组名修改为自己定义的组名,不要与现有组名冲突
点击Import准备导入模板
点击 Import 导入
导入成功
在模板页面已经可以看到对应的模板
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端,添加主机
填写主机信息(注意Host name要与orabbix配置文件、agent配置文件中的一致)
8. 为主机添加Oracle的监控模板
点击Oracle_172.17.10.179
点击Templates
点击select选择刚刚导入的oracle监控模板
点击add添加,点击update更新
等一会后就可以在hosts页面看到Oracle的机器的ZBX指示变绿了
之前做实验的时候,到这一步的时候已经可以正常的看到监控获取的数值了,但是这次实验在最后没有获取到监控的数值,后来去网上查了些资料,怀疑是zabbix版本导致的,毕竟之前做实验用的是3版本,本次写文章用的是4版本。
稍后我会再次安装3版本的zabbix去验证这个问题
已实测,部署了3.4.x版本的zabbix,问题就解决了