zabbix6.0基于oracle数据库进行编译安装

本文介绍如何在内网环境下部署Zabbix,监控服务器并通过Oracle数据库发送短信,涉及系统选择、数据库配置、Zabbix安装与配置步骤。
摘要由CSDN通过智能技术生成

最近部署了一套zabbix用来监控服务器,然后因为服务器都在内网,只有一个oracle数据库可以通过触发器来发短信,跟我们这边数据库运维聊了下除非zabbix用oracle否则没办法,为了能发短信就花了几天时间研究了下,因为网上几乎没有教程,官方文档说的也不是很清楚,想想可能、大概、也许会有人能用上,还是记录一下发出来。

首先是系统,建议用rocky linux8.9,因为只在这个系统上验证过,redhat、centos等同类系统应该都可以,当然ubuntu之类的系统应该也行,不过编译和安装用的软件包就需要自己研究下了。

然后是oracle,zabbix6.0版本要求19c-21c,怎么装就不写了,放个教程链接,按照教程来就行。

RockyLinux8.x图形化安装Oracle19c - 吴昊博客 (whsir.com)icon-default.png?t=N7T8https://blog.whsir.com/post-7447.html

安装好数据库后切换oracle用户

su – oracle
sqlplus / as sysdba

登录后开始创建表空间和oracle的zabbix用户,一步步来

create tablespace zabbix datafile '/u01/app/oracle/oradata/ORCL/zabbix01.dbf' size 500M; //500M为表空间大小,根据硬盘大小自行修改
create user zabbix identified by password default tablespace zabbix; //password是密码,记得自己修改
grant connect,resource,unlimited tablespace to zabbix;
grant create any directory to zabbix;
grant drop any directory to zabbix;

完成后切换回root用户
下载zabbix源码包
cd /media
wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.26.tar.gz

解压
tar -zxvf zabbix-6.0.26.tar.gz
cd zabbix-6.0.26/database/oracle/
sed -i 's/2048/2000/g' schema.sql #这一步必须执行,否则后面运行时会报错

再次切换oracle用户
su – oracle
cd /media/zabbix-6.0.26/database/oracle/

使用zabbix用户登录oracle
sqlplus zabbix/password
sqlplus> @schema.sql
sqlplus> @images.sql
sqlplus> @data.sql //中间有一些报错,但似乎不影响安装完成后的使用,还待观察
sqlplus>commit;//最后一定要执行此命令,不要问我为什么,这一步官方文档都没说,折磨了我两晚上

切换回root用户开始安装编译用的依赖
dnf install epel-release -y
dnf --enablerepo=powertools install OpenIPMI-devel
dnf install -y libxml2-devel libxml2 net-snmp-devel libevent-devel curl-devel pcre* libssh2 libssh2-devel openldap openldap-devel go java-devel php-devel
rpm -i https://download.oracle.com/otn_software/linux/instantclient/1921000/oracle-instantclient19.21-devel-19.21.0.0.0-1.x86_64.rpm
rpm -i https://download.oracle.com/otn_software/linux/instantclient/1921000/oracle-instantclient19.21-basiclite-19.21.0.0.0-1.x86_64.rpm

先编译安装zabbix
cd /media/zabbix-6.0.26/
./configure --sysconfdir=/etc/zabbix --enable-server --enable-webservice --enable-java  --with-oracle=/u01/app/oracle/product/19c/db_1 --with-net-snmp --with-libxml2 --with-ssh2 --with-openipmi --with-zlib --with-libpthread --with-libevent --with-openssl --with-ldap --with-libcurl --with-libpcre
make install
等待结束即可,若有报错自行百度缺失的依赖

安装nginx和php
dnf install nginx php-fpm

给php添加oracle连接支持
cd /media
wget http://pecl.php.net/get/oci8-2.2.0.tgz
tar -zxvf oci8-2.2.0.tgz
cd oci8-2.2.0/
./configure --with-oci8=shared,instantclient,/usr/lib/oracle/19.21/client64/lib
phpize
make install
vim /etc/php.ini
末尾添加:
extension="oci8.so"

安装zabbix前端、配置文件及客户端
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
dnf clean all
dnf install -y zabbix-nginx-conf zabbix-agent2

修改nginx配置文件
vim /etc/nginx/conf/zabbix.conf
listen 80;
server_name 192.168.1.52;

修改zabbix-server配置文件
vim /etc/zabbix/zabbix_server.conf

找到以下几项取消注释并修改
DBHost=192.168.1.52
DBPort=1521
DBUser=zabbix
DBName=ORCL
DBPassword=password

保存后开启zabbix-server、nginx、php-fpm、zabbix-agent2服务
zabbix_server
systemctl start nginx php-fpm zabbix-agent2
systemctl enable nginx php-fpm zabbix-agent2

查看日志是否有报错
tail -f /tmp/zabbix_server.log
若有数据库连接失败的问题通过ora代码百度解决

若习惯使用systemctl命令进行管理可以编辑配置文件放到/usr/lib/systemd/system/目录下
配置文件参考
cat /usr/lib/systemd/system/zabbix_server.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/etc/zabbix/zabbix_server.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-server
Restart=on-failure
PIDFile=/tmp/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/local/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0

[Install]
WantedBy=multi-user.target

先杀死zabbix进程再使用systemctl管理
pkill zabbix_server
systemctl daemon-reload
systemctl start zabbix_server&& systemctl enable zabbix_server

浏览器输入ip登录网页

连接数据库这步按照自己的IP用户名密码进行填写,若有连接数据库失败问题,同样同过ora代码百度解决

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值