※2013/5/9追記 フォントの指定場所が一箇所漏れていたので追記しましたm(__)m
Amazon Linux に、Zabbix Server を立てた際にグラフの日本語が文字化けしていたので、その時の対処メモ。
多分、Zabbixではお決まりの対処と思われます。
バージョンは下記の通り。
OS : Amazon Linux AMI release 2011.09 x86/64 Zabbix : 1.8.10
以下がその文字化け(正確には日本語が豆腐になる)への対処法。
そもそもなぜ日本語が豆腐になるかというと、フォントが日本語対応していないからという、単純な理由。
デフォルトではグラフで使用するフォントが DejaVu というものになっている。
どこで定義されているかというと、/usr/share/zabbix/include/defines.inc.php 内の38〜40行目と79行目。
38 define('ZBX_FONTPATH', '/usr/share/fonts/dejavu'); // where to search for font (GD > 2.0.18) 39 define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name 40 define('ZBX_GRAPH_LEGEND_HEIGHT',120); // when graph height is less then this value, some legend will not show up 79 define('ZBX_FONT_NAME', 'DejaVuSans'); ←追記
ということで、/usr/share/fonts 配下に他にどんなフォントがあるか確認する。
/usr/share/fonts/: total 6096 drwxr-xr-x 2 root root 4096 Oct 28 07:51 dejavu /usr/share/fonts/dejavu: total 6896 -rw-r--r-- 1 root root 524056 Aug 27 2009 DejaVuSans-BoldOblique.ttf -rw-r--r-- 1 root root 573136 Aug 27 2009 DejaVuSans-Bold.ttf -rw-r--r-- 1 root root 493196 Aug 27 2009 DejaVuSansCondensed-BoldOblique.ttf -rw-r--r-- 1 root root 534464 Aug 27 2009 DejaVuSansCondensed-Bold.ttf -rw-r--r-- 1 root root 488440 Aug 27 2009 DejaVuSansCondensed-Oblique.ttf -rw-r--r-- 1 root root 544636 Aug 27 2009 DejaVuSansCondensed.ttf -rw-r--r-- 1 root root 329412 Aug 27 2009 DejaVuSans-ExtraLight.ttf -rw-r--r-- 1 root root 523804 Aug 27 2009 DejaVuSans-Oblique.ttf -rw-r--r-- 1 root root 622280 Aug 27 2009 DejaVuSans.ttf -rw-r--r-- 1 root root 294244 Aug 27 2009 DejaVuSerif-BoldItalic.ttf -rw-r--r-- 1 root root 306532 Aug 27 2009 DejaVuSerif-Bold.ttf -rw-r--r-- 1 root root 293472 Aug 27 2009 DejaVuSerifCondensed-BoldItalic.ttf -rw-r--r-- 1 root root 282092 Aug 27 2009 DejaVuSerifCondensed-Bold.ttf -rw-r--r-- 1 root root 301268 Jan 22 2011 DejaVuSerifCondensed-Italic.ttf -rw-r--r-- 1 root root 295840 Aug 27 2009 DejaVuSerifCondensed.ttf -rw-r--r-- 1 root root 301828 Aug 27 2009 DejaVuSerif-Italic.ttf -rw-r--r-- 1 root root 328908 Aug 27 2009 DejaVuSerif.ttf
んーと、 DejaVu しかない。そうですか。CentOSとかだと sazanami とか入ってるんだけどな。
ということで、フォントを追加する。
せっかくなのでIPAのフォントを入れてみる。再頒布とかはしないので特にライセンスは気にせずに。
/usr/share/fonts/ipa に ipag.ttf を配置して、フォントの指定を書き換え。
38 define('ZBX_FONTPATH', '/usr/share/fonts/ipa'); // where to search for font (GD > 2.0.18) 39 define('ZBX_GRAPH_FONT_NAME', 'ipag'); // font file name 40 define('ZBX_GRAPH_LEGEND_HEIGHT',120); // when graph height is less then this value, some legend will not show up 79 define('ZBX_FONT_NAME', 'ipag'); ←追記
で、ブラウザから確認すると…おぉ変わった。
一瞬ハマったのが、フォント名の指定のところで、コメントに "font file name" と書いてあるので、
'ipag.ttf' と指定したところ何も表示されなくなりました。。拡張子はいらないみたいです。
ま、兎にも角にもちゃんと日本語が表示されるようになりました。
おしまい。
0 件のコメント:
コメントを投稿