版权声明:本文为博主原创文章,转载请注明出处:https://twocups.cn/index.php/2021/06/14/38/
Zabbix 5.0官方中文文档:https://www.zabbix.com/documentation/5.0/zh/manual
Zabbix 版本选择
截至目前,Zabbix 最新的稳定版本是5.0 LTS,官方支持五年。而其他的非稳定版只支持六个月,所以我们还是选择5.0的版本。
环境要求
Zabbix 要求官方文档:https://www.zabbix.com/documentation/5.0/zh/manual/installation/requirements
官方文档里都是中文,环境要求自己看一下,硬件配置也不能过低。软件方面,数据库、PHP 和相应的插件之后我们会再装。所以只要确认一下 Apache 的版本在1.3.12以上就可以直接开始部署了。
服务端部署
首先,要清楚自己机器的名字和对外ip地址。
# 查询机器名字 hostname # 查询对外ip ifconfig
有的教程里面会要求关闭防火墙,这是担心机器之间可能会不连通。所以只要保证各台机器之间能够连通就行了。当然,在实际的企业环境中也不可能随意关闭防火墙的。不过我还是说一下关闭防火墙的方法。
# 关闭防火墙selinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config # 禁止防火墙开机自启,同时现在就关闭防火墙 systemctl disable --now firewalld # 重启 reboot
接下来获取 Zabbix 官方源。
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
但是,由于国内获取 Zabbix 官方源不方便,可以换成阿里云的源。
# 从阿里云获取zabbix官方源 rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm # 把刚下载的zabbix官方源中的zabbix地址全部换程阿里云的地址 sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo # 清空缓存 yum clean all
之后,安装 zabbix server 和 zabbix agent。
yum install zabbix-server-mysql zabbix-agent -y
接下来安装软件 Software Collections (SCL)。SCL 可以让同一个操作系统上安装多个版本的软件,而不会影响到整个系统的安装包。SCL 的软件都安装在/opt/rh目录下。
举个例子,我为了 Zabbix 要安装5.4版本的 PHP,可我又不想改动我已经安装在系统中的高版本 PHP。这个时候就可以让 Zabbix 去依赖 SCL 中5.4版本的 PHP,而不会影响系统正在使用的高版本 PHP 了。
yum install centos-release-scl -y
之前我们下载的 Zabbix 源中默认是不会下载 Zabbix 前端的,所以需要我们去修改一下。
# 进入zabbix源 vim /etc/yum.repos.d/zabbix.repo # 下面是文件/etc/yum.repos.d/zabbix.repo中的内容 [zabbix-frontend] name=Zabbix Official Repository frontend - $basearch baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$b asearch/frontend enabled=1 # 这里原来是0,我们将其修改为1,表示需要下载zabbix前端 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
然后安装 Zabbix 前端环境
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
到此为止,Zabbix 服务端本身就安装完成了。接下来,我们再安装一下与 Zabbix 连接的后端数据库。
数据库我们直接用系统自带的 MariaDB。有人可能不清楚,我就提一下。MariaDB 是 MySQL 的一个分支。当年 MySQL 被 Oracle 收购,有被闭源的可能,所以社区用分支的方式来规避这个风险,就是 MariaDB。MariaDB 可以看作是 MySQL 的替代品,很多地方还反而比 MySQL 要强,现在是由开源社区在维护。
# 安装MariaDB yum install mariadb-server -y # 设置MariaDB为开机自启,并且现在启动MariaDB systemctl enable --now mariadb
接下来配置 MariaDB,使之与 Zabbix 连通。
# 数据库初始化 mysql_secure_installation
数据库初始化的时候会有很多选项:输入当前root密码(没有所以直接回车),设置root密码,移除匿名用户☑️,不允许root远程登录✖️,移除测试数据库☑️,重载表权限☑️。
接下来,用 root 用户登录 MariaDB。
mysql -uroot -p
并且新建 zabbix 数据库和 zabbix 用户,并将数据库权限赋予用户 zabbix。
create database zabbix character set utf8 collate utf8_bin; create user zabbix@localhost identified by '你想给用户zabbix设置的密码'; grant all privileges on zabbix.* to zabbix@localhost; flush privileges; quit;
将 Zabbix 的数据导入 MariaBD,用户为 zabbix,数据库为 zabbix。
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
修改 Zabbix 配置文件里相应数据库的用户密码。
# 修改配置文件 vim /etc/zabbix/zabbix_server.conf # 以下是配置文件/etc/zabbix/zabbix_server.conf里的内容 DBPassword=这里填写你刚才设置的用户zabbix的密码
修改 Zabbix 配置文件里的时区。
# 修改配置文件 vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf # 以下是配置文件/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf里的内容 php_value[date.timezone] = Asia/Shanghai
注意以下,配置文件里“php_value[date.timezone] = Asia/Shanghai”这行前面是有一个分号和空格的,注释用的。我们要去掉分号和空格,否则时区这行不起作用。
全都配置好后,我们就启动所有相关服务。
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
之后,我们就可以通过“ip/zabbix”访问 Zabbix 的前端页面了。
第一次进入我们会看见引导页面。
第一页是欢迎我们使用 Zabbix 5.0,我们直接下一步即可。
第二页是提醒我们检查 Zabbix 所有组件是否正常的,每个组件后面应该都是OK,代表正常,我们继续下一步。
第三页需要我们输入后端数据库用户 zabbix 的密码,输入后下一步。
第四页是主机和端口,默认localhost和10051,没问题就下一步。
以上页面我们全部填写和确认完毕后,会显示成功安装页面。之后我们输入账号和密码即可登录。
# 登录账号,注意这个A是大写 Admin # 登录密码 zabbix
登录之后,我们就可以看到安装完成之后的 Zabbix 服务端首页了。