zabbix+oracle环境部署
oracle11安装完成后, 实例名: zbx01
oracle创建zbx01用户:
col file_name for a60;
set linesize 160;
select file_name,tablespace_name,bytes from dba_data_files;
create tablespace ZBX01 datafile '/u01/oracle/oradata/zbx01/zbx01.dbf' size 5g autoextend on ;
CREATE USER zbx01 IDENTIFIED BY zbx01 DEFAULT TABLESPACE ZBX01;
GRANT DBA TO zbx01 WITH ADMIN OPTION;
GRANT ALTER SESSION TO ZBX01 ;
授权ZBX01用户可以修改会话
GRANT CREATE SESSION TO ZBX01 ;
创建会话
GRANT CONNECT TO ZBX01 ;
连接数据库
ALTER USER ZBX01 DEFAULT ROLE ALL;
修改数据库用户ZBX01拥有所有默认角色
GRANT SELECT ON DBA_REGISTRY TO ZBX01 ;
GRANT SELECT ON DBA_SEGMENTS TO ZBX01 ;
GRANT SELECT ON DBA_DATA_FILES TO ZBX01 ;
GRANT SELECT ON DBA_TEMP_FILES TO ZBX01 ;
GRANT SELECT ON DBA_FREE_SPACE TO ZBX01 ;
GRANT SELECT ON V_$SYSTEM_EVENT TO ZBX01 ;
创建zabbix用户
useradd zabbix
导入表结构:
下载zabbix-4.2.1源码包
cd /home/zabbix/
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.2.1/zabbix-4.2.1.tar.gz
解压
tar -zxvf zabbix-4.2.1.tar.gz -C /home/zabbix/
cd /home/zabbix/zabbix-4.2.1/database/oracle
有三个文件,data.sql images.sql schema.sql
先要执行schema.sql
因为里面有个oracle不支持的字符长度,所以先要修改字符串长度
sed -i 's/2048/2000/g' schema.sql
第二个脚本是images.sql
里面有个目录/home/zabbix/zabbix-4.2.1/create/output_png
这目录里面应该放图片,oracle对个目录权限,所以我们将这个目录替换。
sed -i 's%/home/zabbix/zabbix/create/output_png%/home/zabbix/output_png/%g' images.sql
然后将图片拷贝到/tmp/zabbix/create/images目录中
mkdir /home/zabbix/output_png/
cp -r /home/zabbix/zabbix-4.2.1/misc/images/* /home/zabbix/output_png/
chown -R oracle:dba /home/zabbix/output_png
chmod 775 /home/zabbix/
执行三个sql 脚本 注意是zbx01用户(proxy环境只需要导入schema.sql文件)
sqlplus zbx01/zbx01
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;
关闭防火墙(iptable, firewalld), selinux
安装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 -y 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 -y php55w-bcmath-5.5.38-1.w7.x86_64 --skip-broken
安装相关组件:
yum update
yum install -y wget libmicro httpd-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
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
有以下部分显示则表示安装成功

配置环境变量:(可以将配置放在root和zabbix用户下)
将以下内容写入/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的/u01/app/oracle/product/11.2.0/db_1/bin/tnsping文件上传到/usr/lib/oracle/11.2/client64/bin/目录下
cp /u01/oracle/product/db11g/bin/tnsping /usr/lib/oracle/11.2/client64/bin/
zabbix源码安装
创建文件
mkdir /etc/zabbix
编译
cd /home/zabbix/zabbix-4.2.1
创建/usr/lib/oracle/11.2/client64/rdbms/public 然后将/usr/include/oracle/11.2/client64/的内容复制到/usr/lib/oracle/11.2/client64/rdbms/public之下
mkdir /usr/lib/oracle/11.2/client64/rdbms/public -p
cp -r /usr/include/oracle/11.2/client64/* /usr/lib/oracle/11.2/client64/rdbms/public/
#OpenIPMI-devel安装一直有问题, 就强制安装即可
yum -y install OpenIPMI libssh2-devel ncurses-devel OpenIPMI-devel libevent-devel unixODBC-devel net-snmp-devel java*
server
./configure --prefix=/etc/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
5、configure: error: Unable to find "javac" executable in path
#yum install java-1.6.0-openjdk-devel
编译结果如下:
Configuration:
Detected OS: linux-gnu
Install path: /home/zabbix/zabbix/
Compilation arch: linux
Compiler: cc
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
SSL certificates: /home/zabbix/zabbix/share/zabbix/ssl/certs
SSL keys: /home/zabbix/zabbix/share/zabbix/ssl/keys
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 -lz -lpthread -levent -lcurl -lm -ldl -lresolv -lpcre
Configuration file: /home/zabbix/zabbix/etc/zabbix_server.conf
External scripts: /home/zabbix/zabbix/share/zabbix/externalscripts
Alert scripts: /home/zabbix/zabbix/share/zabbix/alertscripts
Modules: /home/zabbix/zabbix/lib/modules
Enable proxy: no
Enable agent: yes
Agent details:
TLS: no
Linker flags: -rdynamic
Libraries: -lz -lpthread -lcurl -lm -ldl -lresolv -lpcre
Configuration file: /home/zabbix/zabbix/etc/zabbix_agentd.conf
Modules: /home/zabbix/zabbix/lib/modules
Enable Java gateway: yes
Java gateway details:
Java compiler: javac
Java archiver: jar
LDAP support: no
IPv6 support: yes
***********************************************************
* Now run 'make install' *
* *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************
安装
make && make install
make[2]: Entering directory `/source/zabbix-4.2.1/misc'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/source/zabbix-4.2.1/misc'
make[1]: Leaving directory `/source/zabbix-4.2.1/misc'
make[1]: Entering directory `/source/zabbix-4.2.1'
make[2]: Entering directory `/source/zabbix-4.2.1'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/source/zabbix-4.2.1'
make[1]: Leaving directory `/source/zabbix-4.2.1'
[root@zbx01 zabbix-4.2.1]#
建软连接
ln -s /home/zabbix/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不太会用的使用vim进行手动改)
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@;ambstring.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
sed -i "s@memory_limit = 128M@memory_limit = 128M@g" /etc/php.in
添加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 zabbix_server on
chkconfig zabbix_agentd on
设置运行权限
chmod 700 /etc/init.d/zabbix_*
启动httpd服务
将zabbix 的php文件拷贝到 httpd 的 根路径/var/www/html/下
cp -r /home/zabbix/zabbix-4.2.1/frontends/php/* /var/www/html/zabbix/
chmod 777 /var/www/html/conf
启动服务 service httpd restart
进入http://IP/

登陆用户: Admin/zabbix
数据库自启:
[oracle@zbx01 ~]$ sqlplus / as sysdba
SQL> startup #开启数据库
[oracle@zbx01 bin]$ lsnrctl start
[oracle@zbx01 bin]$ /etc/oratab
zbx01:/u01/app/oracle/product/11.2.0/db_1:Y #默认N改成Y
[oracle@zbx01 bin]$ dbstart ${ORACLE_HOME}
Processing Database instance "zbx01": log file /u01/app/oracle/product/11.2.0/db_1/startup.log
[root@zbx01 ~]# cat /etc/rc.local
su - oracle -lc "sh /home/oracle/start.sh"
[root@zbx01 ~]# cat /home/oracle/start.sh
source ~/.bash_profile
dbstart ${ORACLE_HOME}
lsnrctl start
附加: 修改http和php-fpm进程用户
https://blog.csdn.net/qq_14824885/article/details/84197579
zabbix+oracle 分离做法
zabbix安装端不需要安装oracle, 只需要安装oracle client即可. 在配置web页面时填写dbname应该填写数据库端的实例明/配置文件的dbname一样
zabbix+oracle环境部署的更多相关文章
- Oracle 环境部署 以及数据库创建 ,用户新建和权限分配
1.右键我的电脑--->属性--->高级系统设置 2.环境变量---->新建 总共配置三个变量 (1)变量名 ORACLE_HOME 变量值 G:\app\TH\product\11 ...
- 利用Docker快速部署Oracle环境
工作中需要频繁使用Oracle环境,但是每次搭建起来比较消耗时间,本想通过虚拟机模板的方式来快速安装oracle vm,但是每次改ip等环境也很耗时,因此想到docker中有没有已经做好的images ...
- Linux下rsyslog日志收集服务环境部署记录【转】
rsyslog 可以理解为多线程增强版的syslog. 在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL.PostgreSQL.Oracle等).日志内容筛选.定义日志格式模板等.目 ...
- zabbix监控服务部署
目录 zabbix监控服务部署 1. zabbix介绍 1.1 zabbix的组件 1.2 zabbix的进程 1.3 zabbix常用术语 2. zabbix工作原理 3. zabbix监控架构 4 ...
- Zabbix 监控系统部署
Zabbix 监控系统部署 实验环境 Zabbix server:RHEL8 ip:192.168.121.10 一.关闭防火墙和selinux [root@Zabbix-server ~]# sys ...
- Oracle安装部署,版本升级,应用补丁快速参考
一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...
- Web应用之LAMP源码环境部署
一.LAMP环境的介绍 1.LAMP环境的重要性 思索许久,最终还是决定写一篇详细的LAMP的源码编译安装的实验文档,一来是为了给自己一个交代,把技术进行系统的归纳,将技术以极致的形式呈现出来,做为一 ...
- Linux下smokeping网络监控环境部署记录
smokeping是一款监控网络状态和稳定性的开源软件(它是rrdtool的作者开发的),通过它可以监控到公司IDC的网络状况,如延时,丢包率,是否BGP多线等:smokeping会向目标设备和系统发 ...
- ubuntu12.04+hadoop2.2.0+zookeeper3.4.5+hbase0.96.2+hive0.13.1伪分布式环境部署
目录: 一.hadoop2.2.0.zookeeper3.4.5.hbase0.96.2.hive0.13.1都是什么? 二.这些软件在哪里下载? 三.如何安装 1.安装JDK 2.用parallel ...
- 【Xamarin开发 Android 系列 1】环境部署搭建
原文:[Xamarin开发 Android 系列 1]环境部署搭建 开篇自然先扯一段,近几年移动互联网如果熊猫零食一样,蔓延迅速.楼主身为一个微软忠实的粉丝,无奈,老爹不给力.Silverlight开 ...
随机推荐
- C++指针和地址偏移在HotSpot VM中的应用
在前面我们介绍过new运算符,这个操作实际上上包含了如下3个步骤: 调用operator new的标准库函数.此函数会分配一块内存空间以便函存储相应类型的实例. 调用相应类的构造函数 返回一个指向该对 ...
- CF 下分记录
7.27 edu152 \(+173=2048\) B 没细看数据范围 WA 了一次 D 没判 \(i-1=0\) WA 了一次 E. Max to the Right of Min 考虑增大右端点, ...
- Sunshine on my shoulders
https://music.163.com/#/song?id=1477706 Sunshine on my shoulders makes me happy照在我肩上的阳光让我欢乐Sunshine ...
- cv2 数学基础---矩阵微分
矩阵微分基础知识 定义 重要结论 应用 定义 (1) 向量对标量求导 矩阵对标量求导 我们可以看到上述求导过程实际上就是不同函数对变量求导,然后按照向量或者矩阵的形式排列,注意这里结果的结构应该与函数 ...
- ACAM 学习笔记 | 附 YbtOJ 全部题解
怎么有人现在才学 ACAM 呢. 好像比 SAM 简单挺多啊,也不记得当时是哪里看不懂. AC 自动机() 自动 AC 机(✘) 概述 ACAM(Aho–Corasick Automaton),是用来 ...
- 关于虚拟机的IP地址经常改变问题的解法
主要解法就是配置静态IP地址 首先了解一下IP和子网掩码,网关的含义:IP 是标识计算机特定地址的二进制数,子网掩码用于和IP组合划分子网;网关是将信息传送到网关进行收发 开始配置:首先打开Linux ...
- eNSP小实验——配置路由器与主机
练习一 在eNSP里配置路由器与主机,IP地址与端口 配置PC1 配置PC2,特别注意IP地址与网关 配置路由器一 <Huawei>sys[Huawei]int g0/0/0 [Huawe ...
- QString类常用属性
目录 1. isNull() 2. isEmpty() 3. length() 4. truncate() 5. indexOf()/lastIndexOf() 6. arg() 7. at() 8. ...
- Util应用框架基础(二) - 对象到对象映射(AutoMapper)
本节介绍Util应用框架相似对象之间的转换方法. 文章分为多个小节,如果对设计原理不感兴趣,只需阅读基础用法部分即可. 概述 现代化分层架构,普遍采用了构造块DTO(数据传输对象). DTO是一种参数 ...
- idea的git插件,可以显示每一行代码的git版本记录,很好用
再给大家推荐一款idea的git插件----GitToolBox,可以显示每一行代码的git版本记录,很好用 效果图如下 可以在光标所在行代码的后面显示git的版本记录信息(提交的用户名,提交的时间等 ...