前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >19.10 处理图形中的乱码

19.10 处理图形中的乱码

作者头像
运维小白
发布2018-02-07 11:51:23
1.5K0
发布2018-02-07 11:51:23
举报
文章被收录于专栏:运维小白运维小白运维小白

处理图形中的乱码

  • 设置为中文后,zabbix图形的中文文字会显示小方框
  • 这是因为在zabbix的字体库中没有中文字体,需要从windows上借用一个过来
  • vim /usr/share/zabbix/include/defines.inc.php //搜索ZBX_FONTPATH -它定义的路径是“fonts”,它是一个相对路径,绝对路径为/usr/share/zabbix/fonts,而字体文件为“ZBX_GRAPH_FONT_NAME”所定义的“graphfont”,它是一个文件,绝对路径为/usr/share/zabbix/fonts/graphfont
  • windows字体路径为“C:\Windows\Fonts\”,找到“simfang.ttf”(其实就是那个仿宋简体),先把它复制到桌面上,然后上传到linux的/usr/share/zabbix/fonts/,并且改名为graphfont.ttf

处理图形中的乱码

  1. 首先把han模板连接到hf-02这个主机上去,选择 主机 ——>选择 hf-02 主机
输入图片说明
输入图片说明
  1. 点击 模板,然后点 选择 ,将hf-02主机添加到han模板里面去,再点击 添加 ,最后点击 更新
输入图片说明
输入图片说明
  1. 然后点击查看 图形
输入图片说明
输入图片说明
  1. 选择其中一张图,点开查看,选择 预览 ,会看到本来是中文显示的,结果显示成小方块
输入图片说明
输入图片说明
  1. 现在就是把这些小方块变成中文,显示方块意味着乱码,显示乱码有一种很常见的问题:就是字符集不对,但在这里并非是字符集的问题
  • 在显示成小方块,非常有规律,不能说乱码,只能说这个文字无法显示出来,只能用方块代替,因为缺少字库,在计算机当中,文字之所以能显示出来,就是因为有文字字库,这里很明显缺少中文的字库
  1. 在服务端(即A机器)打开配置文件,/usr/share/zabbix/include/defines.inc.php
A机器
[root@hf-01 ~]# vim /usr/share/zabbix/include/defines.inc.php
搜索 /ZBX_FONTPATH 会看到字体所在的相对路径
define('ZBX_FONTPATH',                          realpath('fonts')); // where to search for font (GD > 2.0.18)
define('ZBX_GRAPH_FONT_NAME',           'graphfont'); // font file name  

里面的
realpath('fonts'));   //这个为zabbix字库所在的路径,使用的路劲是相对路径,相对于/usr/share/zabbix/ 
'graphfont'); // font file name   // 这个为字体的名字

-它定义的路径是“fonts”,它是一个相对路径,绝对路径为/usr/share/zabbix/fonts,而字体文件为“ZBX_GRAPH_FONT_NAME”所定义的“graphfont”,它是一个文件,绝对路径为/usr/share/zabbix/fonts/graphfont 7. 这个目录下的/usr/share/zabbix/fonts/graphfont.ttf文件软链接到了/etc/alternatives/zabbix-web-font文件,而/etc/alternatives/zabbix-web-font文件又软链接到了 /usr/share/fonts/dejavu/DejaVuSans.ttf

  • dejavu: dejavu为字体的目录
  • DejaVuSans.ttf:是一个字体 ,但不支持中文
[root@hf-01 ~]# ls /usr/share/zabbix/fonts/
graphfont.ttf
[root@hf-01 ~]# ls -l !$
ls -l /usr/share/zabbix/fonts/
总用量 0
lrwxrwxrwx 1 root root 33 1月   3 01:51 graphfont.ttf -> /etc/alternatives/zabbix-web-font
[root@hf-01 ~]# ls -l /etc/alternatives/zabbix-web-font
lrwxrwxrwx 1 root root 38 1月   3 01:51 /etc/alternatives/zabbix-web-font -> /usr/share/fonts/dejavu/DejaVuSans.ttf
[root@hf-01 ~]# 
  1. 现在要做的就是将 graphfont 软链接到一个支持中文带中文的字体下面,即可
  2. 打开你windows物理机,找到C盘——>Windows——>Fonts下面找到simfang.ttf(其实就是那个仿宋简体),先把它复制到桌面上,然后上传到linux的/usr/share/zabbix/fonts/,并且改名为graphfont.ttf
[root@hf-01 ~]# cd /usr/share/zabbix/fonts/
[root@hf-01 fonts]# ls
graphfont.ttf  SIMFANG.TTF
[root@hf-01 fonts]# 
  1. 上传到/usr/share/zabbix/fonts/目录下后,更改原有graphfont.ttf为.back,或者删除掉这个文件
[root@hf-01 fonts]# mv graphfont.ttf graphfont.ttf.back
[root@hf-01 fonts]# 
  1. 然后把上传的字体,做一个创建graphfont.ttf软链接文件
  • ln -s SIMFANG.TTF graphfont.ttf
[root@hf-01 fonts]# ln -s SIMFANG.TTF graphfont.ttf
[root@hf-01 fonts]# ls -l
总用量 10332
lrwxrwxrwx 1 root root       11 2月   2 06:45 graphfont.ttf -> SIMFANG.TTF
lrwxrwxrwx 1 root root       33 1月   3 01:51 graphfont.ttf.back -> /etc/alternatives/zabbix-web-font
-rw-r--r-- 1 root root 10576012 6月  11 2009 SIMFANG.TTF
[root@hf-01 fonts]# 
  1. 现在的zabbix调用的是graphfont.ttf,而graphfont.ttf它指向了SIMFANG.TTF
  2. 这时在浏览器上刷新下,会看到显示正常,这样就能解决图形里面的小方块
输入图片说明
输入图片说明
  1. 还能看到CPU load一直为0,因为已经有数据产生了
  2. 在检测中,有一个最新数据,在这里主机可以选择 主机hf-02 ,点击应用
输入图片说明
输入图片说明
  1. 会看到监控的项目都有数据的,也可以选择 右侧的图形查看
输入图片说明
输入图片说明
输入图片说明
输入图片说明
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 处理图形中的乱码
  • 处理图形中的乱码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档