Zabbix 5.0 完整部署文档(龙蜥810 + MySQL)
环境准备:
server 10.0.0.112
client 10.0.0.113
| 环境 | 版本号 |
|---|---|
| zabbix | 5.0.47 |
| mysql | 5.7.44 |
| php | 7.2.24 |
| httpd(apache) | 2.4.37 |
| chrony | 4.5 |
配置时间同步/时区
# 安装 chrony
yum -y install chrony
# 启动并启用服务
systemctl start chronyd
systemctl enable chronyd
# 配置时间服务器(编辑配置文件)
vi /etc/chrony.conf
# 在配置文件中添加或修改服务器,例如:
# server ntp.aliyun.com iburst
# server ntp1.aliyun.com iburst
# 重启服务
systemctl restart chronyd
# 手动同步时间
chronyc -a makestep
# 查看时间同步状态
chronyc sources -v
chronyc tracking
#时区同步
#设定时区:
timedatectl set-timezone "Asia/Shanghai"
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
第一部分:服务端部署 (10.0.0.112)
zabbix 5.0版本基本要求
1、zabbix 5.0后 版本后 对php版本至少7.0
2、2G2核
3、zabbix-server服务端安装
安装 MySQL Server(本文5.7.4)
CentOS8安装mysql5.7详细可用教程-CSDN博客
1.获取安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
2.开始安装
yum localinstall mysql57-community-release-el7-11.noarch.rpm
检查mysql源是否安装成功:如果没成功重新上一步
yum repolist enabled | grep "mysql.*.community.*"
再依次执行下面两条语句:
yum module disable mysql
yum -y install mysql-community-server
这里显示GPG-check有问题的可以执行下下面这个语句:(没问题的可以不执行)
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum clean packages
#或者临时禁用gpg检查
yum -y install mysql-community-server --nogpgcheck
4.启动MySQL
systemctl start mysqld.service
5.查看状态
systemctl status mysqld.service
# 如果出现如下报错,请换成 service mysqld status 这条命令
Unit mysql.service could not be found.
6.设置开机启动
systemctl enable mysqld
systemctl daemon-reload
7.查看开机启动状态
systemctl list-unit-files | grep mysqld
8.获取初始密码
grep 'temporary password' /var/log/mysqld.log
9.登录mysql修改密码,并开启远程访问
mysql -u root -p
设置新密码与远程访问:(默认密码需要强密码,大小写+数字+字符)
# 设置新密码(需要大写、小写、数字、符号)
set password for 'root'@'localhost'='你的新密码';
# 设置远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的新密码' WITH GRANT OPTION;
# 刷新使配置生效
flush privileges;
到此,大功告成,记得去把 3306 端口的防火墙放开!
#测试环境关闭防火墙
systemctl disable --now firewalld
以上配置后如果出现无法登录mysql的问题可以执行下面步骤重新安装
# 卸载现有MySQL
sudo yum remove mysql mysql-server
# 清理残留文件
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/my.cnf
# 重新安装
sudo yum install mysql-server
sudo systemctl start mysqld
yum -y install mysql-community-server --nogpgcheck
1. 安装zabbix
#获取zabbix官方源
yum install -y https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
#修改配置源文件
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
#yum源初始化
yum clean all && yum makecache
#安装zabbix-agent2或zabbix-agent
yum install zabbix-agent2 -y
#启动zabbix-agent2
systemctl enable --now zabbix-agent2.service
#检查启动状态
ss -lntup | grep zabbix
#配置文件修改
vim /etc/zabbix/zabbix_agent2.conf
#查看文件内容
egrep -v '^$|#' /etc/zabbix/zabbix_agent2.conf
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=127.0.0.1,10.0.0.112 # zabbix-server服务端IP
ServerActive=127.0.0.1,10.0.0.112
Hostname=10.0.0.112 # zabbix server本机地址
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
#重新启动(生效配置文件)
systemctl restart zabbix-agent2.service
#检查启动状态
ss -lntup | grep 10050
2. 创建Zabbix数据库
# 登录MySQL
mysql -u root -p
# 创建Zabbix数据库和用户
CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbixPASSWORD123.';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
exit
3. 查找并导入Zabbix SQL脚本
# 查找SQL脚本位置
find / -name "*.sql.gz" | grep zabbix
# 如果找到,导入数据库(时间可能会慢)
# 例如,如果路径是 /usr/share/doc/zabbix-server-mysql/create.sql.gz
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
4. 如果找不到SQL脚本,手动处理
# 检查已安装的Zabbix相关包
rpm -qa | grep zabbix
# 查看zabbix-server-mysql包安装的文件
rpm -ql zabbix-server-mysql-5.0.47
# 或者从您之前下载好的位置导入
# 假设您下载的Zabbix 5.0源码包在某个位置
cd /path/to/your/zabbix-5.0.47/database/mysql
# 按顺序导入SQL文件
mysql -uzabbix -p zabbix < schema.sql
mysql -uzabbix -p zabbix < images.sql
mysql -uzabbix -p zabbix < data.sql
5. 配置Zabbix服务端
# 编辑配置文件
vim /etc/zabbix/zabbix_server.conf
确保以下配置正确:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbixPASSWORD123.
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
6. 安装Web前端组件
# 安装Zabbix Web前端
yum install -y zabbix-web-mysql zabbix-apache-conf
# 安装Apache和PHP
yum install -y httpd php php-mysqlnd php-gd php-bcmath php-mbstring php-xml
7. 配置PHP
# 编辑PHP配置文件
vim /etc/php.ini
修改以下配置:
date.timezone = Asia/Shanghai
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
8. 启动服务
# 启动Zabbix服务
systemctl start zabbix-server
systemctl enable zabbix-server
# 启动Apache
systemctl start httpd
systemctl enable httpd
#如果启动失败检查80端口是否被占用
ss -lntup | grep 80
第二部分:客户端部署 (10.0.0.113)
#获取zabbix官方源
yum install -y https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
#修改配置源文件
sed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
#yum源初始化
yum clean all && yum makecache
#安装zabbix-agent2或zabbix-agent
yum install zabbix-agent2 -y
#启动zabbix-agent2
systemctl enable --now zabbix-agent2.service
#检查启动状态
ss -lntup | grep zabbix
#配置文件修改
vim /etc/zabbix/zabbix_agent2.conf
#查看文件内容
egrep -v '^$|#' /etc/zabbix/zabbix_agent2.conf
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=10.0.0.112 # zabbix-server服务端IP
ServerActive=10.0.0.112
Hostname=zabbix-client-113 # 显示在web页面的主机名
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
#重新启动(生效配置文件)
systemctl restart zabbix-agent2.service
#检查启动状态
ss -lntup | grep 10050
第三部分:Web界面配置
1. 访问Web安装向导
在浏览器中访问:
http://10.0.0.112/zabbix
2. 按步骤完成安装
第一步:欢迎页面
- 检查所有前提条件是否为”OK”


第二步:配置数据库连接
数据库类型: MySQL
数据库主机: localhost
数据库端口: 3306
数据库名称: zabbix
用户: zabbix
密码: zabbixPASSWORD123.

第三步:Zabbix服务器详情
服务器名称: Zabbix Server 112
时区: Asia/Shanghai

第四步:预览设置
- 确认配置信息正确

第五步:完成安装

3. 登录系统
- 用户名:
Admin - 密码:
zabbix

更改web语言

4. 开始使用
添加客户端主机:配置→主机→创建主机

输入客户端主机名(客户端配置文件中Hostname的值,必须完全一样)
ip地址:10.0.0.113
端口:10050

添加模板Template App Zabbix Server,Template OS Linux by Zabbix agent

添加成功提示:

显示与112的相同即可

第四部分:常见问题解决
图形页面乱码(不能正常显示中文)
# 1、安装中文字体
yum -y install wqy-microhei-fonts
#2、将下载好的二进制文件复制到指定路径下
cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
如果找不到SQL脚本,可以:
方法一:从官网下载(仅限6.0.0以上)
# 下载Zabbix 5.0源码包
wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.0.tar.gz
tar -xf zabbix-6.0.0.tar.gz
cd zabbix-6.0.0/database/mysql
数据库连接问题排查
# 测试数据库连接
mysql -uzabbix -p -h localhost zabbix
# 检查数据库权限
mysql -u root -p
SHOW GRANTS FOR 'zabbix'@'localhost';
服务状态检查
# 服务端检查
systemctl status zabbix-server
tail -f /var/log/zabbix/zabbix_server.log
#客户端检查
systemctl status zabbix-agent2
tail -f /var/log/zabbix/zabbix_agent2.log
排查客户端能否正常连接
服务端:
# 测试网络连通性
ping 10.0.0.113
# 测试端口连通性
telnet 10.0.0.113 10050
yum install -y zabbix-get
zabbix_get -s 10.0.0.113 -k "system.users.num"
#看日志
tail -f /var/log/zabbix/zabbix_server.log
客户端:
# 检查防火墙状态
systemctl status firewalld
# 如果防火墙开启,检查端口是否开放
zabbix_get -s 10.0.0.113 -k "system.users.num"
# 如果没有开放,添加规则
firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --reload
#检查Zabbix Agent配置:cat /etc/zabbix/zabbix_agent2.conf
# 允许连接的服务器IP(添加Zabbix服务器IP)
Server=10.0.0.112,127.0.0.1
# 主动检查的服务器IP
ServerActive=10.0.0.112,127.0.0.1
# 监听所有接口
ListenIP=0.0.0.0
# 主机名(必须与Web界面中配置的一致)
Hostname=10.0.0.113
# 重启agent服务
systemctl restart zabbix-agent2
# 检查服务状态
systemctl status zabbix-agent2
# 检查端口监听
netstat -tulnp | grep 10050
# 或使用
ss -tulnp | grep 10050
#看日志
tail -f /var/log/zabbix/zabbix_agent2.log