Zabbix 7 解決圖表(graph)中文字變方塊的問題

使用 Zabbix 時,如果圖表(graph)包含中文,就會發現中文字都成方塊了!本文提供的解決方式是使用 curl 從 Github 下載 Noto Sans CJK TC Medium 字型,透過 alternatives 將它加入 zabbix-web-font 的字型候選清單,再將其指定為目前使用的字型。

測試環境:
Rocky Linux 9.8 (應該RHEL系列皆適用)
Zabbix 7.0.31

操作步驟

以下指令請以 root 身分執行。

# ==========================================
# Zabbix 7.0 / Rocky Linux
# 將 Zabbix graphfont 改為 Noto Sans CJK TC Medium
# 目的:解決圖表中的繁體中文字型亂碼/方塊問題
# ==========================================

# 1. 建立自訂字型目錄
#    /usr/local 不屬於 Zabbix RPM 套件管理範圍,
#    Zabbix 更新時通常不會覆蓋此處。
mkdir -p /usr/local/share/fonts/zabbix
chmod 755 /usr/local/share/fonts/zabbix

# 2. 從 Noto CJK 官方 GitHub 下載繁中 Medium 靜態字型
curl -fL --retry 3 \
  -o /usr/local/share/fonts/zabbix/NotoSansCJKtc-Medium.otf \
  'https://raw.githubusercontent.com/notofonts/noto-cjk/main/Sans/OTF/TraditionalChinese/NotoSansCJKtc-Medium.otf'

# 3. 設定字型檔權限
chmod 644 /usr/local/share/fonts/zabbix/NotoSansCJKtc-Medium.otf

# 4. 確認下載結果
file /usr/local/share/fonts/zabbix/NotoSansCJKtc-Medium.otf
ls -lh /usr/local/share/fonts/zabbix/NotoSansCJKtc-Medium.otf

# 5. 加入 Zabbix 的 alternatives 字型候選清單
#    graphfont.ttf:Zabbix 前端圖表固定使用的字型連結
#    zabbix-web-font:本機既有 alternatives 群組名稱
alternatives --install \
  /usr/share/zabbix/assets/fonts/graphfont.ttf \
  zabbix-web-font \
  /usr/local/share/fonts/zabbix/NotoSansCJKtc-Medium.otf \
  100

# 6. 指定 Zabbix 使用 Noto Sans CJK TC Medium
#    --set 會切換為 manual 模式,避免後續套件更新自動選回 DejaVu Sans。
alternatives --set \
  zabbix-web-font \
  /usr/local/share/fonts/zabbix/NotoSansCJKtc-Medium.otf

# 7. 確認 alternatives 目前狀態
alternatives --display zabbix-web-font

# 8. 確認 Zabbix graphfont.ttf 最終實際指向的字型
readlink -f /usr/share/zabbix/assets/fonts/graphfont.ttf

驗證結果

執行最後一個指令後,預期會顯示:

/usr/local/share/fonts/zabbix/NotoSansCJKtc-Medium.otf

接著回到 Zabbix,重新開啟含有中文的圖表,確認是否正常顯示。

發佈留言