基於Oracle安裝Zabbix


 

軟件版本

Oracle Enterprise Linux 7.1 64bit

Oracle Enterprise Edition 12.1.0.2 64bit

Zabbix 3.2.1

准備工作

上傳軟件

我們選用Zabbix 3.2.1

解壓路徑為/u01/stage/zabbix-3.2.1

准備需要的軟件
安裝Oracle 12.1.0.2

安裝和創建數據庫過程略,數據庫字符集注意一定要是UTF8或AL32UTF8。

Apache

Zabbix的frontend需要apache ,我們使用OL7.1自帶的http服務,應該是apache2.4

PHP 及其他擴展

的相關包的具體要求,參見:https://www.zabbix.com/documentation/3.2/manual/installation/requirements

注意PHP一定要5.4以上的,因為OL7.1自帶的PHP已經是5.4了,所以省去了PHP安裝的過程。

具體安裝的軟件包:

#rpm -Uvh php-5.4.16-23.el7_0.3.x86_64.rpm php-cli-5.4.16-23.el7_0.3.x86_64.rpm php-common-5.4.16-23.el7_0.3.x86_64.rpm libzip-0.10.1-8.el7.x86_64.rpm

#rpm -Uvh php-gd-5.4.16-23.el7_0.3.x86_64.rpm t1lib-5.1.2-14.el7.x86_64.rpm

#rpm -Uvh libxml2-2.9.1-5.0.1.el7_0.1.x86_64.rpm

#rpm –Uvh libxml2-devel-2.9.1-5.0.1.el7_0.1.x86_64.rpm xz-devel-5.1.2-9alpha.el7.x86_64.rpm zlib-devel-1.2.7-13.el7.x86_64.rpm

#rpm -Uvh php-xml-5.4.16-23.el7_0.3.x86_64.rpm

#rpm -Uvh php-xmlrpc-5.4.16-23.el7_0.3.x86_64.rpm

(ftp://bo.mirror.garr.it/1/slc/centos/7.0.1406/updates/x86_64/Packages/php-mbstring-5.4.16-23.el7_0.3.x86_64.rpm)

# rpm -Uvh php-mbstring-5.4.16-23.el7_0.3.x86_64.rpm

(ftp://bo.mirror.garr.it/1/slc/centos/7.0.1406/updates/x86_64/Packages/php-bcmath-5.4.16-23.el7_0.3.x86_64.rpm)

# rpm -Uvh php-bcmath-5.4.16-23.el7_0.3.x86_64.rpm

OCI8擴展

為了安裝OCI8,還需要先安裝下列包:

autoconf-2.69-11.el7.noarch.rpm

automake-1.13.4-3.el7.noarch.rpm

pcre-devel-8.32-14.el7.x86_64.rpm

php-devel-5.4.16-23.el7_0.3.x86_64.rpm (OS安裝DVD中沒有,下載地址:

http://rpm.pbone.net/index.php3/stat/4/idpl/27829696/dir/centos_7/com/php-devel-5.4.16-23.el7_0.3.x86_64.rpm.html,這個包包含phpize)

OCI8 2.0 下載地址:

http://pecl.php.net/package/oci8

PHP 5.4 應該用2.0.X版本的oci8,更新版本是和PHP 7 搭配使用的

# tar -xzf oci8-2.0.11.tgz

# cd oci8-2.0.11

# phpize

# ./configure --with-oci8=/u01/app/oracle/product/12.1.0/dbhome_1

# make install

修改/etc/php.ini

在文件最后添加一行:

extension=oci8.so

在/etc/ld.so.conf中添加oci8.so所在的路徑,例如:

include ld.so.conf.d/*.conf

/root/oci8-2.0.11/modules

在/etc/sysconfig/httpd文件中添加必要的環境變量(不要加export):

ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

NLS_LANG=AMERICAN_AMERICA.AL32UTF8

測試

#service httpd start

將下列腳本存成ocitest.php,放在/var/www/html 目錄下,保證可執行權限:

<?php

error_reporting(E_ALL);

ini_set('display_errors', 'On');

$conn = oci_connect('system', 'welcome', 'localhost/orcl');

$stid = oci_parse($conn, 'select table_name from user_tables');

oci_execute($stid);

echo "<table>\n";

while (($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {

echo "<tr>\n";

foreach ($row as $item) {

echo " <td>".($item !== null ? htmlspecialchars($item, ENT_QUOTES) : "&nbsp;")."</td>\n";

}

echo "</tr>\n";

}

echo "</table>\n";

?>

訪問http://<hostname>:<port>/ocitest.php,正常應該在頁面上返回system用戶的所有表。

修改其他PHP參數

修改/etc/php.ini文件中的下列參數:

post_max_size = 16M

max_execution_time = 300

max_input_time = 300

date.timezone = Asia/Shanghai

創建數據庫schema
建數據庫用戶

SQL> create tablespace zabbix datafile '/u01/app/oracle/oradata/orcl/zabbix01.dbf' size 500M;

Tablespace created.

SQL> create user zabbix identified by welcome1 default tablespace zabbix;

User created.

SQL> grant connect,resource,unlimited tablespace to zabbix;

Grant succeeded.

SQL> grant create any directory to zabbix;

Grant succeeded.

SQL> grant drop any directory to zabbix;

Grant succeeded.

創建表結構

進入zabbix解壓縮目錄下的database/oracle目錄,以zabbix用戶身份登錄數據庫,運行3個sql腳本,創建表結構及元數據:

[oracle@rhelvm1 oracle]$ id

uid=500(oracle) gid=501(dba) groups=501(dba)

[oracle@rhelvm1 oracle]$ pwd

/u01/stage/zabbix-3.2.1/database/oracle

[oracle@rhelvm1 oracle]$ sqlplus zabbix/welcome1

SQL*Plus: Release 12.1.0.2.0 Production on Thu Nov 10 11:20:43 2016

Copyright (c) 1982, 2014, Oracle. All rights reserved.

Last Successful login time: Thu Nov 10 2016 11:19:12 -08:00

Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL>

schema.sql需要修改,將其中nvarchar2(2048)都改成nvarchar2(2000),這是12c的限制,最大只能2000了。

SQL>@schema.sql

images.sql需要修改,第一行的目錄指向zabbix解壓目錄下的misc/images目錄,我這里是/u01/stage/zabbix-3.2.1/misc/images

SQL>@images.sql

插入元數據:

SQL>@data.sql

創建OS用戶

groupadd zabbix

useradd -g zabbix zabbix

為了保證運行zabbix程序時可以正常引用Oracle庫文件,需要設置ORACLE_HOME等環境變量,修改zabbix的.bash_profile設置,添加以下行:

ORACLE_BASE=/u01/app/oracle

export ORACLE_BASE

ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1

export ORACLE_HOME

ORACLE_SID=orcl

export ORACLE_SID

PATH=$ORACLE_HOME/bin:$PATH

export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH

編譯Zabbix

安裝其他依賴包

從OL7的DVD中安裝下列包,保證zabbix的編譯能過夠成功。

  • --with-net-snmp

#rpm -Uvh net-snmp-devel-5.7.2-20.el7.x86_64.rpm elfutils-devel-0.160-1.el7.x86_64.rpm elfutils-libelf-devel-0.160-1.el7.x86_64.rpm lm_sensors-devel-3.3.4-11.el7.x86_64.rpm net-snmp-agent-libs-5.7.2-20.el7.x86_64.rpm openssl-devel-1.0.1e-42.el7.x86_64.rpm perl-devel-5.16.3-285.el7.x86_64.rpm rpm-devel-4.11.1-25.el7.x86_64.rpm tcp_wrappers-devel-7.6-77.el7.x86_64.rpm krb5-devel-1.12.2-14.el7.x86_64.rpm gdbm-devel-1.10-8.el7.x86_64.rpm libdb-devel-5.3.21-17.el7_0.1.x86_64.rpm systemtap-sdt-devel-2.6-8.0.1.el7.x86_64.rpm popt-devel-1.13-16.el7.x86_64.rpm libselinux-devel-2.2.2-6.el7.x86_64.rpm libverto-devel-0.2.5-4.el7.x86_64.rpm pyparsing-1.5.6-9.el7.noarch.rpm libcom_err-devel-1.42.9-7.el7.x86_64.rpm keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm libsepol-devel-2.1.9-3.el7.x86_64.rpm perl-ExtUtils-Install-1.58-285.el7.noarch.rpm perl-ExtUtils-MakeMaker-6.68-3.el7.noarch.rpm perl-ExtUtils-ParseXS-3.18-2.el7.noarch.rpm perl-ExtUtils-Manifest-1.61-244.el7.noarch.rpm

  • --with-libxml2

#rpm -Uvh libxml2-devel-2.9.1-5.0.1.el7_0.1.x86_64.rpm

  • --with-libcurl

#rpm -Uvh libcurl-devel-7.29.0-19.el7.x86_64.rpm

  • --with-libssh2

#rpm -Uvh libssh2-devel-1.4.3-8.el7.x86_64.rpm

ftp://bo.mirror.garr.it/1/slc/centos/7.1.1503/os/x86_64/Packages/libssh2-devel-1.4.3-8.el7.x86_64.rpm

編譯安裝

#su – zabbix

$cd /u01/stage/zabbix-

$./configure –prefix=/home/zabbix --enable-server --enable-agent --with-oracle=/u01/app/oracle/product/12.1.0/dbhome_1 --with-net-snmp --with-libcurl --with-libxml2 --with-ssh2

$make install

執行上述命令后,Zabbix會被安裝在/home/zabbix目錄下,運行命令啟動server和本機agentd:

(在啟動之前要修改etc/zabbix_server.conf文件,修改dbname,dbuser,dbpassword幾個參數)

$cd

$sbin/zabbix_server

$sbin/zabbix_agentd

安裝PHP應用

安裝過程就是將PHP文件復制到apache http server對應的目錄中:

#cd /var/www/html

#mkdir zabbix

# cd /u01/stage/zabbix-3.2.1/frontends/php

# cp -a . /var/www/html/zabbix

配置Zabbix

打開瀏覽器,訪問http://<server_ip_or_name>/zabbix

clip_image002

確保所有pre-requisites都是OK的:

clip_image003

clip_image004

clip_image005

后面會提示闖將配置文件失敗,我想是因為我們使用OS自帶的HTTPD的原因,運行httpd的用戶沒有相應的目錄訪問權限,可以按照提示將配置文件另存,並手工復制到指定位置。

配置完成后直接轉入登錄頁面。缺省用戶和口令是Admin/zabbix

clip_image007


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM