马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Ubuntu Server 24.04 部署 Zabbix 7.0 LTS 完整流程
Zabbix 7.0 LTS 配 Ubuntu 24.04,最大的两个坑不是装包,而是MySQL 8.4 与 Zabbix 的兼容性和中文界面乱码。前者会让 zabbix-server 直接起不来,后者让你看到的图表全是方块。这篇把从数据库到中文支持的每一步都写明白。
一、先说 MySQL 版本:8.0.3x 是上限
装之前先看一眼版本:
mysqld --version
# /usr/sbin/mysqld Ver 8.0.36-2ubuntu3 for Linux on x86_64 (Ubuntu)
关键限制:MySQL 大于 8.0.3x 的话,启动 zabbix-server 会直接报错:
Unable to start Zabbix server due to unsupported MySQL database version (8.04.00).
Must not be higher than (8.03.x).
Use of supported database version is highly recommended.
Override by setting AllowUnsupportedDBVersions=1 in Zabbix server configuration file at your own risk.
两条路:要么把 MySQL 锁在 8.0.3x 这个分支(推荐,最省心);要么在 zabbix_server.conf 里加 AllowUnsupportedDBVersions=1 强行跑——但官方明确写了「at your own risk」,生产环境不建议。
Ubuntu 24.04 默认的 MySQL 就是 8.0.4x,所以装之前就要决定要不要降级/锁定,别等 server 起不来再回头折腾。
二、安装 Zabbix repository
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_7.0-1+ubuntu24.04_all.deb
sudo apt update
三、安装 server、Web 前端、agent
sudo apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-sql-scripts zabbix-agent php8.3-fpm zabbix-nginx-conf
注意 Ubuntu 24.04 上 PHP 是 8.3(fpm 包名要对应上),别照抄老教程里的 php8.1/php8.2。装完查版本:
zabbix_agentd -V
zabbix_server -V
会输出 Zabbix 7.0.0、编译时间、Compiled with OpenSSL 3.0.x 这些信息,确认装的是 7.0 而不是别的版本。
四、创建数据库并导入初始数据
sudo mysql -u root -p
进 MySQL 后依次执行:
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@'%' IDENTIFIED WITH mysql_native_password BY '密码';
mysql> grant all privileges on zabbix.* to zabbix@'%';
mysql> set global log_bin_trust_function_creators=1;
mysql> quit
要点:
- 字符集必须 utf8mb4、排序规则 utf8mb4_bin,这是 Zabbix 官方要求,用错后面中文和特殊字符会出怪问题;
- 用户认证方式指定
mysql_native_password,部分客户端和工具对 caching_sha2_password 兼容不好;
log_bin_trust_function_creators=1 是为了导入脚本里创建函数,导入完必须改回 0。
然后导入初始 schema(用 zcat 直接解压管道进 mysql,比先解压再导省事):
sudo zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p
导入完成后记得把全局变量改回去:
mysql -u root -p
mysql> set global log_bin_trust_function_creators=0;
mysql> quit
五、配置 Zabbix server 连数据库
sudo vim /etc/zabbix/zabbix_server.conf
# DBPassword= --> DBPassword="密码"
六、改 nginx 配置(这步容易忘)
sudo vim /etc/nginx/conf.d/zabbix.conf
# listen 8080; --> listen 80;
# server_name example.com; --> server_name 192.168.50.1 example.com;
把默认的 8080 改成 80(或你想用的端口),并把 server_name 换成你的实际 IP 或域名——不改的话浏览器里访问会被 nginx 默认页挡住。
七、启动服务
sudo systemctl restart zabbix-server zabbix-agent nginx php8.3-fpm
sudo systemctl enable zabbix-server zabbix-agent nginx php8.3-fpm
enable 是设开机自启,重启服务器后监控 还能自己起来。启动后先 systemctl status zabbix-server 看一眼,如果 active 但日志 里报 MySQL 版本错,就回到第一节处理。
八、浏览器完成 Web 安装
浏览器访问改好的 IP(如 http://192.168.50.1),走官方的 Web 安装向导:填数据库信息(库名 zabbix、用户 zabbix、密码)→ 设 server 名称 → 装前检查 → 下载配置文件 → 完成。
九、登录与中文支持(默认 Admin / zabbix)
默认账号密码是 Admin / zabbix(首字母大写),登进去第一件事是改密码。
1. 装中文语言包
sudo apt-get install language-pack-zh-hant language-pack-zh-hans
# 然后重启
reboot
2. 解决图表中文乱码
即便语言包装了,Zabbix 的 SVG 图( graphs )里的中文仍会显示成方块,因为它用的是自带字体。办法是换一个支持中文的中文字体:
cd /usr/share/zabbix/assets/fonts
sudo cp graphfont.ttf graphfont.ttf_bak
sudo mv /home/test/STSONG.TTF graphfont.ttf
sudo systemctl restart zabbix-server
先把原字体备份成 .bak 是个好习惯,出问题随时还原。上传的中文字体文件名不要带中文和空格,scp 传递时也容易出编码问题。
十、收尾清单
- 改掉默认密码 Admin/zabbix;
- 确认 agent 指向的 server 地址正确(
/etc/zabbix/zabbix_agentd.conf 里的 Server 字段);
- 被监控
机装 zabbix-agent 并指向这台 server;
- 防火墙放行 80/10050(agent)端口,云上还要在安全组里加规则。
qidao123.com企服评测-应用市场 编辑提示 |