最近部署Zabbix发现网上很多的资料都是过期的,不适合现在的环境。后来经过不断的查找资料,按照本文的步骤,搭建成功。本文用详细的图文资料将所有步骤记录下来,方便后期查阅。

一、 CentOS8.5操作系统初始环境准备

Centos8于2021年年底停止了服务,在使用yum源安装时候会出现下面错误

错误:Failed to download metadata for repo ‘AppStream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist”

解决办法

  • 1、替换成vault源
cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
  • 2、更新yum源为阿里云镜像源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum makecache

二、安装MySQL8.0

dnf install mysql-server

vim /etc/my.cnf.d/charset.cnf
cat /etc/my.cnf.d/charset.cnf
# set default charaset
# for the case of 4 bytes UTF-8, specify [utf8mb4]
[mysqld]
character-set-server = utf8mb4

systemctl enable --now mysqld
systemctl restart mysqld
mysql_secure_installation

设置MySQL root用户可以远程登录

firewall-cmd --add-service=mysql --permanent
firewall-cmd --reload
mysql -uroot -p -h 127.0.0.1
use mysql;
update user set host= '%' where user = 'root';
flush privileges;

三、安装Zabbix6.0

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

四、zabbix数据库初始化

mysql -uroot -p
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@'%' identified by 'Zabbix@2022';
grant all privileges on zabbix.* to zabbix@'%';
zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

vim /etc/zabbix/zabbix_server.conf 


#配置文件中填入数据库密码
DBPassword= Zabbix@2022

cat /etc/zabbix/zabbix_server.conf | grep DBPassword

五、启动Zabbix-Server及相关组件

  • 1、编辑配置文件 /etc/nginx/conf.d/zabbix.conf, 取消如下两行的注释
vi /etc/nginx/conf.d/zabbix.conf 
         listen          80;
#        server_name     zabbix.walkingcloud.cn;
  • 2、/etc/nginx/nginx.conf 中下面一段注释掉后重启nginx服务
server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
        location / {
        }
        error_page 404 /404.html;
            location = /40x.html {
        }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

六、查看是否运行。

浏览器输入地址:8080。提示php版本不够。

七、更新php版本到7.4

dnf module list php

dnf module reset php

dnf module enable php:7.4

dnf module -y install php:7.4/common

php -v

八、打开Zabbix主界面进行配置。

九、出现未找到表“dbversion”

重新执行数据库复制导入命令

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

十、出现无法链接数据库,不能选择配置错误。

查看日志为无法使用zabbix数据库,因为user表是空的。

解决办法:

删除该数据库重新导入。

mysql -uroot -p

drop database zabbix;

create database zabbix character set utf8 collate utf8_bin;

use zabbix;

grant all privileges on zabbix.* to zabbix@’localhost’;

create user zabbix@’localhost’ identified by ‘Zabbix@2022’;

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

十一、提示没有超级权限。

  1. systemctl stop mysqld
  2. vim  /etc/my.cnf.d/mysql_server.cnf
  3. 添加log_bin_trust_function_creators = 1
  4. systemctl start mysqld

声明:
本站所有文章,如无特殊说明或标注,均为本站原创发布。
任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。