软件版本

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

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

后面会提示闯将配置文件失败,我想是因为我们使用OS自带的HTTPD的原因,运行httpd的用户没有相应的目录访问权限,可以按照提示将配置文件另存,并手工复制到指定位置。

配置完成后直接转入登录页面。缺省用户和口令是Admin/zabbix

基于Oracle安装Zabbix的更多相关文章

  1. 【zabbix部署】基于linux安装zabbix监控服务和被监控服务

    环境配置 zabbix_server:10.0.0.1 zabbix_agentd:10.0.0.1,10.0.0.2(暂定) 操作系统:centos7.6 安装环境配置 1. LNMP环境 zabb ...

  2. (转)基于CentOS 7安装Zabbix 3.4和Zabbix4.0

    原文:https://blog.csdn.net/leshami/article/details/78708049 CentOS 7环境下Zabbix4.0的安装和配置实例-----------htt ...

  3. zabbix基于docker安装

    centos的版本 # cat /etc/redhat-release CentOS Linux release (Core) docker的安装 配置yum源 # vim /etc/yum.repo ...

  4. zabbix基于LNMP安装

    安装依赖 yum install pcre* #为了支持rewrite功能 yum install openssl openssl-devel yum install gcc make gd-deve ...

  5. CentOS 7.2安装zabbix 3.0 LTS

    1.zabbix简介 zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供 ...

  6. Centos 源码安装zabbix 2.4.5

    Zabbix简介 Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统 的安全运营:并提供柔软的通知机制以让系统管 ...

  7. CentOS 7 yum安装Zabbix

    一.Zabbix简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统 ...

  8. CentOS7安装Zabbix

    一.Zabbix简介 Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. Zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系 ...

  9. centos 6.9安装zabbix 3.0

    Linux下常用的系统监控软件有Nagios.Cacti.Zabbix.Monit等,这些开源的软件,可以帮助我们更好的管理机器,在第一时间内发现,并警告系统维护人员. 今天开始研究下Zabbix,使 ...

随机推荐

  1. Fis3的前端工程化之路[三大特性篇之资源定位]

    Fis3版本:v3.4.22 Fis3的三大特性 资源定位:获取任何开发中所使用资源的线上路径 内容嵌入:把一个文件的内容(文本)或者base64编码(图片)嵌入到另一个文件中 依赖声明:在一个文本文 ...

  2. Apache Ignite之集群应用测试

    集群发现机制 在Ignite中的集群号称是无中心的,而且支持命令行启动和嵌入应用启动,所以按理说很简单.而且集群有自动发现机制感觉对于懒人开发来说太好了,抱着试一试的心态测试一下吧. 在Apache ...

  3. JS核心系列:理解 new 的运行机制

    和其他高级语言一样 javascript 中也有 new 运算符,我们知道 new 运算符是用来实例化一个类,从而在内存中分配一个实例对象. 但在 javascript 中,万物皆对象,为什么还要通过 ...

  4. TDD在Unity3D游戏项目开发中的实践

    0x00 前言 关于TDD测试驱动开发的文章已经有很多了,但是在游戏开发尤其是使用Unity3D开发游戏时,却听不到特别多关于TDD的声音.那么本文就来简单聊一聊TDD如何在U3D项目中使用以及如何使 ...

  5. 【大型网站技术实践】初级篇:借助LVS+Keepalived实现负载均衡

    一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务 ...

  6. CoreCRM 开发实录——Travis-CI 实现 .NET Core 程度在 macOS 上的构建和测试 [无水干货]

    上一篇文章我提到:为了使用"国货",我把 Linux 上的构建和测试委托给了 DaoCloud,而 Travis-CI 不能放着不用啊.还好,这货支持 macOS 系统.所以就把 ...

  7. es6小白学习笔记(一)

    1.let和const命令 1.es6新增了let和const命令,与var用法类似,但它声明的变量只在let所在的代码块内有效(块级作用域,es5只有全局和函数作用域) { let a = 1; v ...

  8. iOS 数据存储之SQLite3的使用

    SQLite3是iOS内嵌的数据库,SQLite3在存储和检索大量数据方面非常有效,它使得不必将每个对象都加到内存中.还能够对数据进行负责的聚合,与使用对象执行这些操作相比,获得结果的速度更快. SQ ...

  9. SQLite学习笔记(十)&&加密

    随着移动互联网的发展,手机使用越来越广泛,sqlite作为手机端存储的一种解决方案,使用也非常普遍.但是sqlite本身安全特性却比较弱,比如不支持用户权限,只要能获取到数据库文件就能进行访问:另外也 ...

  10. FineReport如何用JDBC连接阿里云ADS数据库

    在使用FineReport连接阿里云的ADS(AnalyticDB)数据库,很多时候在测试连接时就失败了.此时,该如何连接ADS数据库呢? 我们只需要手动将连接ads数据库需要使用到的jar放置到%F ...