Skip to content
Raspberry Pi system status graph
Shell HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cron.d
util
.gitignore
LICENSE
README.md
copyright.txt
footer.html
header.html
makeboot.sh
makecpu.sh
makeeth0.sh
makelo.sh
makemem.sh
makemmc.sh
makeroot.sh
makesda.sh
makeswap.sh
maketemp.sh
makewlan0.sh
rpgraph.conf
rpgraph.html
rpgraph_buildchart.sh
rpgraph_logger.sh
screenshot.png

README.md

rpgraph

Raspberry Pi system status graph. Generate static html with Google charts, by bash, awk and cron.

No warranty, at your own risk.

デモサイトはこちら。 / Live demo here.

mrtgもどき。 グラフの描画は、クライアントサイドのライブラリ Google charts を使用する。
サーバー側は、シェルスクリプトと、awk で、ロギングと文字列操作をしているだけである。 software requirement は一切無し。 システムに入っている、bash, awk, cron (と、http サーバ)のみで動作する。 プロセスは、cron が起動するので、常駐プロセスはない。 また、静的 html を生成するだけなので、http サーバ機能も ない。

使い方によってはSDカードの寿命を縮めるので注意。

Raspberry Pi の Raspbian 用に作成したが、温度測定以外は他のLinuxでも動くかもしれない。   基本的にはHDDでの運用を想定している。 /dev/sda の状態も取りに行っているので、必要に応じて ここは見に行かないように変える必要があるかもしれない。

screenshot

使い方 / Usage

  1. ファイル一式をどこかに展開。 例: /opt/rpgraph
  2. rpgraph.conf をシステムに合わせて編集。
  3. rpgraph_buildchart.sh の中で、必要ないものをコメントアウト。
  • maketemp.sh CPU温度センサー
  • makesda.sh USB接続されたHDD
  1. cron.d に入っているサンプルのファイルのパス、ユーザーを合わせて /etc/cron.d にコピー。

  1. Unzip or clone source somewhere, e.g. /opt/rpgraph
  2. Edit rpgraph.conf for your environment
  3. Comment out some functions in rpgraph_buildchart.sh
  • maketemp.sh CPU sensor of Raspberry Pi
  • makesda.sh USB HDD
  1. Edit scripts in cron.d, and copy to /etc/cron.d

これで、5分ごとにシステム状態のロギングと、html の作成が行われる。

www-data ユーザなどの pi 以外のユーザで動作させる場合は、vigr で video グループにwww-data ユーザを追加する必要があるかもしれない。 温度測定(vcgencmd)に必要な権限。

うまく動かない場合は、 /var/log/syslog にcronのエラーログが出ているので、それを見て対応する。

ファイルの説明

rpgraph_logger.sh

cronで5分ごとに起動して、システム状態のログを記録する。ログは rpgraph_raw.txt および rpgraph_diff.txtに記録される。

Record system data on rpgraph_raw.txt and rpgraph_diff.txt, launch by cron.

rpgraph_buildchart.sh

rpgraph_logger.sh の生成したログをもとに、htmlを生成する。 html の中には JavaScript で書かれた、Google chartsのコードが入っている。 内部でmake*.htmlを呼び出していて、html生成はこれらのmake-ファイルで行われる。

Generate static html with Google charts from rpgraph_raw.txt and rpgraph_diff.txt.

You can’t perform that action at this time.