1. 程式人生 > >Zabbix-web的中文顯示及其亂碼問題解決方法

Zabbix-web的中文顯示及其亂碼問題解決方法

中文亂碼 zabbix

問題

通常在安裝完zabbix後默認顯示的是英文界面,雖然1-2個月也就習慣了,但對於剛開始接觸的人來說英文畢竟不太友好,所以為了今後方便還是將界面改為中文;當改為中文後,在查看圖表時會遇到亂碼問題,這是由於字體格式不一致導致,本文的目的就是解決這常見的兩個問題。


環境

zabbix3.2.7

centos7.3



zabbix改為中文界面

1、輸入zabbix的IP,進入zabbix的web界面如下圖

技術分享

2、按圖點擊右上方的一個類似小人的設置項

技術分享

3、之後出現如下界面,在Language選項中選擇Chinese中文

技術分享

3、選擇Chinese後點擊Update

技術分享

4、之後界面變成中文字符。

技術分享


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使用的默認字體,要想替換為其他中文字體只需要全局替換該關鍵字後面的默認字體即可。


本文出自 “張帆-IT的奇幻漂流” 博客,請務必保留此出處http://chawan.blog.51cto.com/9179874/1955182

Zabbix-web的中文顯示及其亂碼問題解決方法