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
说明:无需重启服务,更新完成直接刷新页面即可。
人生是条无名的河,是浅是深都要过;
人生是杯无色的茶,是苦是甜都要喝;
人生是首无畏的歌,是高是低都要唱。