基于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 一份
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=oraclesid
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib 必须有,不然起不来 zabbix-server
export CLASSPATH=$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目录
make make install3.配置oracle 3.1 创建zabbix_server 表空间,创建用户指定表空间
CREATE TABLESPACE "ZABBIX_TS" DATAFILE ‘/letv/app/oracle/oradata/zabbix_ts.dbf‘ SIZE 5G AUTOEXTEND ON NEXT 10M MAXSIZE 16G LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO;CREATE USER zabbix_server IDENTIFIED BY zabbix_server DEFAULT 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.sql images.sql schema.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.conf
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后缀