本帖最后由 枫狐狸 于 2016-5-24 17:35 编辑
lamp是指:linux、Apache、mysql,php
lnmp是指:linux,Nginx、mysql,php httpd算Apache还是Nginx? LAOP?LNOP?还是直接就叫LHOP安装? 系统换成Solaris 的话就是SHOP咯
本实例中oracle和zabbix-WEB、zabbix_server在同一台机上,只说明安装过程,有条件的可以分开安装,毕竟oracle和zabbix_server都是资源大户。
操作系统版本:CentOS 6.5(默认安装,最多加个桌面组件方便后面安装oracle)
首先,要先搭建Zabbix运行环境:Linux + httpd + oracle11.2.0.4 + PHP(5.5以上) CentOS 6.5
httpd
Php5.5.10
oracle11.2.0.4
1.1 添加zabbix用户:
[Shell] 纯文本查看 复制代码 useradd -d /home/zabbix -s /sbin/nologin zabbix
chmod 755 /home/zabbix
1.2 安装软件包 [Shell] 纯文本查看 复制代码 yum install wget lrzsz httpd net-snmp-devel java-devel openldap openldap-devel php-pecl-ssh2.x86_64 libssh2-devel.x86_64 unixODBC-devel.x86_64 OpenIPMI-devel OpenIPMI-libs.x86_64 net-snmp-devel libxml2 curl-devel libxml2-devel gcc libaio-devel-0.3.107-10.el6.x86_64 gcc-c++ compat-libstdc++-33
yum update
1.3 关闭防火墙 [Shell] 纯文本查看 复制代码 chkconfig --level 345 iptables off
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
1.4 安装oracle11.2.0.4 此处省略
1.5 安装PHP5.5 要用 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 不需要网上说的编译安装了(11.2.0.4可以不安装此包,本实例未安装此包)
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
[Shell] 纯文本查看 复制代码 rpm -ivh php55-common-5.5.10-1.el6.x86_64.rpm
rpm -ivh php55-cli-5.5.10-1.el6.x86_64.rpm
rpm -ivh php55-bcmath-5.5.10-1.el6.x86_64.rpm
rpm -ivh php55-5.5.10-1.el6.x86_64.rpm
rpm -ivh php55-devel-5.5.10-1.el6.x86_64.rpm
rpm -ivh php55-gd-5.5.10-1.el6.x86_64.rpm
rpm -ivh php55-intl-5.5.10-1.el6.x86_64.rpm
rpm -ivh php55-mbstring-5.5.10-1.el6.x86_64.rpm
rpm -ivh php55-pdo-5.5.10-1.el6.x86_64.rpm
rpm -ivh php55-xml-5.5.10-1.el6.x86_64.rpm
1.6 安装ORACLE_client
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm [Shell] 纯文本查看 复制代码 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
1.7 安装OCI8 wget http://pecl.php.net/get/oci8-2.0.10.tgz
[Shell] 纯文本查看 复制代码 tar -xf oci8-2.0.10.tgz
cd oci8-2.0.10
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-2.0.10 .tar.gz
(186.89 KB, 下载次数: 3)
[Shell] 纯文本查看 复制代码 tar -zxvf zabbix-3.0.2.tar.gz
#配置
./configure --prefix=/home/zabbix --enable-server --enable-agent --enable-java --with-ssh2 --enable-ipv6 --with-oracle=/home/oracle/product/11.2.0/db_1 --with-unixodbc --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi
#上面的功能如果缺乏,就安装
#--with-oracle orcle home目录
make install
#建软连接
ln -s /home/zabbix/etc /etc/zabbix
2.2 创建zabbix表空间,创建用户指定表空间
[SQL] 纯文本查看 复制代码 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;
2.3 oracle 给zabbix 权限
[SQL] 纯文本查看 复制代码 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;
2.4 用zabbxi 用户登录
记得使用 zabbix 登录oracle而不要错误登录了,
[Shell] 纯文本查看 复制代码 cd /home/zabbix-3.0.2/database/oracle
有三个文件,data.sql images.sql schema.sql
先要执行schema.sql
因为里面有个oracle不支持的字符长度,所以先要修改字符串长度
[Shell] 纯文本查看 复制代码 sed -i 's/2048/2000/g' schema.sql
第二个脚本是images.sql
里面有个目录/home/zabbix/zabbix/create/output_png
这目录里面应该放图片,oracle对个目录权限,所以我们将这个目录替换。
[Shell] 纯文本查看 复制代码 sed -i 's%/home/zabbix/zabbix/create/output_png%/home/zabbix/output_png/%g' images.sql
然后将图片拷贝到/tmp/zabbix/create/images目录中
[Shell] 纯文本查看 复制代码 cp -r /home/zabbix-3.0.2/misc/images/* /home/zabbix/output_png/
chown oracle:dba /home/zabbix/output_png
执行三个sql 脚本 注意是zabbix 用户
[SQL] 纯文本查看 复制代码 sqlplus> @schema.sql
sqlplus> @images.sql
sqlplus> @data.sql
调整字段的长度:
[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;
3 配置zabbix服务
3.1 修改zabbix.conf 配置文件
vi /usr/local/zabbix-server/etc/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
3.2 修改php.ini
[Shell] 纯文本查看 复制代码 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 = [url=mailto:0@ambstring.func_overload]0@ambstring.func_overload[/url] = 2@g" /etc/php.ini
sed -i "s@upload_max_filesize = 2M@upload_max_filesize = 32M@g" /etc/php.ini
3.3 添加zabbix服务启动及开机启动
[Shell] 纯文本查看 复制代码 cp /home/zabbix-3.0.2/misc/init.d/fedora/core5/zabbix_server /etc/init.d/
cp /home/zabbix-3.0.2/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
chkconfig --add zabbix_server
chkconfig --add zabbix_agentd
chkconfig --level 345 zabbix_server on
chkconfig --level 345 zabbix_agentd on
3.5 设置运行权限
[Shell] 纯文本查看 复制代码 chmod 700 /etc/init.d/zabbix_*
3.6 修改启动脚本程序目录正确路径
vi /etc/init.d/zabbix_server
修改:
ZABBIX_BIN="/usr/local/sbin/zabbix_server"
为:
ZABBIX_BIN="/home/zabbix/sbin/zabbix_server"
vim/etc/init.d/zabbix_agentd
修改:
ZABBIX_BIN="/usr/local/sbin/zabbix_agentd"
为:
ZABBIX_BIN="/home/zabbix/sbin/zabbix_agentd"
3.7 启动httpd服务
将zabbix 的php文件拷贝到 httpd 的 根路径/var/www/html/下
[Shell] 纯文本查看 复制代码 cp -r /home/zabbix-3.0.2/frontends/php/* /var/www/html/
chmod 777 /var/www/html/conf
启动服务 service httpd start
进入http://IP/ |