43234 发表于 2016-4-1 10:09:53

zabbix 3.0 编译安装到 oracle 数据库中 centos 6.6

基于centos 6.6编译安装zabbix 3.0数据存储到oracle中


因为服务器多了以后, 依赖mysql为后台的zabbix 性能明显会下降。那么我们将其安装到oracle中,以下是安装文档。


基础 : zabbix3.0.1 版本, php5.5   centos 6.6   oracle 11.204



安装httpd


yum install httpd.


1. 要用 php55.
https://oss.oracle.com/projects/php/files/EL6/x86_64/

下载以下软件

php55-5.5.10-1.el6.x86_64.rpm         

php55-cli-5.5.10-1.el6.x86_64.rpm   

php55-devel-5.5.10-1.el6.x86_64.rpm

php55-intl-5.5.10-1.el6.x86_64.rpm   

php55-oci8-12cR1-5.5.10-2.el6.x86_64.rpm    不需要网上说的编译安装了

php55-xml-5.5.10-1.el6.x86_64.rpm

php55-bcmath-5.5.10-1.el6.x86_64.rpm

php55-common-5.5.10-1.el6.x86_64.rpm

php55-gd-5.5.10-1.el6.x86_64.rpm   

php55-mbstring-5.5.10-1.el6.x86_64.rpm

php55-pdo-5.5.10-1.el6.x86_64.rpm


要安装 1201 版本以上的 oracle客户端 oracle官网有下载

oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm

然后 将 oracle安装时候的环境变量 复制到 /etc/profile 一份

exportORACLE_BASE=/u01/app/oracle

exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

exportORACLE_SID=oraclesid

exportPATH=$ORACLE_HOME/bin:/usr/sbin:$PATH

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib   必须有,不然起不来 zabbix-server

exportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib


2下载zabbix 3.0.1 源码包

解压cd zabbix-3.0.1
配置

./configure --prefix=/usr/local/zabbix-server --enable-server --with-oracle=/letv/app/oracle/product/11.2.0/dbhome_1 --with-unixodbc--with-net-snmp --with-libcurl --with-libxml2--with-ldap --with-openipmi

上面的功能如果缺乏,就安装

--with-oracle orcle home目录

makemake install3.配置oracle3.1 创建zabbix_server 表空间,创建用户指定表空间

CREATE TABLESPACE "ZABBIX_TS"DATAFILE '/letv/app/oracle/oradata/zabbix_ts.dbf'SIZE 5GAUTOEXTEND ONNEXT 10MMAXSIZE 16G LOGGINGONLINEPERMANENTBLOCKSIZE 8192 EXTENT MANAGEMENT LOCALAUTOALLOCATESEGMENT SPACE MANAGEMENT AUTO;CREATE USER zabbix_serverIDENTIFIED BY zabbix_serverDEFAULT TABLESPACE ZABBIX_TS;GRANT DBA TO zabbix_server WITH ADMIN OPTION;

3.2. oracle 给zabbix_server 权限

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

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

commit;

3.3 用zabbxi_server 用户登录

记得使用zabbix_server 登录oracle而不要错误登录了,
cd /letv/zabbix-3.0.1/database/oracle

有三个文件,data.sqlimages.sqlschema.sql
先要执行schema.sql
因为里面有个oracle不支持的字符长度,所以先要修改字符串长度

sed -i 's/2048/2000/g' schema.sql

第二个脚本是images.sql
里面有个目录/home/zabbix/zabbix/create/output_png
这目录里面应该放 图片,oracle对个目录 权限,所以我们将这个目录替换。

sed -i 's%/home/zabbix/zabbix/create/output_png%/tmp/zabbix/create/images/%g' images.sql

然后将图片拷贝到/tmp/zabbix/create/images目录中
cp -r zabbix-3.0.1/misc/images/tmp/zabbix/create

执行三个sql 脚本注意是zabbix-server 用户

sqlplus> @schema.sql
sqlplus>@images.sql
sqlplus> @data.sql

调整字段的长度:
SQL> alter table items add(new_description nvarchar2(2000));
Table altered.
SQL> update items set new_description = DESCRIPTION;
5106 rows updated.
SQL> alter table items drop column DESCRIPTION;
Table altered.
SQL> alter table items rename column new_description to DESCRIPTION;

4修改zabbix.conf 配置文件


/usr/local/zabbix-server/etc/zabbix-server.confspacer.gif

LogFile=/tmp/zabbix_server.log

DBHost=10.121.152.88

DBName=oraclesid

DBUser=zabbix_serverDB

Password=zabbix_server

DBPort=1521

Timeout=4

LogSlowQueries=3000


5修改php 文件
vim /etc/php.ini
----------------------------------------->
date.timezone = Asia/Shanghai
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
----------------------------------------->

将zabbix 的php文件拷贝到httpd 的 根路径

/var/www/html/zabbix下

cp -r zabbix-3.0.1/frontends/php/var/www/html/zabbix
启动服务service httpd start
进入http://iP/zabbix



中文支持

var/www/html/zabbix/include/locales.inc.php文件.

# vim include/locales.inc.php

functiongetLocales()

{      

returnarray

(               

'en_GB'=>array('name'=>('English (en_GB)'),   'display'=>true),            

'en_US'=>array('name'=>('Englishen_US)'),       'display'=>true),               'bg_BG'=>array('name'=>_('Bulgarian(bg_BG)'),   'display'=>true),               

'zh_CN'=>array('name'=>_('Chinese (zh_CN)'),       'display'=>true),               

//原本这里为false,请改为true                ...........代码省略掉........       );}


中文字体


下载微软雅黑或者楷体,放到/var/www/html/zabbix/fonts,并且把TTF后缀改为ttf
修改zabbix的web端/include/defines.inc.php


    //define('ZBX_FONT_NAME', 'DejaVuSans');

    define('ZBX_FONT_NAME', 'SIMKAI');


    //define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name

    define('ZBX_GRAPH_FONT_NAME', 'SIMKAI'); // font file name


其中SIMKAI为字库名字,不包含ttf后缀




枫狐狸 发表于 2016-4-6 12:05:46

zabbix_server 服务无法连到oracle数据库是怎么解决的?
页: [1]
查看完整版本: zabbix 3.0 编译安装到 oracle 数据库中 centos 6.6