有时候为了安全,公司的内网环境是不连接外网的,然后又需要针对性的重新编译一个特殊功能的zabbix监控系统,但是相关的依赖的安装是个比较麻烦的问题,要么制作一个本地yum源进行依赖安装,要么做一个网络映射,让内网机器可以访问外网。如果既不想搭建yum源,又不想做网络映射。那该怎么办?
为解决这个问题。现在使用centos系统来下载编译所需的相关依赖包,然后将依赖包和zabbix源码包一起上传到内网机器,就可以开始安装了。
确定好内网机器的操作系统版本
系统要能执行yum命令
首先确定好内网机器的操作系统版本。这里我的环境机器系统版本是centos7.9
然后在外网找一台操作系统一致的机器(一定要确保操作系统一致)
安装下载命令
yum -y install yum-utils
下载全量依赖包
文章编译zabbix所需的依赖有:若有其他依赖,可继续添加
gcc gcc-c++ net-snmp-devel libevent-devel OpenIPMI OpenIPMI-devel openssl-libs
mariadb-devel device-mapper rpm libaio*
执行下载命令:
repotrack gcc gcc-c++ net-snmp-devel libevent-devel OpenIPMI OpenIPMI-devel openssl-libs mariadb-devel device-mapper rpm libaio*
等待下载完成
然后打包
https://www.zabbix.com/download_sources
到官网下载需要的版本
然后将打包的rpm.zip包和源码包上传到离线服务器
解压依赖包
yum -y localinstall ./rpm/*.rpm
若是出现安安装失败,或者缺少依赖,可忽略依赖。命令:
yum -y localinstall ./rpm/*.rpm --skip-broken
亦或是在下载依赖时补全缺少的依赖。
安装完成
解压zabbix源码包,并开始编译检查
./configure --prefix=/data/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --enable-ipv6
结果无问题,开始编译安装
make -j2 && make install
复制启动脚本:
cp –ra ./misc/init.d/fedora/core/* /etc/init.d/
修改脚本路径:
vim /etc/init.d/zabbix_server
vim /etc/init.d/zabbix_agentd
将里面的:
BASEDIR=/usr/local
修改为:
BASEDIR=/data/zabbix
完成后便可使用系统命令来启动或停止zabbix
service zabbix_server start/stop/status/restart
service zabbix_agentd start/stop/status/restrat
或者
systemctl start/stop/status/restart zabbix_server
systemctl start/stop/status/restart zabbix_agentd
错误信息