お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2008-10-18 13:38:01

78tch
新しいメンバ
登録日: 2008-10-18

RRDToolのグラフで日本語を表示させるには?

お世話になります。
社内のネットワークトラフィックを監視するために、「 RRDTool  + Cacti 」が動く環境構築をしようとしています。
Ubuntu-ja-8.04.1-desktop-i386 を試してみたところ、非常に簡単に稼動させることができ、たいへん感動しました。
ひとまず目的は達成できているのですが、1点だけ困ったこととして、RRDTool で描画されるグラフ中のラベルの文字が、日本語は文字化けして正常に表示できないという症状があります。
白四角「□」などになってしまうのです。(英語はきちんと表示されます。)
Cacti のRRDTool 文字フォント指定欄で日本語フォントを指定しても、フォントは切り替わるのですがやっぱり文字化けします。
日本語を表示させるにはどうすればいいのか、ご教示いただければ幸いです。
よろしくお願いします。

●上記の環境は以下です。
1.Ubuntu-ja-8.04.1-desktop-i386 のCDを使って、ThinkPadX31 にOSインストール。
2.mysql-serverをインストールし、手動起動する。
 $ sudo apt-get install mysql-server
 $ sudo /etc/init.d/mysql restart
3.cactiをインストール
 $ sudo apt-get install cacti
4.ブラウザで、http://localhost/cacti/ にログイン(admin/admin)。正常に稼動する。
5.監視対象のDevicesで日本語を使うと、設定画面やグラフツリーのWebページ上の表示ではちゃんと日本語表示されるものの、グラフ上のラベル表示の日本語は文字化けをする。
6.console>>Configuretion>>>Settings の、◎Visual>Default RRDTool 1.2 Fonts>>Title Font File
で、日本語フォントに設定してみても、フォントは変わるものの、文字化けは治りません。
●以上

オフライン

 

#2 2008-10-19 14:54:53

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: RRDToolのグラフで日本語を表示させるには?

rrdtool 1.2系からはfreetypeを使ったレンダリングになっているようなので,
グラフ作成時に、適切なフォント指定すれば日本語表示されるようです。

>日本語フォントに設定してみても、フォントは変わるものの、文字化けは治りません
http://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html を見ると、
フォントの指定を環境変数で指定できる様なので、フォント変えて試してみては?
ttf-vlgothic, ttf-sazanami-*, ttf-kochi-*, は、リポジトリにあります。

最後の編集者: si (2008-10-19 14:55:46)

オフライン

 

#3 2008-10-19 16:25:24

78tch
新しいメンバ
登録日: 2008-10-18

Re: RRDToolのグラフで日本語を表示させるには?

78tchです。si さま、レスありがとうございます。
残念ながら私の力量ではエッセンスすぎて解決までたどり着けませんでした。
もうすこし噛み砕いてご教示いただけますと大変助かります。

今、手元にDebian4環境しかなかったのですが、試行錯誤したことを報告します。
最初に、apt-cache show rrdtool したところ、バージョンは1.2.15-0.3 が入っていました。
また、kochi フォントも /usr/share/fonts/truetype/ の中にありました。

まず、教えていただいたページをみるに、「RRD_DEFAULT_FONT」という環境変数を指定すればいいのかな?ということで、とりあえず
# printenv
してみましたがそんな変数はありませんでしたので、
# export RRD_DEFAULT_FONT=/usr/share/fonts/truetype/kochi/kochi-gothic.ttf
などとしましたが、これではそもそもフォントが切り替わりませんでした。
Cacti のSettings ページで指定した時は、いちおうフォント自体は切り替わりましたので、ちょっと私のやり方が悪かったようです。

次に、crond で poller.php が走っているわけですから、このpoller.php の中でrrdtool コマンドを呼び出しているところにコマンドオプションとして指定するのかな?ということで、
poller.php をみてみたところ、単純に/usr/bin/rrdtool を実行している行はなく、お手上げでした。

# man rrdtool も読んでみましたが、RRD_DEFAULT_FONT を指定するポイントというのが見つけられませんでした。

以上です。すみません。

最後の編集者: 78tch (2008-10-19 16:26:58)

オフライン

 

#4 2008-10-19 20:52:16

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: RRDToolのグラフで日本語を表示させるには?

>もうすこし噛み砕いてご教示いただけますと大変助かります
ごめんなさい。
Fedoraで使っているのですが、バージョンが1.3に上がり、何もしなくとも日本語表示できてしまうようになってしまい、昔の苦労をすっかり忘れてしまいました。

$ rpm -q rrdtool
rrdtool-1.3.3-1.fc9.x86_64

コード:

#!/usr/bin/env ruby

require "RRD"

@rrd = "/var/www/rrd/pc-mon.rrd"
@img = "/var/www/rrd/html/"
@pre = "day"
@start = "-86400"

def cpufreq_gr()
        RRD.graph(
                "#{@img}#{@pre}-cpufreq.png",
                "--start", "#{@start}",
                "--imgformat", "PNG",
                "--width","600",
                "--height","50",
                "--title", "CPU 周波数(#{@pre})",
                "--vertical-label","GHz",
                "DEF:freq0=#{@rrd}:cpu0freq:AVERAGE",
                "DEF:freq1=#{@rrd}:cpu1freq:AVERAGE",
                "CDEF:a=freq0,1000,/",
                "CDEF:b=freq1,1000,/",
                "AREA:a#00FF00:CPU0 Freq(GHz)",
                "GPRINT:a:LAST:last %1.3lf",
                "GPRINT:a:AVERAGE:avg %1.3lf",
                "GPRINT:a:MIN:MIN %1.3lf",
                "GPRINT:a:MAX:MAX %1.3lf%S\\n",
                "LINE:b#FF00FF:CPU1 Freq(GHz)",
                "GPRINT:b:LAST:last %1.3lf",
                "GPRINT:b:AVERAGE:avg %1.3lf",
                "GPRINT:b:MIN:MIN %1.3lf",
                "GPRINT:b:MAX:MAX %1.3lf%S\\n")
end

http://si.dip.jp/rrdtool/day-cpufreq.png

## 追加 ##
Ubuntuでも、最新 stable 版 rrdtool-1.3.4 を make and install してみましたところ、
上記コードで、日本語表示できました。

最後の編集者: si (2008-10-19 22:11:30)

オフライン

 

#5 2008-10-19 22:21:01

78tch
新しいメンバ
登録日: 2008-10-18

Re: RRDToolのグラフで日本語を表示させるには?

78tchです。si さま、何度もありがとうございます。
これはどのファイルに対してですか?手元の環境では、/var/www/rrd/ というディレクトリ自体がありませんでした。対象も60台ぐらいあるので、グラフ毎にテキストを手で直すのはつらいです・・・
しかし、確かに公式ページをみますとバージョン1.3.4 が最新のようですね。ubuntu のパッケージのバージョンが1.3系にあがると自然と解決するんでしょうかねぇ。
ubuntu で構築しようと思ったのは、Cacti 構築までのインストール手順が極めて容易だったからでした。他にCentOS5.2とDebian4.0を試しましたが、ubuntu がもっとも簡単でした。
ちなみに、今月のSoftware Design 誌に、ZABBIX というのが紹介されていました。記事上のグラフでは日本語が表示されていましたので、こっちも試してみます。

進展があればご報告したいと思います。
いろいろご教示いただきましてありがとうございます。

最後の編集者: 78tch (2008-10-19 22:58:45)

オフライン

 

#6 2008-10-19 22:33:00

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: RRDToolのグラフで日本語を表示させるには?

>ubuntu のパッケージのバージョンが1.3系にあがると自然と解決するんでしょうかねぇ。
だと思います。
rrdtool は、需要が多いと思うのですが、何故、Ubuntu のバージョンが 1.2系 なんですかね?
Debianは、1.3系の deb あるみたいですね。
要求を出せば、Ubuntu でのバージョンも上がるんでしょうかね? ー> Ubuntu JP メンバの方々

オフライン

 

#7 2008-10-20 02:01:26

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: RRDToolのグラフで日本語を表示させるには?

今まで、野良パッケージの作り方を、調べようとして、サボってましたが、
ついでなので、調べて、rrdtool-1.3.4 のパッケージを作ってみました。
ネットで検索し、半ばワケも分からず作りましたので、
チェックしてくれる人がいることを期待して、手順をアップします。

*debに必要なパッケージのインストール
$ sudo apt-get install dpkg-dev fakeroot fdupes cdbs \
docbook-xsl debhelper build-essential dh-make devscripts \
patch diff patchutils  debian-policy dictionaries-common-dev \
dput lintian gnupg

*ファイル検索ツールインストール
$ sudo apt-get install apt-file
$ sudo apt-file update

* rrdtool パッケージの作成
方針:rrdtool-1.2.19のソースパッケージを使い、rrdtool-1.3.4 のパッケージを作る

1:作業エリア作成
$ mkdir work
$ cd work

2:rrdtool-1.2.19 ソース取得
$ apt-get source rrdtool

3:rrdtool-1.3.4のソース取得
$ wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.3.4.tar.gz

4:パッケージ作成準備
$ cd rrdtool-1.2.19
$ uupdate -v 1.3.4 ../rrdtool-1.3.4.tar.gz

5:ファイルの編集
$ cd ../rrdtool-1.3.4
ファイルdebian/rules の version が、1.2.19 のままで、作成途中でエラーが出るので修正
version    := 1.3.4

6:依存ファイルインストール
$ sudo apt-get install groff cgilib libart-2.0-dev tcl8.4-dev libxml2-dev \
python-all-dev ruby ruby1.8-dev zlib1g-dev libpng12-dev libfreetype6-dev \
libcairo2-dev libpango1.0-dev

7:パッケージ作成
$ debuild -i -us -uc -b

オプションは:The typical command line options to build only the binary package(s) without signing the .changes file (or the non-existent .dsc file):
だそうです。

エラーなく終了すれば、work 以下に、deb パッケージができてます。
$ lcd ~/work
$  ls *.deb
librrd2-dev_1.3.4-1_amd64.deb  librrds-perl_1.3.4-1_amd64.deb  rrdtool_1.3.4-1_amd64.deb
librrd2_1.3.4-1_amd64.deb      python-rrd_1.3.4-1_amd64.deb
librrdp-perl_1.3.4-1_all.deb   rrdtool-tcl_1.3.4-1_amd64.deb

最後の編集者: si (2008-10-20 03:41:15)

オフライン

 

#8 2008-10-20 11:18:24

78tch
新しいメンバ
登録日: 2008-10-18

Re: RRDToolのグラフで日本語を表示させるには?

78tchです。お世話になっております。
さっそくZABBIX を試してみました。Software Design 誌ではRHEL(CentOS?) での構築が紹介されていましたが、ubuntu で構築したところ、「 RRDTool + Cacti 」の手順とほぼ同じでインストールできました。驚いたのは、ログインユーザの設定で言語を選べるようになっており、「Japanese」を設定するとWeb管理画面のメニューが日本語になります。
「これはイケるかも!?」と思ってさっそく日本語名で監視対象追加をしようとしたら、
incorrect characters used for hostname
となり、日本語は使えないようでした・・・

クライアントソフトを監視対象に入れて監視する、ということではネットワーク機器の監視というよりは、ホストの監視、という感じですね。
SNMP監視もできるのですが、監視対象の登録のし易さとグラフの美しさが、「 RRDTool + Cacti 」と比べてもう一歩な感じでした。

工数の少なさ、というのもひとつの選択基準でしたので、今回は「 RRDTool + Cacti 」でこのまま行こうと思います。
当初の目的は達成できていますので、日本語表示はパッケージでの対応を待つことにします。
ありがとうございました。

最後の編集者: 78tch (2008-10-22 09:49:40)

オフライン

 

Board footer

Powered by FluxBB