(その5)USBでウォッチ・ドッグする
サーバにつきものなのが突然の故障。本番稼働中はネットワーク経由の監視が一般的ですが、調子の悪い機体や検査中はかえってメンドウ。
ワタシ故障しました!と表示されたらラクですね、そんなわけでUSBウォッチ・ドッグを作ってみました。
ウォッチ・ドッグは古典的な手法ながらも、コンピュータやMCUには欠かせない存在。
「番犬」の名から監視装置に思われがちですが、じつは単なるタイマーで、制限時間になるまでひたすらカウント、オーバーしたら障害発生と判断します。
そのためシステムはときどきリセット信号を発生し、タイマーをゼロに戻しています。
制限時間を超えると再起動やメモリダンプをおこなってくれますが、電源をはじめ深刻な障害が起きるとウォッチ・ドッグも停止…
突然フリーズした!なんてときは、残念ながら期待できません。マザーボードに同居している以上しかたのない話ですね。
そこでMCUでHIDを作り、外付けのUSBウォッチ・ドッグを作成、およそ1秒に1回「割り込み」を発生させ、応答があれば正常、なければエラーと判断します。
HIDはマウスやゲームパッドなどの総称で、ほとんどのOSで標準サポートされているためドライバ不要。挿すだけで使えるのが魅力です。
割り込み、と言っても負荷はごくわずか。
マウスでも0.01秒単位でおこなえるようになっているぐらいですから、毎秒1回程度でシステムに負担をかけることはないでしょう。
エラー時は、
・連続エラー
・累積エラー
の2つを加算し、連続60回(=約1分間)応答がなければ発報する仕組み。
また、60秒未満でもエラーが多発するようなら故障の前触れやスペック不足が考えられるので、累積エラーにもリミットをつけておきました。
また、フリーズや再起動によって「単に通電されているだけ」状態になったら即・発報! なサドンデス条件も付けくわえ、ブザーも鳴るようにしました。
直径1cm足らずのブザーですが、救急車のサイレンに匹敵する83db(デシベル)と、頼もしくもやかましい一品です。
サーバを傷つけないようシリコンカバー付きのケースをチョイス、およそ8cm×4cmにムリヤリ押し込みます。
使い方はカンタン、USBポートに接続し赤いスタートボタンを押すだけ。お子様でも安心してご利用いただけます。
百聞は一見にしかず。刮目Pleaseプリーズ!
ACアダプタやバッテリーでセルフパワーにすれば、シャットダウンにも対応できます。とりあえず自宅サーバにつないで様子見することにしましょう。
HIDいとをかし度:★★★★☆
夜中の83db大迷惑度:★★★★★