Centos6 源码编译安装zabbix3.2,对接oralce11g数据库
Centos6 源码编译安装zabbix3.2,对接oralce11g数据库
由于mysql用时间长了,性能会下降,所以需要对接oracle数据库。
具体环境如下:
30台服务器主机:RHEL6+JDK1.7+java程序。
4台服务器主机: RHEL6+JDK1.7+weblogic10.3
2台主机安装数据库: RHEL6+oracle 11gr2.0.4+ISCSI存储。
1台监控主机环境:RHEL6+Zabbix3.2
之前安装好了oracle11gr2.0.4,不过使用的是GBK编码,但是zabbix是要求UTF-8的编码,这里我也不修改数据编码了。
生产环境中,oracle还是要用UTF8编码,不然会有乱码的。
添加好单独的表空间,再配置zabbix所需oracle账号信息:
-- Create the user
create user ZABBIX IDENTIFIED BY zabbix ACCOUNT UNLOCK;
default tablespace ZABBIX
temporary tablespace TEMP
profile DEFAULT
password expire;
-- Grant/Revoke role privileges
grant connect to ZABBIX;
grant resource to ZABBIX;
GRANT CREATE ANY DIRECTORY TO ZABBIX;
GRANT DROP ANY DIRECTORY TO ZABBIX;
-- Grant/Revoke system privileges
grant drop any directory to ZABBIX;
grant unlimited tablespace to ZABBIX;
修改需要导入oracle的sql内容:
修改images.sql 文件中的/home/zabbix/zabbix/create/output_png为/data/app/zabbix
因为我在Oracle的主机上面新建了个目录/data/app/zabbix,并分配oracle账号权限。
sed -i 's/2048/2000/g' schema.sql,将此sql中的2048长度更换成2000,因为oracle的nvarchar2长度不能超过2000.
最后登陆oracle,导入相关数据sql.
先要执行schema.sql
注意先把图片复制到对应目录:
cp -r zabbix-3.0.1/misc/images /data/app/zabbix
再执行二个脚本是images.sql
执行三个sql 脚本 data.sql
最后注意提交修改。
这里为了安装zabbix环境方便,RHEL就直接使用Centos的源,具体方法就不说了。
首先安装apache+php环境:
[root@zabbix_server ~]#:wget https://centos6.iuscommunity.org/ius-release.rpm
[root@zabbix_server ~]#:rpm -Uvh ius-release*.rpm
[root@zabbix_server ~]#:yum -y update
[root@zabbix_server ~]#:yum -y install php56u php56u-opcache php56u-xml php56u-mcrypt php56u-gd php56u-devel php56u-mysql php56u-intl php56u-mbstring php56u-bcmath php56u-ctype php56u-libxml php56u-gettext php56u-sockets php56u-session php56u-xmlreader php56u-xmlwriter OpenIPMI libssh2 mod_ssl openssl php56u-ldap OpenIPMI libssh2 fping libcurl libxml2
增加php支持oci8功能:
[root@zabbix_server ~]#:rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
[root@zabbix_server ~]#:rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
这里采用自动安装oci功能:
[root@zabbix_server ~]#:pecl install oci8-2.0.12
这样简单省事,由于oracle是11gr2.0.4,所以不能安装最新版oci8程序。
手动编译最新版的会报错。
编写 php.ini添加oci8文件信息:
extension=oci8.so
date.timezone = Asia/Shanghai
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 32M
添加以上信息到php.ini,zabbix环境要求,如果还有别的要求,根据情况修改。
最后重启httpd服务。
添加测试oracle.php文件,内容如下:
<?php
$conn = ocilogon('zabbix','zabbix','192.168.10.81:1521/hextrack');
if (!$conn)
{
$Error = oci_error();
print htmlentities($Error['message']);
exit;
}
else
{
echo "Connected Oracle Successd!"."<br>";
ocilogoff($conn);
}
?>
打开测试,如果正常,提示连接成功,说明可以连接远端的oracle数据库。
安装zabbix3.2编译所需要环境:
[root@zabbix_server ~]#:yum install net-snmp net-snmp-develcurl-devel gcc gcc-c++ autoconf
[root@zabbix_server ~]#:yum install curl curl-devel
[root@zabbix_server ~]#:yum install net-snmp net-snmp-devel
[root@zabbix_server ~]#:yum install openssl-devel zlib-devel
[root@zabbix_server ~]#:yum install openldap-devel openldap
[root@zabbix_server ~]#:yum install OpenIPMI OpenIPMI-devel
[root@zabbix_server ~]#:yum install iksemel*
[root@zabbix_server ~]#:yum install -y libssh2-devel
添加账号信息:
[root@zabbix_server ~]#:groupadd zabbix
[root@zabbix_server ~]#:useradd -m -g zabbix zabbix -s /sbin/nologin
编译软件zabbix-3.2.4:
[root@zabbix_server ~]#:cd zabbix-3.2.4
[root@zabbix_server ~]#:./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --enable-java --enable-ipv6 --with-oracle-lib=/usr/lib/oracle/11.2/client64/lib --with-oracle-include=/usr/include/oracle/11.2/client64 --with-openipmi --with-ssh2 --with-jabber --with-net-snmp --with-libcurl
[root@zabbix_server ~]#:make
[root@zabbix_server ~]#:make install
如果有错误,根据提示配置,具体不再说了。
下面添加启动服务:
cp misc/init.d/fedora/core5/* /etc/init.d/
chkconfig zabbix_server on
chkconfig zabbix_agentd on
注意需要修改zabbix_server与zabbix_agentd的执行命令位置,具体不再说了。
最后修改zabbix_server.conf与zabbix_agentd.conf配置文件:
vi zabbix_server.conf
主要是对接oracle的信息
ListenPort=10051
DBHost=192.168.10.81
DBName=hextrack
DBUser=zabbix
DBPassword=zabbix
DBPort=1521
ListenIP=0.0.0.0
完成后,保存。
将zabbix 的php文件拷贝到 httpd 的 根路径
/var/www/html/zabbix下
mv /opt/zabbix-3.2.4/frontends/php/ /var/www/html/zabbix
启动服务 service httpd restart
进入http://iP/zabbix, 账号默认:Admin ,密码:zabbix
中文支持,具体就不再说了,不要使用别的字体,会有问题。
楷体,放到/var/www/html/zabbix/fonts,
修改zabbix的web端/include/defines.inc.php
至于添加客户端与别的配置,这里不再说了,比较简单。