1.6.4-1 から 1.6.9-1 にアップデートにしたらグラフ・スクリーン・MAPの文字が表示しない

はじめまして。

CentOS5.5にzabbix1.6.4-1を導入して監視を行っていました。
昨日1.6.4-1から1.6.9-1にアップデートした所、
概ね問題無く動いているように見たのですが、一点問題が発生しました。

アップデート手順に関しては、そのままrpm -Uvhでアップデートインストールを
しただけになります。

■zabbixパッケージ
zabbix-agent-1.6.4-1.el5.JP
zabbix-server-mysql-1.6.4-1.el5.JP
zabbix-web-1.6.4-1.el5.JP
zabbix-server-1.6.4-1.el5.JP
zabbix-1.6.4-1.el5.JP
zabbix-web-mysql-1.6.4-1.el5.JP
  ↓↓↓↓↓↓↓↓
zabbix-agent-1.6.9-1.el5.JP
zabbix-server-mysql-1.6.9-1.el5.JP
zabbix-web-1.6.9-1.el5.JP
zabbix-server-1.6.9-1.el5.JP
zabbix-1.6.9-1.el5.JP
zabbix-web-mysql-1.6.9-1.el5.JP

■MySQLとPHPのパッケーシ
mysql-5.0.77-4.el5_5.3
mysql-connector-odbc-3.51.26r1127-1.el5
mysql-server-5.0.77-4.el5_5.3
php-5.1.6-27.el5
php-bcmath-5.1.6-27.el5
php-cli-5.1.6-27.el5
php-common-5.1.6-27.el5
php-devel-5.1.6-27.el5
php-eaccelerator-5.1.6_0.9.5.2-4.el5.rf
php-gd-5.1.6-27.el5
php-mbstring-5.1.6-27.el5
php-mcrypt-5.1.6-15.el5.centos.1
php-mysql-5.1.6-27.el5
php-pdo-5.1.6-27.el5
php-pear-1.4.9-6.el5
php-pecl-memcache-2.2.5-2.el5.rf
php-snmp-5.1.6-27.el5

その問題とは、グラフ表示やスクリーン表示などの画像表示機能がありますが、
この画像内の文字が表示しない状態になったというものです。
画像内の文字全てではありませんが、アイテム系の文字は全て表示しないようです。

この件でご相談させて頂ければと思います。

不足な点がありましたら、追ってお知らせします。

宜しくお願いします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー kodai の写真

こんにちは。

1.6.4-1と1.6.9-1の差分はまだ調べられていないのですが、ひとまず思いつくところとしては、fonts-japaneseパッケージはインストールされているでしょうか?

ユーザー kanamono の写真

kodaiさん

ご回答有難う御座います。

> fonts-japaneseパッケージはインストールされているでしょうか?
fonts-japaneseパッケージは入っておりませんでした。

fonts-japaneseをインストールし、zabbix-serverを再起動した所、
無事文字が正常表示させる事が出来ました。ありがとうございます。

1.6.4-1の時はfonts-japanese不要で文字が表示しておりましたが、
1.6.9-1までの間にこのパッケージが必要になったのでしょうか?
(上記インストール後更新履歴を追ってみましたが、ちょっと追いきれませんでした)

ユーザー TNK の写真

調べてみたところ、1.6.4-1の頃からfonts-japaneseが必要だったようです。

具体的には、zabbix-1.6.4-1.el5.JP.src.rpm内の

 zabbix-1.6.4-frontend.patch
 zabbix-1.6.4-graph_description.patch

あたりを見て頂くとわかると思いますが、fonts-japaneseがインストールされていなかったのであれば、本来表示されるべき文字の一部が表示されていなかったと予想されます。

1.6.9-1になりますと、文字を表示する為に利用する関数の多くが、imagestring()からImageTTFText()に変更され、ZBX_GRAPH_FONTに指定したフォントを利用して表示するように変更されています。
これによって、それまではデフォルトのフォントで表示していたものを、ZBX_GRAPH_FONTで指定したものに切り替えられるようになり、日本語の表示も可能になったようです。

ということで、fonts-japaneseは、1.6.4-1の頃から必要であったが、明示的にパッケージの依存関係が指定されていなかったためインストールされておらず、1.6.9-1でより多くの箇所の表示方法が変更され顕在化したということだと思われます。
私の環境では、CentOSインストール時にパッケージカスタマイズを行わなかったため、元々fonts-japaneseがインストールされていたので気付きませんでした。

zabbix-webのパッケージの依存関係に明示的に追加しておいたほうが良いかもしれません。>ZABBIX-JPの方々

ユーザー kodai の写真

zabbix-webのパッケージの依存関係に明示的に追加しておいたほうが良いかもしれません。>ZABBIX-JPの方々

そうですね、依存関係に含めるようにしておきます。フォローどうもありがとうございました!

ユーザー kanamono の写真

TNKさんは書きました:
調べてみたところ、1.6.4-1の頃からfonts-japaneseが必要だったようです。

具体的には、zabbix-1.6.4-1.el5.JP.src.rpm内の

 zabbix-1.6.4-frontend.patch
 zabbix-1.6.4-graph_description.patch

あたりを見て頂くとわかると思いますが、fonts-japaneseがインストールされていなかったのであれば、本来表示されるべき文字の一部が表示されていなかったと予想されます。

1.6.9-1になりますと、文字を表示する為に利用する関数の多くが、imagestring()からImageTTFText()に変更され、ZBX_GRAPH_FONTに指定したフォントを利用して表示するように変更されています。
これによって、それまではデフォルトのフォントで表示していたものを、ZBX_GRAPH_FONTで指定したものに切り替えられるようになり、日本語の表示も可能になったようです。

ということで、fonts-japaneseは、1.6.4-1の頃から必要であったが、明示的にパッケージの依存関係が指定されていなかったためインストールされておらず、1.6.9-1でより多くの箇所の表示方法が変更され顕在化したということだと思われます。
私の環境では、CentOSインストール時にパッケージカスタマイズを行わなかったため、元々fonts-japaneseがインストールされていたので気付きませんでした。

zabbix-webのパッケージの依存関係に明示的に追加しておいたほうが良いかもしれません。>ZABBIX-JPの方々

詳細な調査大変感謝いたします。
おかげで理由も納得出来、安心して今後も使用出来ます。

文字化けの件ですが、記憶のみで申し訳ありませんが、2バイト文字が上手く表示出来ていなかったような記憶があります。
(うろ覚えで申し訳ありません)

尚、私のzabbixの環境はOpenVZ内にあるCentOSの最小構成だった為、fonts-japaneseがインストールされておりませんでした。

ご確認のほど有難う御座いました。

Zabbix-JPの方が動かれるようで、今後のアップデート時も安心して作業が出来そうです。
ご対応のほど宜しくお願い致します。