设为首页 收藏本站
查看: 6582|回复: 0

[经验分享] 基于oracle环境的zabbix3.2.3安装(DB、WEB分开的)

  [复制链接]
累计签到:315 天
连续签到:1 天
发表于 2017-2-4 12:55:35 | 显示全部楼层 |阅读模式
本帖最后由 枫狐狸 于 2017-2-4 13:07 编辑

之前有写过一个基于oracle数据源的zabbix安装,但数据库和WEB、Server都是一起的。此次把两者分开安装系统版本从6.6升级到7.3,主要目的是想解决mysql删除过期数据时造成的Housekeeping忙的问题。

一、安装zabbixDB
OS版本:Oracle Linux 7.3 只安装的GONE桌面组件,安装时选择的中文
Oracle版本:12.1
test:ZABBIX:/root>cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)
test:ZABBIX:/root>cat /etc/os-release
NAME="Oracle Linux Server"
VERSION="7.3"
ID="ol"
VERSION_ID="7.3"
PRETTY_NAME="Oracle Linux Server 7.3"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:7:3:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://bugzilla.oracle.com/"
ORACLE_BUGZILLA_PRODUCT="Oracle Linux 7"
ORACLE_BUGZILLA_PRODUCT_VERSION=7.3
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=7.3
数据库安装过程省略。。。(唯一要注意就是安装时选择的字符集为UTF8或AL32UTF8)
创建zabbix表空间,创建用户指定表空间
CREATE TABLESPACE "ZABBIX"  DATAFILE '/oradata/zabbix/zabbix01.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 IDENTIFIED BY zabbix DEFAULT TABLESPACE ZABBIX;  
GRANT DBA TO zabbix WITH ADMIN OPTION;

oracle 给zabbix 权限

GRANT ALTER SESSION TO ZABBIX;
GRANT CREATE SESSION TO ZABBIX;
GRANT CONNECT TO ZABBIX;
ALTER USER ZABBIX DEFAULT ROLE ALL;
GRANT SELECT ON V_$INSTANCE TO ZABBIX;
GRANT SELECT ON DBA_USERS TO ZABBIX;
GRANT SELECT ON V_$LOG_HISTORY TO ZABBIX;
GRANT SELECT ON V_$PARAMETER TO ZABBIX;
GRANT SELECT ON SYS.DBA_AUDIT_SESSION TO ZABBIX;
GRANT SELECT ON V_$LOCK TO ZABBIX;
GRANT SELECT ON DBA_REGISTRY TO ZABBIX;
GRANT SELECT ON DBA_SEGMENTS TO ZABBIX;
GRANT SELECT ON V_$LIBRARYCACHE TO ZABBIX;
GRANT SELECT ON V_$SYSSTAT TO ZABBIX;
GRANT SELECT ON V_$PARAMETER TO ZABBIX;
GRANT SELECT ON V_$LATCH TO ZABBIX;
GRANT SELECT ON V_$PGASTAT TO ZABBIX;
GRANT SELECT ON V_$SGASTAT TO ZABBIX;
GRANT SELECT ON V_$LIBRARYCACHE TO ZABBIX;
GRANT SELECT ON V_$PROCESS TO ZABBIX;
GRANT SELECT ON DBA_DATA_FILES TO ZABBIX;
GRANT SELECT ON DBA_TEMP_FILES TO ZABBIX;
GRANT SELECT ON DBA_FREE_SPACE TO ZABBIX;
GRANT SELECT ON V_$SYSTEM_EVENT TO ZABBIX;
exec dbms_network_acl_admin.create_acl(acl => 'resolve_server.xml',description =>'resolve acl', principal =>'ZABBIX', is_grant => true, privilege =>'resolve');
exec dbms_network_acl_admin.assign_acl(acl=> 'resolve_server.xml', host =>'*');
commit;

用zabbxi 用户登录
记得使用  zabbix 登录oracle
cd /home/zabbix-3.2.3/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%/home/zabbix/output_png/%g' images.sql

然后将图片拷贝到/tmp/zabbix/create/images目录中
cp -r /home/zabbix-3.2.3/misc/images/*  /home/zabbix/output_png/

chown oracle:dba /home/zabbix/output_png

执行三个sql 脚本  注意是zabbix 用户
sqlplus> @schema.sql
sqlplus> @images.sql
sqlplus> @data.sql

调整字段的长度:
SQL> alter table items add(new_description nvarchar2(2000));
SQL> update items set new_description = DESCRIPTION;
SQL> alter table items drop column DESCRIPTION;
SQL> alter table items rename column new_description to DESCRIPTION;

二、安装zabbix_WEB及server
Centos7.3迷你版
RHEL7 、CentOS7 中使用了firewalld代替了原来的iptables,操作设置和原来有点不同:
查看防火墙状态:systemctl status firewalld
启动防火墙:systemctl start firewalld
停止防火墙:systemctl stop firewalld
禁用防火墙:systemctl disable firewalld

需要关闭 selinux,一定要关闭这个,开启selinux会引起一连串问题,甚至zabbix的discovery功能也不能正常使用
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
确认是否修改成功
# grep SELINUX /etc/selinux/config
然后重启系统即可
# reboot

安装php5.5
CentOs 7.X
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install php55w.x86_64 php55w-cli.x86_64 php55w-common.x86_64 php55w-gd.x86_64 php55w-mbstring.x86_64 php55w-pdo.x86_64 php55w-xml.x86_64 php55w-xmlrpc.x86_64 php55w-fpm php55w-devel php55w-xml
yum install php55w-bcmath-5.5.38-1.w7.x86_64 --skip-broken

安装相关组件:
yum update

yum install wget libmicrohttpd-devel httpd-devel httpd-tools libmicrohttpd.x86_64 lrzsz httpd net-snmp-devel java-devel openldap openldap-devel libssh2-devel.x86_64 unixODBC-devel.x86_64 OpenIPMI-devel OpenIPMI-libs.x86_64 net-snmp-devel libxml2 curl-devel libxml2-devel gcc gcc-c++ compat-libstdc++-33

[iyunv@test1 zabbix]# php -v
PHP 5.5.38 (cli) (built: Jul 21 2016 12:25:20)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
[iyunv@test1 ~]# which phpize
/usr/bin/phpize

安装oracle client
http://www.oracle.com/technetwork/cn/topics/linuxx86-64soft-092277.html

rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

安装OCI8
wget http://pecl.php.net/get/oci8-2.0.12.tgz
tar -xf oci8-2.0.12.tgz
cd oci8-2.0.12
phpize
./configure --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib --with-php-config=/usr/bin/php-config
make
make test
make install
启用OCI8(此步也是启用PHP database support中对oracle的支持)

echo "/usr/lib/oracle/11.2/client64/lib" > /etc/ld.so.conf.d/oracle.conf
echo "extension=oci8.so" >> /etc/php.ini
ldconfig
安装完成后可以测试一下是否安装OCI成功
echo "<?php phpinfo(); ?>">/var/www/html/test.php
systemctl restart httpd

有以下部分显示则表示安装成功
file:///C:/Users/huangjun/AppData/Local/Temp/CyberArticle/4939729c80a73d4a5846154337983151_1375_files/1291664644.png


配置环境变量:
将以下内容写入/etc/profile文件
export ORACLE_HOME=/usr/lib/oracle/11.2/client64/  
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64:/usr/lib/oracle/11.2/client64/bin:$LD_LIBRARY_PATH
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export TNS_ADMIN=/usr/lib/oracle/11.2/client64/network/admin
export PATH=$PATH:/usr/lib/oracle/11.2/client64/bin

network/admin两个目录自己建一下,然后把zabbixDB的tnsname.ora复制到admin目录下
把11G的tnsping文件上传到/usr/lib/oracle/11.2/client64/bin/目录下

下载zabbix 3.2.3 源码包
cd /home
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.3/zabbix-3.2.3.tar.gz
解压
tar -zxvf zabbix-3.2.3.tar.gz
编译
cd zabbix-3.2.3
创建/usr/lib/oracle/11.2/client64/rdbms/public 然后将/usr/include/oracle/11.2/client64/的内容复制到/usr/lib/oracle/11.2/client64/rdbms/public之下

./configure --prefix=/home/zabbix --enable-server --enable-agent --enable-java --with-ssh2 --enable-ipv6 --with-oracle=/usr/lib/oracle/11.2/client64/ --with-unixodbc  --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi
编译结果如下:
Configuration:
  Detected OS:           linux-gnu
  Install path:          /home/zabbix
  Compilation arch:      linux

  Compiler:              gcc
  Compiler flags:         -g -O2

  Library-specific flags:
    database:                -I/usr/lib/oracle/11.2/client64//rdbms/public -I/usr/lib/oracle/11.2/client64//rdbms/demo  
    libXML2:               -I/usr/include/libxml2
    unixODBC:              -I/usr/include
    Net-SNMP:               -I/usr/local/include -I/usr/lib64/perl5/CORE -I. -I/usr/include
    OpenIPMI:              -I/usr/include
    libssh2:               -I/usr/include

  Enable server:         yes
  Server details:
    With database:         Oracle
    WEB Monitoring:        cURL
    Native Jabber:         no
    SNMP:                  yes
    IPMI:                  yes
    SSH:                   yes
    TLS:                   no
    ODBC:                  yes
    Linker flags:             -L/usr/lib/oracle/11.2/client64//lib     -L/usr/lib64  -L/usr/lib64 -L/usr/lib -L/usr/lib    -rdynamic  
    Libraries:                -lclntsh -lnnz11    -lxml2  -lodbc  -lnetsnmp -lssh2 -lOpenIPMI -lOpenIPMIposix    -lcurl -lm -ldl  -lresolv

  Enable proxy:          no
  Enable agent:          yes
  Agent details:
    TLS:                   no
    Linker flags:              -rdynamic  
    Libraries:                 -lcurl -lm -ldl  -lresolv

  Enable Java gateway:   yes
  Java gateway details:
    Java compiler:         javac
    Java archiver:         jar

  LDAP support:          no
  IPv6 support:          yes

安装
make install

建软连接
ln -s /home/zabbix/etc /etc/zabbix

配置zabbix服务
修改zabbix.conf 配置文件

vi /etc/zabbix/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBHost=xxx.xxx.xxx.xxx
DBName=zabbix
DBUser=zabbix
Password=zabbix
DBPort=1521
Timeout=4
LogSlowQueries=3000

修改php.ini
sed -i "s@;date.timezone =@date.timezone = Asia/Shanghai@g" /etc/php.ini
sed -i "s@max_execution_time = 30@max_execution_time = 300@g" /etc/php.ini
sed -i "s@post_max_size = 8M@post_max_size = 32M@g" /etc/php.ini
sed -i "s@max_input_time = 60@max_input_time = 300@g" /etc/php.ini
sed -i "s@memory_limit = 128M@memory_limit = 128M@g" /etc/php.ini
sed -i "s@;mbstring.func_overload = 0@ambstring.func_overload = 2@g" /etc/php.ini
sed -i "s@upload_max_filesize = 2M@upload_max_filesize = 32M@g" /etc/php.ini
添加zabbix服务启动及开机启动
cp /home/zabbix-3.2.3/misc/init.d/fedora/core5/zabbix_server /etc/init.d/
cp /home/zabbix-3.2.3/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
sed -i "s@ZABBIX_BIN=\"/usr/local/sbin/zabbix_server\"@ZABBIX_BIN=\"/home/zabbix/sbin/zabbix_server\"@g" /etc/init.d/zabbix_server
sed -i "s@ZABBIX_BIN=\"/usr/local/sbin/zabbix_agentd\"@ZABBIX_BIN=\"/home/zabbix/sbin/zabbix_agentd\"@g" /etc/init.d/zabbix_agentd

chkconfig --add zabbix_server
chkconfig --add zabbix_agentd
chkconfig --level 345 zabbix_server on
chkconfig --level 345 zabbix_agentd on

设置运行权限
chmod 700 /etc/init.d/zabbix_*

启动httpd服务
将zabbix 的php文件拷贝到 httpd 的 根路径/var/www/html/下
cp -r /home/zabbix-3.2.3/frontends/php/*  /var/www/html/
chmod 777 /var/www/html/conf

启动服务  service httpd restart
进入http://IP/

1298519655.png 1298544927.png 1298586502.png 1298641648.png 1298666858.png 1298689306.png 1298966427.png






运维网声明 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-337453-1-1.html 上篇帖子: Zabbix版本包下载地址 下篇帖子: zabbix 监控jmx
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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