zabbix图表(图形/监控图)中文显示为方框/方块的解决办法

Zabbix 图表(图形/监控图)中文显示为方框/方块,是因为 Zabbix 默认使用的字体不支持中文,PHP-GD 绘图时无法渲染中文字符。解决方法是给 Zabbix Web 换上一个带简体中文字库的字体。

下面以 RHEL/CentOS 系列 YUM 安装的 Zabbix 5.x/6.x/7.x​ 为例说明,Debian/Ubuntu 思路完全一致只是路径略有差异。

方法一:直接替换字体文件

1、从Windows系统中拷贝字体文件,方法如下:进入系统的如下目录 C:\Windows\Fonts,复制如楷体 simkai.ttf、微软雅黑 msyh.ttf​ 或 宋体 simsun.ttc,用 scp/WinSCP 传到 Zabbix 服务器。

bash 复制代码
字体文件的存储位置如下:" /usr/share/zabbix/assets/fonts "
较老版本的字体文件存储文件位置如下:" /usr/share/zabbix/fonts "

2、备份原先的字体文件 graphfont.ttf

将上传的字体文件重命名为 graphfont.ttf

  1. 重启服务并清缓存

重启 Web 服务

命令如下:

bash 复制代码
systemctl restart httpd 
 或 systemctl restart nginx 

4、然后浏览器强制刷新(Ctrl+F5),图表中文就能正常显示了。

方法二:修改 defines.inc.php

1、上传文件到字体文件的存储位置,注意所上传文件的尾缀如果是ttc,需要将尾缀改成ttf,否则可能失效

bash 复制代码
字体文件的存储位置如下:" /usr/share/zabbix/assets/fonts "
较老版本的字体文件存储文件位置如下:" /usr/share/zabbix/fonts "
编辑配置文件vim /usr/share/zabbix/include/defines.inc.php

把这两行中的 DejaVuSans或 graphfont改成你上传的字体文件名(不含 .ttf 后缀):

bash 复制代码
define('ZBX_GRAPH_FONT_NAME', 'simkai');   // 字体文件名 simkai.ttf → 填 simkai
define('ZBX_FONT_NAME',        'simkai');

确保 /usr/share/zabbix/fonts/simkai.ttf存在且权限 644,保存后刷新页面即可。

相关推荐
汪汪大队u8 天前
Zabbix 6.0 部署踩坑记:从启动失败到 Web 成功访问
前端·zabbix
江南风月10 天前
WGCLOUD支持创建子账号吗
运维·zabbix·运维开发·prometheus
L16247612 天前
Zabbix 7.0 LTS 完整部署与运维手册(AlmaLinux 9 + MySQL 8.0 + Nginx)
运维·mysql·zabbix
运维小菜鸟h12 天前
zabbix5.0 生成问题报表html
zabbix
jieyucx16 天前
从零搭建 Zabbix 监控系统:7.0 版本原理与 Nginx 生产部署实操
运维·nginx·zabbix
SRETalk1 个月前
Zabbix、Prometheus、Grafana、Nightingale,四个监控如何选型?
zabbix·grafana·prometheus·nightingale
荣--1 个月前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
qq_349447951 个月前
Zabbix自助发现监控机器配置
zabbix
江南风月1 个月前
WGCLOUD保姆级教程最新版整理
运维·zabbix·运维开发·prometheus·日志审计