基於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後綴