问题:
通常在安装完zabbix后默认显示的是英文界面,虽然1-2个月也就习惯了,但对于刚开始接触的人来说英文毕竟不太友好,所以为了今后方便还是将界面改为中文;当改为中文后,在查看图表时会遇到乱码问题,这是由于字体格式不一致导致,本文的目的就是解决这常见的两个问题。
环境
zabbix3.2.7
centos7.3
zabbix改为中文界面
1、输入zabbix的IP,进入zabbix的web界面如下图
2、按图点击右上方的一个类似小人的设置项
3、之后出现如下界面,在Language选项中选择Chinese中文
3、选择Chinese后点击Update
zabbix消除乱码
在界面变成中文后,点击监测中-->图形,会发现下方图形中有乱码导致数据无法正常显示;该问题是由于zabbix默认使用的是“DejaVuSans.ttf”(zabbix3.2.7默认使用的是“graphfont.ttf”),该字体对中文支持度不好,因此下方数据会有乱码。
解决方法是将本地的中文字体上传至zabbix的fonts目录,之后修改include下的defines.inc.php,将文本中所有的“DejaVuSans.ttf”(graphfont.ttf),替换为上传的中文字体,这里以黑体为例演示
1、在本地的C:\Windows\Fonts下选择自己喜欢的字体,此处选择黑体(我只测试过宋体,楷体,黑体,幼圆其他中文字体应该都支持)
2、通过xftp(或其他上传工具)将黑体字体上传至zabbix的fonts目录(zabbix的web安装路径下的fonts)
上传后不知为什么,会自动转为大写,这里需要手动将大写再改为小写字母,否则zabbix不识别。
具体步骤如上图;(这里可以发现zabbix3.2.7版本中的默认字体是指向/etc/alternatives/zabbix-web-font的软连接)
3、修改include下的defines.inc.php
注意:目录是zabbix的web安装所在的路径
4、vim 编辑该文件,使用%s/graphfont/simhei/g命令对graphfont进行全局替换
5、重新加载web服务 systectl reload httpd/ nginx -s reload
6、刷新页面
总结:
zabbix的中文及乱码的解决方法大致就上面写的;zabbix3.2.7之前与zabbix3.2.7之后的默认字体发生了变化,不再是之前的“DejaVuSans.ttf”;如果使用zabbix3.2.7版本是请注意这点,我们要替换的是fonts文件下默认的字体而不是随随便便从网上查到的内容。如果不知道要替换什么内容,可以在defines.inc.php中查找“FONT_NAME“关键字,它后面对应的就是当前zabbix使用的默认字体,要想替换为其他中文字体只需要全局替换该关键字后面的默认字体即可。