サービス監視

一番手っ取り早いのはLinuxあたりでifup/ifdownを繰り返してIPアドレスが取得できなかったらエラーとすることなのですが。
エミュレータがあると便利かなぁ、と思っていろいろ探してみたのです。
Net::DHCP::Watch - A class for monitoring a remote DHCPD server. - metacpan.org
DHCPサーバのローカル上で、サービスを監視するっぽい。ISC DHCPDを普通に使っている環境とかだと良いかも。
だけど、今回はアプライアンスサーバの監視ですから!残念!…(´・ω・`)/~~
なんとかすればリモートのDHCPサービスも監視できそうな感じなんだけどなぁ。
Net::DHCPClient - A DHCP Client API - metacpan.org
クライアントエミュレータ、になるのかなぁ。
DISCOVERは出してくれることは確認できたのだけど、REQUEST以降の処理ができない?
Abortedで異常終了しちゃう。
なんなんだろう。
追記。わかったっぽい。IPアドレスの16進数を一度全部つなげて、さらに全体を10進数に直さないとエラーになる。
例えばクライアントの取得予定IPアドレスを"192.168.1.100"として試験する場合、このIPアドレス
"C0.A8.01.64"
になるのだけど、これを
"C0A80164"
にして、さらにこれを10進数に直す、と。すると
"3232235876"
が算出されるので、これを利用する。
めんどうくさー。
(でもシェルスクリプトとかでの計算はかなり楽になる)
で。問題なのは、パケット投げっぱなしで、サーバからのリターンは確認しない、ということ。
DHCPサーバの負荷試験にはいいのかもだけど、動作確認にはならないなぁ、とc⌒っ ´ρ`)っφ
(とはいえ、DHCP負荷試験ができるだけでもありがたいのですが…)