Zabbix 可以用中文輸入




會看到這篇文章表示目前的資料庫字集不支援中文
如果之前是照官方方法設定,資料庫語系會是latin1

修改語系的方式目前找到的方法是:
1. 暫停Zabbix服務 (建議)
2. 修改資料庫的預設字集 (這一步其實可以不用)
3. 倒出資料庫的資料 (會等很久)
4. 複製一份備份出來的資料 (怕出現不可預期的錯誤)
5. 用sed指令修改資料庫內的table語系
6. 倒回資料庫




1. 暫停Zabbix服務
建議執行,可以加快備份速度
service zabbix-server stop




2. 修改資料庫的預設字集
先登入資料庫
mysql -uzabbix -p zabbix
輸入資料庫使用者 zabbix 的密碼,進到mysql指令介面
mysql> ALTER DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
mysql> quit;




3. 倒出資料庫的資料
這個動作依照資料庫大小大概在10分鐘倒30分鐘不等

mysqldump -uzabbix -p zabbix --skip-lock-tables > zabbix.tmp.sql




4. 複製一份備份出來的資料
cp zabbix.tmp.sql zabbix.tmp.sql.backup




5. 用sed指令修改資料庫內的table語系
sed -i 's/CHARSET=latin1/CHARSET=utf8\ COLLATE=utf8_bin/g' zabbix.tmp.sql





6. 倒回資料庫
cat zabbix.tmp.sql | sudo mysql -uzabbix -p zabbix
輸入資料庫使用者 zabbix 的密碼,開始恢復資料




7. 啟動Zabbix Server
service zabbix-server start




到此已經可以在資料庫中輸入中文,如果要讓繪製的圖形也可以用中文要照底下的步驟進行


修改字型
預設的圖形字型不能顯示中文,因此需要修改字型

先到Windows的 "字型",找到微軟正黑體(建議),點兩下進去後找到微軟正黑體 粗體
按右鍵複製到桌面,這個字型檔的副檔名是 ttc ,要改成ttf
複製到Zabbix伺服器內,把字型檔複製到Zabbix的字型檔資料夾
sudo cp msjhbd.ttf /usr/share/zabbix/fonts
sudo chmod 777 /usr/share/zabbix/fonts/msjhbd.ttf

修改PHP的設定檔,讓Zabbix使用剛剛上傳的字型
sudo vi /usr/share/zabbix/include/defines.inc.php

找到底下兩個
define('ZBX_GRAPH_FONT_NAME',           'graphfont')
define('ZBX_FONT_NAME',  'graphfont')
改成
define('ZBX_GRAPH_FONT_NAME',           'msjhbd')
define('ZBX_FONT_NAME',  'msjhbd')
儲存離開,字型就改好了

留言

此網誌的熱門文章

WPA_supplicant的設定方式

DOS指令 -- SET和變數

Nginx server 和 location 優先順序