前置环境要求
- 系统:CentOS Stream9 / Ubuntu22.04
- 数据库:MariaDB 10.5+ / MySQL8.0
- Web:Nginx + PHP8.2/8.3
- 内存:最低 2C4G,监控 100 台以上提议 8G+
- 防火墙放行:80、10050、10051 端口
方案一:CentOS Stream9 安装 Zabbix7.0(MySQL/Nginx)
1. 关闭 SELinux、防火墙放行端口
# 临时关闭selinux
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 防火墙放行端口
firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=10050/tcp --permanent
firewall-cmd --add-port=10051/tcp --permanent
firewall-cmd --reload
2. 安装 MariaDB 数据库
dnf install mariadb-server -y
systemctl enable --now mariadb
# 数据库安全初始化(设置root密码)
mysql_secure_installation
# 一路操作:回车→N→设置root密码→Y→Y→Y→Y
3. 导入 Zabbix 官方 YUM 源
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/9/x86_64/zabbix-release-latest-7.0.el9.noarch.rpm
dnf clean all && dnf makecache
4. 安装 Zabbix 全套组件
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent -y
5. 创建 Zabbix 数据库与账号
mysql -uroot -p
# 执行下面SQL
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER zabbix@localhost IDENTIFIED BY 'Zabbix@123456';
GRANT ALL ON zabbix.* TO zabbix@localhost;
SET GLOBAL log_bin_trust_function_creators = 1;
quit;
6. 导入 Zabbix 初始化数据表
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
# 输入密码 Zabbix@123456 等待导入完成
# 导入完毕关闭函数权限
mysql -uroot -p -e "SET GLOBAL log_bin_trust_function_creators = 0;"
7. 配置 Zabbix 服务端数据库密码
vi /etc/zabbix/zabbix_server.conf
# 修改参数
DBPassword=Zabbix@123456
8. 配置 Nginx 前端
vi /etc/nginx/conf.d/zabbix.conf
# 修改监听端口、域名
listen 80;
server_name _; # 改为服务器IP或域名
# 注释撤销 listen 与 server_name 两行注释
9. 设置 PHP 时区(关键,否则前端报错)
vi /etc/php-fpm.d/zabbix.conf
# 修改
php_value[date.timezone] = Asia/Shanghai
10. 启动所有服务并开机自启
systemctl restart zabbix-server zabbix-agent nginx php-fpm mariadb
systemctl enable zabbix-server zabbix-agent nginx php-fpm mariadb
11. Web 页面初始化向导
浏览器访问:http://服务器IP
- Next step:环境检测,全部 OK 继续
- Database 配置:
- 数据库类型:MySQL
- Host:localhost
- 库名:zabbix
- 用户:zabbix
- 密码:Zabbix@123456
- Zabbix server 名称:自定义(如 Zabbix-Monitor)
- 完成安装,生成配置文件保存到服务器
- 默认账号:Admin /zabbix
方案二:Ubuntu 22.04 安装 Zabbix7.0
1. 更新系统、放行防火墙
apt update && apt upgrade -y
ufw allow http
ufw allow 10050/tcp
ufw allow 10051/tcp
2. 安装 MariaDB
apt install mariadb-server -y
systemctl enable --now mariadb
mysql_secure_installation
3. 添加 Zabbix APT 源
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu22.04_all.deb
dpkg -i zabbix-release_latest_7.0+ubuntu22.04_all.deb
apt update
4. 安装组件
apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent -y
5. 创建数据库(同 CentOS SQL)
mysql -uroot -p
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER zabbix@localhost IDENTIFIED BY 'Zabbix@123456';
GRANT ALL ON zabbix.* TO zabbix@localhost;
SET GLOBAL log_bin_trust_function_creators = 1;
quit;
6. 导入初始化数据
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
mysql -uroot -p -e "SET GLOBAL log_bin_trust_function_creators = 0;"
7. 修改服务端密码
vi /etc/zabbix/zabbix_server.conf
DBPassword=Zabbix@123456
8. Nginx 与 PHP 时区
vi /etc/nginx/conf.d/zabbix.conf
listen 80;
server_name _;
vi /etc/php/8.3/fpm/pool.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
9. 启动服务
systemctl restart zabbix-server zabbix-agent nginx php8.3-fpm mariadb
systemctl enable zabbix-server zabbix-agent nginx php8.3-fpm mariadb
10. 访问页面
http://服务器IP,后续向导同上
方案三:Docker Compose 快速部署(测试环境推荐)
无需配置环境,一键启动 MySQL+Zabbix 服务端 + Web
# 1. 安装docker、docker-compose
apt install docker.io docker-compose -y || dnf install docker docker-compose -y
systemctl enable --now docker
# 2. 拉取官方代码
git clone https://github.com/zabbix/zabbix-docker.git
cd zabbix-docker
git checkout 7.0
# 3. 启动MySQL版本Zabbix
docker compose -f compose.yaml up -d
# 4. 访问 http://服务器IP:8080
# 默认账号 Admin/zabbix
常见问题排错
- 前端 PHP 时区报错
- 确认date.timezone = Asia/Shanghai,重启 php-fpm
- zabbix-server 启动失败
- 查看日志:tail -f /var/log/zabbix/zabbix_server.log,大致率数据库密码错误
- 监控主机无法连通
- 被控机器安装 zabbix-agent,放行 10050 端口,主动模式填写 ServerIP
- 中文乱码
- 上传微软雅黑字体到/usr/share/zabbix/assets/fonts/,修改前端字体配置文件
被控主机 Agent 安装(Linux 客户端)
# CentOS
rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/9/x86_64/zabbix-release-latest-7.0.el9.noarch.rpm
dnf install zabbix-agent -y
vi /etc/zabbix/zabbix_agentd.conf
Server=Zabbix服务端IP
ServerActive=Zabbix服务端IP
Hostname=本机主机名
systemctl restart zabbix-agent
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...