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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近部署了一套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代码百度解决

### Zabbix 6.0 连接达梦数据库的配置方法 #### 数据库驱动支持 为了使 Zabbix 能够监控达梦数据库,需要确保系统已安装适用于达梦数据库的 ODBC 驱动程序。通常情况下,可以通过下载并安装官方提供的 ODBC 驱动包完成此操作[^2]。 #### 修改 Zabbix Server 配置文件 编辑 Zabbix 的服务器配置文件 `/usr/local/zabbix/etc/zabbix_server.conf` 并调整以下参数以启用 ODBC 支持: ```bash StartODBCPollers=5 ``` 上述设置表示启动五个线程用于轮询通过 ODBC 接口获取的数据。 #### 测试连接 确认能够正常访问达梦数据库后,在命令行工具中运行 `isql` 命令验证连接状态。如果一切正常,则会显示如下提示信息: ``` ±--------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | ±--------------------------------------+ SQL> ``` 这表明当前环境已经具备与目标数据库交互的能力[^3]。 #### 安装 Agent 组件至远程主机 对于被管理节点上的 Linux 系统而言,需单独部署 zabbix-agent 来收集本地资源状况并向中心报告;而在 Windows 下则可能采用其他方式实现相同功能。具体步骤可参照官方文档说明执行相应操作。 #### Oracle 数据源兼容性注意事项 尽管本案例专注于达梦数据库集成场景,但对于那些计划切换到甲骨文关系型存储引擎的企业来说,值得注意的是:自 v6 开始,Zabbix 正式停止对其早期版本的支持——即只接受来自 19c 至最新一代之间的实例作为后台支撑平台之一[^4]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值