Loading

zabbix--图形字体乱码

解决 zabbix 图形字体乱码

如图:修改之前

具体步骤:

1)下载字体,例如:SIMKAI.ttf楷体(也可直接将Windows上的直接上传;Windows路径:C:\Windows\Fonts)

2)上传到Linux中

3)将字体复制到 zabbix web站点数据目录下的fonts目录下,(yum安装的路径:/usr/share/zabbix/fonts) 如我的zabbix-server是源码安装,站点目录放在 /opt/zabbix/,所以我应该放在/opt/zabbix/fonts/下

# mv SIMKAI.ttf /opt/zabbix/fonts/

4)修改web站点目录下 include/defines.inc.php 文件 (yum安装路径:/usr/share/zabbix/include/defines.inc.php)

# vim /opt/zabbix/include/defines.inc.php
将
define('ZBX_GRAPH_FONT_NAME',       'DejaVuSans'); // font file name
define('ZBX_FONT_NAME', 'DejaVuSans');
改为
define('ZBX_GRAPH_FONT_NAME',       'SIMKAI'); // font file name
define('ZBX_FONT_NAME', 'SIMKAI');

5)刷新页面再次查看,乱码消失

 

 

 

补充说明:

zabbix5.0版本后,字体路径的存放位置就发生了变化,且docker部署的Zabbix-web和宿主机部署的zabbix的路径不一致,分别如下:

Docker部署的路径为:/usr/share/zabbix/assets/fonts/

RPM包部署的路径为:/usr/share/fonts/dejavu/

其规则不变,都是修改zabbix-web所使用的字体,方法有两种,一是直接替换字体;二是上传新的字体,修改配置使用新的字体。

方法一示例:

RPM版本示例:
# cp /usr/share/fonts/dejavu/DejaVuSans.ttf{,.bak}

# mv simkai.ttf /usr/share/fonts/dejavu/DejaVuSans.ttf


容器版本示例:
# docker cp DejaVuSans.ttf zabbix-web-nginx-mysql:/usr/share/zabbix/assets/fonts/

 

方法二示例:

# 1.上传字体到服务器
# ls simkai.ttf 
simkai.ttf

# 2.将字体copy到容器中
# docker cp simkai.ttf zabbix-web-nginx-mysql:/usr/share/zabbix/assets/fonts/

# 3.进入容器中进行配置
# docker exec -it zabbix-web-nginx-mysql /bin/bash
bash-4.4$ ls /usr/share/zabbix/assets/fonts/
DejaVuSans.ttf simkai.ttf
bash-4.4$ vi /usr/share/zabbix/include/defines.inc.php
#更改前
// define('ZBX_GRAPH_FONT_NAME',                'DejaVuSans'); // font file name
#更改后
define('ZBX_GRAPH_FONT_NAME',           'simkai'); // font file name

 

说明:无需重启服务,更新完成直接刷新页面即可。

 

 

 

 

 

posted @ 2019-05-08 21:19  别来无恙-  阅读(2245)  评论(0编辑  收藏  举报