最近部署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
十一、提示没有超级权限。
- systemctl stop mysqld
- vim /etc/my.cnf.d/mysql_server.cnf
- 添加log_bin_trust_function_creators = 1
- systemctl start mysqld
本站所有文章,如无特殊说明或标注,均为本站原创发布。
任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。