Muninのグラフの文字化けに対応

OS: Ubuntu Server 18.04 LTS
Munin 2.0.37

Muninサーバが生み出すグラフが文字化けして見た目がたいへんに醜い。時刻の隣に四角で囲まれた4桁の数字が並ぶばかりで一体何なのかと思う。

図1. 木と金が文字化けする様子

目を凝らして確認すると6728や91D1といった数値が並んでいる。果たしてどういった意味を持つのかしらと思って調べると、文字をUnicodeで表すときの符号位置(code point)が16進数で表示されている模様である。対応するフォントが見当たらない為にこのような有様となるようである。

図2. 各曜日の符号位置

此れに対して打つ手は二つある。一つは日本語での表示を諦めて英語表記にして茶を濁す方針である。その為には /etc/cron.d/munin の編集を余儀なくされる。/usr/bin/munin-cron を実行する前に LANG=C; を挿入してデフォルトのロケールで表示するよう設定する。然し乍ら、今後のmuninパッケージの更新によって上書きされる恐れがあるから採用はためらう措置である。

$ sudo vi /etc/cron.d/munin
#*/5 * * * *     munin if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi
*/5 * * * *     munin if [ -x /usr/bin/munin-cron ]; then LANG=C; /usr/bin/munin-cron; fi
図3. 英語表記でお茶を濁す様子

もう一方は日本語にも対応できるフォントを導入する方策である。Googleが開発を進めているNoto(No more tofu)というフォントに注目してみると、此れは良さそうである。fonts-notoパッケージをインストールするだけで終いであるから気軽であるし、豆腐が名称の由来というのも健康的で大変よろこばしいとおもう。

Tofu (豆腐) is Japanese jargon for unicode replacement character “?”
(U+FFFD) often displayed as replacement for unassigned or unknown
characters.

https://packages.debian.org/ja/stretch/fonts/fonts-noto-cjk

ストレージの容量がシビアな環境なら日中韓の文字をカバーしているfonts-noto-cjkパッケージだけでも事足りるようである。

$ sudo apt install fonts-noto
(snip)
以下のパッケージが新たにインストールされます:
  fonts-noto fonts-noto-cjk fonts-noto-hinted fonts-noto-mono fonts-noto-unhinted

あとはグラフが更新されるのを待つか手動で更新すると文字化けが解消している。

図4. 文字化けが解決した様子

「Muninのグラフの文字化けに対応」への1件のフィードバック

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください