专栏首页运维小白19.10 处理图形中的乱码

19.10 处理图形中的乱码

处理图形中的乱码

  • 设置为中文后,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. 会看到监控的项目都有数据的,也可以选择 右侧的图形查看

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 4.2 du命令

    du命令 du命令,查看文件的大小 du命令用法 du -sh 目录/文件命令用法 du -sh 目录/文件 查看目录或文件的大小 [root@localh...

    运维小白
  • 5.7 vim实践

    多练习,记好笔记 # cp /etc/dnsmasq.conf /tmp/1.txt (1) 分别向下、向右、向左、向上移动6个字符(6j 6l 6h 6k...

    运维小白
  • Linux基础(day29)

    sed扩展 一. 打印某行到某行之间的内容 打印某一行到某一行之间的内容 需求: 例如:有个文件test的内容如下: ert fff ** [abcfd] 1...

    运维小白
  • SAP质量管理模块常见问题及解决方案

    SAP系统中的质量管理模块是SAP的重要组成部分,它几乎影响公司中的所有过程,质量管理可以与很多应用集成,比如物料管理,生产,销售/分销等。而质量管理中最重要的...

    用户5495712
  • 中国工程院院士论断:插电式混合动力车"假"节能减排,燃料电池车"难"节能减排

    我今天想介绍一下我的一些看法,当前电动汽车以及动力电池产业的发展。补贴还有16个月就要取消,现在市场化的进程已经开始,上午已经说汽车现在是新的起点,实际上电动车...

    钱塘数据
  • 前端基础-CSS网站图标和字体图标

    作用:一个好的ico图标可以加深用户对于网站的记忆。降低用户记忆成本,就好像现在说道熊爪大家都能够想到度娘,更多的属于用户体验。有利于识别当前窗口是在哪个网站。

    cwl_java
  • 【DB笔试面试846】在Oracle中,TWO_TASK环境变量的作用是什么?

    在Linux环境下,可以设置TWO_TASK环境变量,当用户连接数据库且没有指定服务名时,会自动利用TWO_TASK的设置作为环境变量连接数据库。其中,TWO_...

    小麦苗DBA宝典
  • 架构设计-从零开始搭建gradle多模块项目

    spring-boot: java做web开发,这个差不多是基础了 mybatis: 做javaweb开发,连数据库大都是用的这个 redis: 做javawe...

    微笑的小小刀
  • 100行代码拆解EventBus核心逻辑(一)

    EventBus 作为一个基础的消息传递组件,了解其核心实现原理是日常开发工作之外需要做的必修课。本系列希望通过自己实现一个类似的消息传递组件 EasyBus ...

    阳仔
  • 关于非局部跳转

      在看《程序员的自我修养》时看到一个以前没见过的东西,为此记录下来。(当然事后才知道原来早就被人写烂了,啊哈哈哈)   非局部跳转在C语言中是一个备受争议的机...

    xcywt

扫码关注云+社区

领取腾讯云代金券