Zabbix 5.2由浅入深之通过本地yum仓库安装,


很多企业在内部分了互联网区域和非互联网区域,导致安装Zabbix比较麻烦,所以该篇文章教你如何搭建zabbix的私有库。

正文

环境

  • 系统版本:CentOS 8.3
  • 目标库Zabbix版本:5.2
  • 私有库设备需要能访问外网

前提准备

  1. dnf -y install httpd yum-utils createrepo 

创建相yum库的文件夹

  1. mkdir -p /var/www/html/zabbix/ 

安装Zabbix 5.2官方源

  1. rpm -Uvh https://repo.zabbix.com/zabbix/5.2/rhel/8/x86_64/zabbix-release-5.2-1.el8.noarch.rpm 

解析各组件依赖并传递到仓库目录

  1. yumdownloader zabbix-agent --resolve --destdir=/var/www/html/zabbix/8/ 
  2. yumdownloader zabbix-server-mysql --resolve --destdir=/var/www/html/zabbix/8/ 
  3. yumdownloader mariadb-server  --resolve --destdir=/var/www/html/zabbix/8/ 
  4. yumdownloader zabbix-web-mysql --resolve --destdir=/var/www/html/zabbix/8/ 
  5. yumdownloader zabbix-apache-conf --resolve --destdir=/var/www/html/zabbix/8/ 

剩下都是如此

制作镜像仓库

  1. createrepo /var/www/html/zabbix/8/ 

 

启动web服务

  1. systemctl start httpd && systemctl enable httpd 

 

测试

1.备份原有yum源文件

  1. cd /etc/yum.repo.d/ 
  2. mkdir bak 
  3. mv Cent* bak/ 

2.创建yum源文件

  1. vi kasar.repo 
  2. [kasar] 
  3. name=kasar 
  4. baseurl=kasar 
  5. enabled=1 
  6. gpgcheck=0 

 

3.安装mariadb

  1. dnf -y install mariadb-server 

在安装mariadb-server的时候会遇到如下情况,缺少perl环境,此时需要把阿里的base源给同步过来

  1. mkdir -p /var/www/html/base 
  2. wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo 
  3. reposync --rpeoid base -p /var/www/html/base 
  4. creatrepo /var/www/html/base 
  5. vi /etc/yum.repo.d/base.repo 
  6. [base] 
  7. name=base 
  8. baseurl=http://192.168.31.14/base 
  9. enabled=1 
  10. gpgcheck=0 

 

出现perl环境问题

弄完之后会遇到另外一个问题,此时需要解决元数据不可用问题

安装modular metadata生成工具

  1. dnf install python3-devel python3 gcc  git -y 
  2. dnf install python3-createrepo_c -y 
  3. dnf install python3-libdnf -y 
  4. dnf install python3-libmodulemd -y 
  5. git clone https://github.com/rpm-software-management/modulemd-tools.git 
  6. cd modulemd-tools/repo2module/ 
  7. python3 setup.py install --user 

创建repodata和modular metadata

  1. cd /var/www/html/zabbix/8/ 
  2. createrepo_c . 
  3. /root/.local/bin/repo2module  -s stable  . modules.yaml 
  4. modifyrepo_c --mdtype=modules modules.yaml repodata/ 

在测试机器yum clean all,再进行安装,此时已经正常。

安装Zabbix其他组件

  1. dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent -y 

 

此时会遇到下面的问题,这种再次同步appstream的库(约7G大小)

  1. mkdir /var/www/html/app 
  2. reposync --repoid AppStream -p /var/www/html/app/ 
  3. createrepo /var/www/html/app/ 

创建新repo文件即可

安装正常

写在最后

其实这个过程还是比较复杂的,因为涉及到的源比较多,建议还是直接将zabbix、阿里官方的源全部同步下来最好,如果遇到元数据问题,就执行modular metadata生成,其实不仅仅是Zabbix的安全,其他的程序也可以这么做,这么做的好处就是避免一些机器无法访问外网的情况,如果都能正常访问,且访问非国外的,那么此内容的意义就没那么大了。

相关内容