標籤:中文亂碼 zabbix
問題:
通常在安裝完zabbix後預設顯示的是英文介面,雖然1-2個月也就習慣了,但對於剛開始接觸的人來說英文畢竟不太友好,所以為了今後方便還是將介面改為中文;當改為中文後,在查看圖表時會遇到亂碼問題,這是由於字型格式不一致導致,本文的目的就是解決這常見的兩個問題。
環境
zabbix3.2.7
centos7.3
zabbix改為中文介面
1、輸入zabbix的IP,進入zabbix的web介面如
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/9E/23/wKioL1mMJ_aBJNL4AAFPIzBDOdM451.jpg" title="zabbix1.jpg" alt="wKioL1mMJ_aBJNL4AAFPIzBDOdM451.jpg" />
2、按圖點擊右上方的一個類似小人的設定項
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/9E/2C/wKiom1mMHy6wJphAAAASMbzZf8M855.png" style="float:none;" title="zabbix2.png" alt="wKiom1mMHy6wJphAAAASMbzZf8M855.png" />
3、之後出現如下介面,在Language選項中選擇Chinese中文
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/9E/2C/wKiom1mMH2PxhHo3AABtF-59hsI540.png" title="zabbix3.png" alt="wKiom1mMH2PxhHo3AABtF-59hsI540.png" />
3、選擇Chinese後點擊Update
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/9E/2C/wKiom1mMHy_BBe9YAABWCF5q7Xw509.png" style="float:none;" title="zabbix4.png" alt="wKiom1mMHy_BBe9YAABWCF5q7Xw509.png" />
4、之後介面變成中文字元。
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/9E/2C/wKiom1mMHzDC75reAAD3cgF8rwY519.png" style="float:none;" title="zabbix5.png" alt="wKiom1mMHzDC75reAAD3cgF8rwY519.png" />
zabbix消除亂碼
在介面變成中文後,點擊監測中-->圖形,會發現下方圖形中有亂碼導致資料無法正常顯示;該問題是由於zabbix預設使用的是“DejaVuSans.ttf”(zabbix3.2.7預設使用的是“graphfont.ttf”),該字型對中文支援度不好,因此下方資料會有亂碼。
解決方案是將本地的中文字型上傳至zabbix的fonts目錄,之後修改include下的defines.inc.php,將文本中所有的“DejaVuSans.ttf”(graphfont.ttf),替換為上傳的中文字型,這裡以黑體為例示範
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M01/9E/2C/wKiom1mMHzDx6wXYAACzUgpsMVU199.png" style="float:none;" title="zabbix6.png" alt="wKiom1mMHzDx6wXYAACzUgpsMVU199.png" />
1、在本地的C:\Windows\Fonts下選擇自己喜歡的字型,此處選擇黑體(我只測試過宋體,楷體,黑體,幼圓其他中文字型應該都支援)
2、通過xftp(或其他上傳工具)將黑體字型上傳至zabbix的fonts目錄(zabbix的web安裝路徑下的fonts)
上傳後不知為什麼,會自動轉為大寫,這裡需要手動將大寫再改為小寫字母,否則zabbix不識別。
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/9E/2D/wKiom1mMI1GRM5qkAAA1zJ1oFwg204.png" title="zabbix8.png" alt="wKiom1mMI1GRM5qkAAA1zJ1oFwg204.png" />
具體步驟如;(這裡可以發現zabbix3.2.7版本中的預設字型是指向/etc/alternatives/zabbix-web-font的軟串連)
3、修改include下的defines.inc.php
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M02/9E/2D/wKiom1mMI_myzsojAAALxJANS74570.png" title="zabbix9.png" alt="wKiom1mMI_myzsojAAALxJANS74570.png" />
注意:目錄是zabbix的web安裝所在的路徑
4、vim 編輯該檔案,使用%s/graphfont/simhei/g命令對graphfont進行全域替換
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/9E/2D/wKiom1mMJPCzuOTSAABZL_M4tNU769.png" title="zabbix10.png" alt="wKiom1mMJPCzuOTSAABZL_M4tNU769.png" />
5、重新載入web服務 systectl reload httpd/ nginx -s reload
6、重新整理頁面
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/9E/2D/wKiom1mMJY_SnI2QAACe5fc_Hwc292.png" title="zabbix11.png" alt="wKiom1mMJY_SnI2QAACe5fc_Hwc292.png" />
總結:
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的中文顯示及其亂碼問題解決方案