前置环境要求
系统:CentOS Stream9 数据库: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、防火墙放行端口
# 临时关闭selinuxsetenforce 0sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config# 防火墙放行端口firewall-cmd --add-service=http --permanentfirewall-cmd --add-port=10050/tcp --permanentfirewall-cmd --add-port=10051/tcp --permanentfirewall-cmd --reload
2. 安装 MariaDB 数据库
dnf install mariadb-server -ysystemctl 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.rpmdnf clean all && dnf makecache
4. 安装 Zabbix 全套组件
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent -y5. 创建 Zabbix 数据库与账号
mysql -uroot -p# 执行下面SQLCREATE 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 服务端数据库密码
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 mariadbsystemctl 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
常见问题排错
- 前端 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 客户端)
# CentOSrpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/9/x86_64/zabbix-release-latest-7.0.el9.noarch.rpmdnf install zabbix-agent -yvi /etc/zabbix/zabbix_agentd.confServer=Zabbix服务端IPServerActive=Zabbix服务端IPHostname=本机主机名systemctl restart zabbix-agent
夜雨聆风