写点什么

CentOS7 离线安装 Zabbix5.0

作者:A-刘晨阳
  • 2023-04-19
    北京
  • 本文字数:3111 字

    阅读完需:约 10 分钟

  各位运维的朋友们都有可能遇到过在公司内网环境下无法访问外网情况,无法访问外网 yum 源部署 ZABBIX 对于 rpm 包依赖问题比较头疼。本文将会进行离线部署实战。同时大家也可以写成一份 shell 脚本直接离线安装一键部署就可以了。


  离线安装的话就需要 rpm 包和依赖包,那么这时候我们首先就要先在有外网的环境下载下来,完了之后,可以将 rpm 打包起来,再写个执行脚本,就可以一键部署了;测试的话就可以找一个内网环境来测试了。

在有外网的环境中操作并下载离线安装包

1、获取 zabbix 源

#没有wget命令的可以先下载一个wget命令yum -y install wget
#接着下载zabbix-release-5.0-1.el7.noarch.rpm包wget https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
复制代码



显示 200ok 即下载成功,然后我们安装;


rpm -ivh zabbix-release-5.0-1.el7.noarch.rpm
复制代码



#看一下/etc/yum.repos.d目录下多了一个zabbix.repols /etc/yum.repos.d
复制代码



这就相当于下载了一个 zabbix 的源;

2、修改 zabbix.repo 文件

#进入zabbix.repo文件中vim /etc/yum.repos.d/zabbix.repo
复制代码


将 zabbix-frontend 下面的 enabled = 0 更改为 enabled = 1


3、修改 yum 源为阿里源

[root@zabbix-5 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@zabbix-5 ~]# yum makecache fast
复制代码


4、下载安装 zabbix5.0 所需的 rpm 包

使用 yum --downloadonly 进行下载 rpm 包和相关依赖包--downloaddir 参数可进行设置下载保存路径

下载 mariadb(mysql)数据库

yum install mariadb-server.x86_64 --downloadonly --downloaddir=/tmp/offline_rpm
复制代码

下载 zabbix 主服务

yum install zabbix-server-mysql zabbix-agent --downloadonly --downloaddir=/tmp/offline_rpm
复制代码

下载 Red Hat Software Collections

yum install centos-release-scl --downloadonly --downloaddir=/tmp/offline_rpm
复制代码

安装 Red Hat Software Collections

yum -y install centos-release-scl
复制代码

下载 Zabbix web 服务

yum install zabbix-web-mysql-scl zabbix-apache-conf-scl --downloadonly --downloaddir=/tmp/offline_rpm
复制代码

下载 zabbix_get 服务

yum install zabbix-get --downloadonly --downloaddir=/tmp/offline_rpm
复制代码

5、创建本地 yum 仓库

使用 createrepo 来创建 repository 仓库,如果系统里没有该命令的话需要先进行 createrepo 的安装 yum -y install createrepo


#安装createrepoyum -y install createrepo
#使用createrepo来创建repository仓库createrepo /tmp/offline_rpm
复制代码



完了会生成一个 repodata 子目录



将 /tmp/offline_rpm/下面全部可以打个 tar 包,后续直接用脚本安装即可;

在内网中离线安装(使用脚本一键安装)

大家可以边做边写成脚本

1、准备 yum 仓库

  将 offline_rpm.tar 安装包下载下来,然后传到内网服务器中,解压,并且放到/tmp 目录下。


  /将 etc/yum.repos.d 下面所有 repo 文件进行转移至 bak 文件夹下


#移动offline_rpm.tar到/tmp目录下mv offline_rpm.tar /tmp/
#切换到/tmp目录下cd /tmp
#解压offline_rpm.tartar xf offline_rpm.tar
复制代码


就可以看到这个目录



#将/etc/yum.repos.d 下面所有repo文件进行转移至bak文件夹下mv /etc/yum.repos.d/*.repo bak/
复制代码

1.1、新建一个 repo 源文件

#在/etc/yum.repos.d/新建一个repo源文件[root@localhost tmp]# vim /etc/yum.repos.d/new.repo
[New]name=Newbaseurl=file:///tmp/offline_rpmgpgcheck=0enabled=1
:wq保存退出

#清除元数据缓存yum clean all#加载元数据缓存yum makecache
复制代码

2、安装 Zabbix server 和 agent

yum -y install zabbix-server-mysql zabbix-agent
复制代码

3、安装 mysql 数据库

yum -y install mariadb-server.x86_64 
复制代码

4、安装 RHEL Software collections(SCLs)

Software collections 是一个 Linux 软件多版本共存的解决方案。


yum -y install centos-release-scl
复制代码

5、安装前端组件

yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl
复制代码

6、安装 zabbix-get,调试组件

yum -y install zabbix-get
复制代码

7、配置数据库

7.1、启动 mariadb 并设置开机自启

#启动mariadbsystemctl start mariadb.service
#设置开机自启systemctl enable mariadb.service
复制代码

7.2、mysql 安全配置向导(可忽略)

--为root用户设置密码--删除匿名账号--取消root用户远程登录--删除test库和对test库的访问权限--刷新授权表使修改生效
mysql_secure_installation
复制代码

7.3、设置 mysql 的登录密码

mysqladmin -u root password "123456"
复制代码

7.4、设置 mysql 用户相关的操作

#登录mysqlmysql -uroot -p123456
#修改数据库字符集 MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
#创建数据库MariaDB [(none)]> create user zabbix@localhost identified by '123456';
#用户授权MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
#退出数据库MariaDB [(none)]> quit;
复制代码


7.5、导入初始架构和数据

#查看sql文件路径rpm -ql zabbix-server-mysql
#切换到/usr/share/doc/zabbix-server-mysql-5.0.25/目录cd /usr/share/doc/zabbix-server-mysql-5.0.25/
#解压create.sql.gzgzip -d create.sql.gz
#导入数据mysql -uzabbix -p123456 zabbix <create.sql
复制代码


完了之后可以自己进入数据库查验一下:


#登录、进入mysqlmysql -uroot -p123456
#查看所有数据库MariaDB [(none)]> show databases;
#查看数据库表MariaDB [(none)]> use zabbix;MariaDB [zabbix]> show tables;#就会看到很多表,这就说明导入成功了;
复制代码


就会看到一个 zabbix 目录


8、修改 zabbix-server 和 php 配置文件

8.1、编辑 zabbix_server.conf

#进入zabbix_server.conf配置文件中vim /etc/zabbix/zabbix_server.conf
#找到对应项有注释则取消;没有的则添加;DBHost= localhostDBPassword = 123456
复制代码

8.2、编辑 php 配置文件

#进入php的配置文件vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
#删除第25行,也就是最后一行;dd就可以删除了
#更改时区为上海时区php_value[date.timezone] = Asia/Shanghai
复制代码


保存退出,启动服务就可以;

9、启动所有服务并设置开机自启

#启动zabbix-server zabbix-agent httpd rh-php72-php-fpmsystemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm#设置开机自启systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
复制代码


10、如果存在问题请检查日志

vim /var/log/zabbix_server.log
复制代码


常见问题:


问题 1:cannot start preprocessing service: Cannot bind socket to“/var/run/zabbix/zabbix_server_preprocessing.sock”: [13] Permission denied. 解决: 关闭系统防火墙:

systemctl stop firewalld.service #停止 firewallsystemctl disable firewalld.service #禁止 firewall 开机启动重启 zabbix 服务: systemctl start zabbix-server zabbix-agent httpd

问题 2:cannot start alert manager service: Cannot bind socket to“/var/run/zabbix/zabbix_server_alerter.sock”: [13] Permission denied.解决:关闭 selinux: 修改 etc/selinux/config 设置 SELINUX=disabled 重启系统 setenforce 0(如果不想重启服务器可以运行此命令)。#使配置升效。 重启 zabbix 服务: systemctl startzabbix-server zabbix-agent httpd

页面访问

ip/zabbix



一路 next step,到这个要输入密码,密码是 123456



下一步,需要你给这个监控起一个名字;



一直下一步,直到登录(默认的账号是:Admin 密码是:zabbix)



登录进入页面就可以了;


重要:

需要脚本安装一键部署的:zabbix5.0离线脚本一键安装(包含服务端、客户端、脚本和使用说明)


发布于: 刚刚阅读数: 3
用户头像

A-刘晨阳

关注

还未添加个人签名 2022-06-16 加入

本人公众号《小刘Linux》,优质博主,欢迎大家的关注

评论

发布
暂无评论
CentOS7 离线安装 Zabbix5.0_Linux_A-刘晨阳_InfoQ写作社区