スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加

クライアントからWebサーバの稼動状況を監視する

我が家のWebサーバは、下記サイトよりドメインを取得しているのですが、固定IPではないため、ISPから割り当てIPアドレスが変更されると途端に我がWebサイトが見れなくなります。

無料・ダイナミックDNS(DDNS)サービス - ieServer.Net

IPアドレスが変わったら上記サイトよりアドレス変更の手続きを行う必要がるのですが、IPアドレスがいつ変わったのか常にチェックするのは面倒です。というわけで監視するプログラムをJavaで作ってみました。

作りとしてスマートではないのですが・・・。
プログラムは次の通りです。

package apl;

import java.net.*;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DeadChkServer {

private final static int TIME_OUT = 5000; // 接続タイムアウト時間(ミリ秒)
private final static int RETRY_TIME_OUT = 30000; // 接続タイムアウト時間(ミリ秒)

/**
* @param args[0] URL
*/
public static void main(String[] args) {

while(true) {
try {
//URL url = new URL(args[0]);
//URL url = new URL("http://www.yahoo.co.jp/");
URL url = new URL("http://www.ieserver.net/");
URLConnection urlc = url.openConnection();
// キャッシュを無効にする
urlc.setUseCaches(false);
// コネクションタイムアウト時間の設定
urlc.setConnectTimeout(TIME_OUT);
// 接続
urlc.connect();
System.out.println(getLogTime() + ":" + urlc);
}catch(SocketTimeoutException e) {
System.out.println(getLogTime()+ ":" + e);
break;
}
catch(Exception e) {
System.out.println(getLogTime()+":" + e);
break;
}

// リトライ待ち
try {
Thread.sleep(RETRY_TIME_OUT);
}catch(Exception e) {
System.out.println(getLogTime() + ":" + e);
}
}
}

/**
* 指定フォーマット日付取得
* @return 日付文字列
*/
private static String getLogTime() {
String sRet = null;
// SimpleDateFormatオブジェクトを生成
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
// 現在時刻を指定フォーマットで整形
sRet = sdf1.format(new Date());
return(sRet);
}
}

これを実行するには、コマンドプロンプトから以下のように実行します。

>java apl.DeadChkServer http://www.ieserver.net/


これは単にSystem.out.printlnで結果を出力するだけですが、IPアドレスが変わったらメールを送信するようなプログラムにすれば、便利だと思います。

それ以前に、自動的にIPアドレスの設定を変更するようにした方がいいと思いますが、参考までに。
このエントリーをはてなブックマークに追加

コメントの投稿

非公開コメント

プロフィール

白鯖

Author:白鯖
安い寄せ集めの部品で構築し、CentOS5をインストールしました。主に、Webサーバ、アプリケーションサーバとして運用中。ハードの知識はあまり無いプログラマですが、全部自前で作るのは、手間はかかるけど、レン鯖より面白いです。

ハードウェア構成

カテゴリー
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
Max TDP控え目なCPU
安くて静音なクーラー
検索フォーム
ユーザータグ
RSSフィード
はてな
スポンサード リンク
おすすめ書籍
twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。