设为首页 收藏本站
云服务器等爆品抢先购,低至4.2元/月
查看: 2317|回复: 0

[经验分享] 基于Oracle安装Zabbix

 关闭 [复制链接]
累计签到:315 天
连续签到:1 天
发表于 2017-1-22 17:13:27 | 显示全部楼层 |阅读模式
原文地址http://www.cnblogs.com/raobing/archive/2016/12/13/6172231.html
基于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 及其他扩展
注意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
# rpm -Uvh php-mbstring-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中没有,下载地址:
OCI8 2.0 下载地址:
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=<SPAN style="POSITION: relative; MIN-WIDTH: 0px; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: normal; BORDER-RIGHT-WIDTH: 0px; TEXT-TRANSFORM: none; FONT-STYLE: normal; TEXT-INDENT: 0px; MARGIN: 0px; MIN-HEIGHT: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; DIRECTION: ltr; MAX-WIDTH: none; WORD-WRAP: normal; WHITE-SPACE: nowrap; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; LETTER-SPACING: normal; MAX-HEIGHT: none; FONT-SIZE: 14px; BORDER-LEFT-WIDTH: 0px; FONT-WEIGHT: normal; WORD-SPACING: normal; PADDING-TOP: 0px" id=MathJax-Element-1-Frame class=MathJax role=presentation tabIndex=0 data-mathml='LDLIBRARYPATH:'>LDLIBRARYPATH:LDLIBRARYPATH: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');
<SPAN style="POSITION: relative; MIN-WIDTH: 0px; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: normal; BORDER-RIGHT-WIDTH: 0px; TEXT-TRANSFORM: none; FONT-STYLE: normal; TEXT-INDENT: 0px; MARGIN: 0px; MIN-HEIGHT: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; DIRECTION: ltr; MAX-WIDTH: none; WORD-WRAP: normal; WHITE-SPACE: nowrap; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; LETTER-SPACING: normal; MAX-HEIGHT: none; FONT-SIZE: 14px; BORDER-LEFT-WIDTH: 0px; FONT-WEIGHT: normal; WORD-SPACING: normal; PADDING-TOP: 0px" id=MathJax-Element-2-Frame class=MathJax role=presentation tabIndex=0 data-mathml='stid=ociparse('>stid=ociparse(stid=ociparse(conn, 'select table_name from user_tables');
oci_execute($stid);
echo "<table>\n";
while ((<SPAN style="POSITION: relative; MIN-WIDTH: 0px; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: normal; BORDER-RIGHT-WIDTH: 0px; TEXT-TRANSFORM: none; FONT-STYLE: normal; TEXT-INDENT: 0px; MARGIN: 0px; MIN-HEIGHT: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; DIRECTION: ltr; MAX-WIDTH: none; WORD-WRAP: normal; WHITE-SPACE: nowrap; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; LETTER-SPACING: normal; MAX-HEIGHT: none; FONT-SIZE: 14px; BORDER-LEFT-WIDTH: 0px; FONT-WEIGHT: normal; WORD-SPACING: normal; PADDING-TOP: 0px" id=MathJax-Element-3-Frame class=MathJax role=presentation tabIndex=0 data-mathml='row=ocifetcharray('>row=ocifetcharray(row=ocifetcharray(stid, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
echo "<tr>\n";
foreach (<SPAN style="POSITION: relative; MIN-WIDTH: 0px; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: normal; BORDER-RIGHT-WIDTH: 0px; TEXT-TRANSFORM: none; FONT-STYLE: normal; TEXT-INDENT: 0px; MARGIN: 0px; MIN-HEIGHT: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; DIRECTION: ltr; MAX-WIDTH: none; WORD-WRAP: normal; WHITE-SPACE: nowrap; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; LETTER-SPACING: normal; MAX-HEIGHT: none; FONT-SIZE: 14px; BORDER-LEFT-WIDTH: 0px; FONT-WEIGHT: normal; WORD-SPACING: normal; PADDING-TOP: 0px" id=MathJax-Element-4-Frame class=MathJax role=presentation tabIndex=0 data-mathml='rowas'>rowasrowasitem) {
echo " <td>".(<SPAN style="POSITION: relative; MIN-WIDTH: 0px; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: normal; BORDER-RIGHT-WIDTH: 0px; TEXT-TRANSFORM: none; FONT-STYLE: normal; TEXT-INDENT: 0px; MARGIN: 0px; MIN-HEIGHT: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; DIRECTION: ltr; MAX-WIDTH: none; WORD-WRAP: normal; WHITE-SPACE: nowrap; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; LETTER-SPACING: normal; MAX-HEIGHT: none; FONT-SIZE: 14px; BORDER-LEFT-WIDTH: 0px; FONT-WEIGHT: normal; WORD-SPACING: normal; PADDING-TOP: 0px" id=MathJax-Element-5-Frame class=MathJax role=presentation tabIndex=0 data-mathml='item!==null?htmlspecialchars('>item!==null?htmlspecialchars(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=<SPAN style="POSITION: relative; MIN-WIDTH: 0px; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: normal; BORDER-RIGHT-WIDTH: 0px; TEXT-TRANSFORM: none; FONT-STYLE: normal; TEXT-INDENT: 0px; MARGIN: 0px; MIN-HEIGHT: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; DIRECTION: ltr; MAX-WIDTH: none; WORD-WRAP: normal; WHITE-SPACE: nowrap; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; LETTER-SPACING: normal; MAX-HEIGHT: none; FONT-SIZE: 14px; BORDER-LEFT-WIDTH: 0px; FONT-WEIGHT: normal; WORD-SPACING: normal; PADDING-TOP: 0px" id=MathJax-Element-6-Frame class=MathJax role=presentation tabIndex=0 data-mathml='ORACLEHOME/bin:'>ORACLEHOME/bin:ORACLEHOME/bin:PATH
export PATH
LD_LIBRARY_PATH=<SPAN style="POSITION: relative; MIN-WIDTH: 0px; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: normal; BORDER-RIGHT-WIDTH: 0px; TEXT-TRANSFORM: none; FONT-STYLE: normal; TEXT-INDENT: 0px; MARGIN: 0px; MIN-HEIGHT: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; DIRECTION: ltr; MAX-WIDTH: none; WORD-WRAP: normal; WHITE-SPACE: nowrap; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; LETTER-SPACING: normal; MAX-HEIGHT: none; FONT-SIZE: 14px; BORDER-LEFT-WIDTH: 0px; FONT-WEIGHT: normal; WORD-SPACING: normal; PADDING-TOP: 0px" id=MathJax-Element-7-Frame class=MathJax role=presentation tabIndex=0 data-mathml='ORACLEHOME/lib:'>ORACLEHOME/lib:ORACLEHOME/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
编译安装
#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



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-332066-1-1.html 上篇帖子: ubuntu zabbix 客户端 安装 下篇帖子: CentOS下zabbix监控mysql5.6版本主从
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表