morenet
自宅用Linuxファンレスサーバ構築時のメモです。MediaTombをBRAVIAのDLNA機能に対応させるパッチは→こちらの記事から。
CPUはAtom N270、マザーボードはIntel D945GSEJT。ディストリビューションはUbuntu 9.04 Server → 10.04 Serverです。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[自宅サーバ] サーバの温度をグラフ化してWebブラウザでみる
前も書いたけどファンレス故に温度が気になる
気になりすぎて昼間仕事にならない・・・ことは無いけどw
あと、一日で温度がどのように遷移するかも見てみたい。

ということで、温度をグラフ化してWAN側からWebブラウザで確認できるようにする。

まず温度の遷移を記録するのは、先日インストールしたsensorsをcronで1時間置きに起動し、温度のログを記録することにした。

$ sudo vi /etc/cron.hourly/rec_temp

#!/bin/sh
tail -n 47 /var/log/temparature.log > /var/log/tmp
sensors | awk '{if ($2 == "Temp:" && $1 != "AUX"){printf("%s",$3); if ($1 == "Sys") printf(" "); else printf(" \n");}}' | sed -e "s/[^0-9. ]*//g" >> /var/log/tmp
mv /var/log/tmp /var/log/temparature.log


2010/9/5追記:
Ubuntu 10.04ではsensorsの出力文字が変わったので、3行目をこんな感じに。

sensors | awk '{if ($1 ~ "^temp" && $1 != "temp3:"){printf("%s",$2); if ($1 == "temp1:") printf(" "); else printf(" \n");}}' | sed -e "s/[^0-9. ]*//g" >> /var/log/tmp


ログの中身はこんな感じになる。

$ more /var/log/temparature.log
45.0 52.5
45.0 52.5
45.0 54.0
45.0 53.0



次は、グラフ化の方法を検討した。
なんとなく、PHPならできそうな気がして調べてみるとJpGraphというPHPライブラリが配布されていることを知った。
まず、AsialさんよりJpGraph本体をダウンロードする。

$ wget http://www.asial.co.jp/jpgraph/download.php?download=jpgraph-1.27.tar.gz


※この記事を書いている現在は、jpgraph-3.0.7.tar.gzが配布されている。

READMEを読むと以下のものが必要らしい。

Requirements:
-------------
Miminum:
* PHP 4.4.1 or higher
(earlier versions might work but is unsupported)
* GD 2.0.30 or higher
(earlier versions might work but is unsupported)

Recommended:
* PHP 4.4.9
* PHP Builtin GD 2.0.34 library


PHP5はインストール済みだが、PHP Builtin GDはインストールしていなかった。&apacheの再起動。

$ sudo aptitude install php5-gd
$ sudo /etc/init.d/apache2 restart


またREADMEを見ると
For a global site installation you should copy the files to somewhere in the PHP search path.
とのことなので、search path(include_path)を調べる。
調べる方法は、~/public_html/phpinfo.phpに以下の記述をして、Webブラウザで見る。

<?
php phpinfo();
?>


表示された情報の内、include_pathは以下の通りだった。

.:/usr/share/php:/usr/share/pear


src/以下のファイルをinclude_pathにコピーしてapache再起動。(ディレクトリは無かったので作った)

$ sudo mkdir /usr/share/php
$ sudo cp -r src/* /usr/share/php/
$ sudo /etc/init.d/apache2 restart


グラフ内で日本語が使えるようにフォントをインストール。

$ wget http://info.openlab.ipa.go.jp/ipafont/fontdata/old/IPAfont00203.zip
$ unzip IPAfont00203.zip
$ sudo mkdir -p /usr/share/fonts/ja/TrueType/
$ sudo cp IPAfont00203/*.ttf /usr/share/fonts/ja/TrueType/


$ sudo vi /usr/share/php/jpg-config.inc.php

DEFINE("MBTTF_DIR","/usr/share/fonts/ja/TrueType/");



これで環境の準備はOK。動作チェックしたいならsrc/Examples/にいっぱいソースがある。

次にグラフを表示するphpスクリプトの作成。
src/Exampleの下の例を見ながらやればそう難しくはない。

/var/log/temparature.logを読み込んで、CPUとSystemの二日分の温度を折れ線グラフにして表示するスクリプト(temp.php)はこんな感じになった。

表示するとこんな感じ。

スポンサーサイト

テーマ:自宅サーバー構築日記 - ジャンル:コンピュータ

コメント
コメント
コメントの投稿
URL:
本文:
パスワード:
非公開コメント: 管理者にだけ表示を許可する
 
トラックバック
トラックバック URL
トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。