2024年3月21日 | オーバーホール |
2024年3月19日 | 分針 |
2024年3月17日 | グランドセイコー |
2024年2月12日 | Bluetoothマウス切断 |
2024年2月11日 | ANKER SoundCore |
2024年2月10日 | ノート給油 |
2024年2月9日 | 防水温湿度計 |
2024年2月8日 | ハクキンカイロ発熱量 |
2024年1月28日 | 出勤セット |
202年1月7日 | バイク保険更新 |
http://oss.oetiker.ch/mrtg/
Multi Router Traffic Grapherの略。 私が使い始めたのは2002年ぐらいだが、 開発は1995年に始まって、今でも時々アップデートされている。 元々はsnmpで読み出したパケット数を元に、 トラフィックをグラフ化するプログラム。 そのためNICを指定するのが一番簡単だが、 外部ブログラムとの連携も可能だ。 したがって、大抵の物をグラフ化できる。 たとえば、
といった感じである。 外部プログラムは、 要するに測定したい二つの数字を普通にテキストで返してくればいい。 shでもperlでもrubyでも、なんでもあり。 リモートのzfsで作ったファイルシステムの使用量を見るなら、
#!/bin/sh ssh jupiter zfs list -H pool | /usr/local/bin/gawk ' { tail1 = $2; gsub("[0-9.]","",tail1); gsub(".$","",$2); tail2 = $3; gsub("[0-9.]","",tail2); gsub(".$","",$3); if (tail1 == "K") $2 = 1024 * $2; if (tail1 == "M") $2 = 1024 * 1024 * $2; if (tail1 == "G") $2 = 1024 * 1024 * 1024 * $2; if (tail1 == "T") $2 = 1024 * 1024 * 1024 *1024 * $2; if (tail2 == "K") $3 = 1024 * $3; if (tail2 == "M") $3 = 1024 * 1024 * $3; if (tail2 == "G") $3 = 1024 * 1024 * 1024 * $3; if (tail2 == "T") $3 = 1024 * 1024 * 1024 *1024 * $3; print $2; printf("%d\n",$3); system("ssh jupiter uptime"); print $1; }'
といった具合である。 いや、久しぶりにgawkを使った。 最近のマシンは速いので、こんな代物でも十分役に立つ。