婚活・恋活・再婚マッチング【マリッシュ(marrish)】
Skypeを使用しない独自のシステム【ECCオンラインレッスン】
リゾートバイト派遣業界No1の求人サイト【リゾバ.com】
次はあなたが出会う番です♡【ラブサーチ】

HTAでサーバーサービス死活監視アプリのつくり方。

必要なもの

1:Gow(Unix系のコマンドをwindowsでも使用できるようにするアプリケーション)
2:上記にwget.exeが入ってなかったらwget.exeも入れる。
3:メモ帳などテキストエディタ。

サービス死活監視の方法

wgetコマンドで返ってくるhttp status codeをInstr()でbooleanで判定しその結果をIFを使って条件分岐
IFでのそれぞれの結果をtext areaにjavascriptで書き込む、おまけで正常だったら青緑っぽい色で表現、200 ok以外
が返ってきたら赤色で表示する。

wgetコマンドではファイルのダウンロードをしないので-S –spiderオプションをつけます。
SSL通信HTTPSでも証明書なしで無理やりwgetで確認するため–no-check-certificateをつけます。
単にICMP PINGなどでノードが生きてるか確認するだけならPINGに変えてください。

※参考コードとして公開してるので責任は一切負いません。

HTAとは

VBスクリプトとHTML、CSS、javascriptで作成する簡易的なアプリです。

[html]
<html>
<head>
<title>wget</title>
<link rel="StyleSheet" href="./base.css" type="text/css">
</head>
<body>
<div class="leftbox">
<h3>サービス監視</h3>
<form name="form1">
<p><input type="button" value="すべて実行" id="wAll" onClick="go_wget1(); onClick="go_wget2();  " style="width:240px;height:50px"></p>
<p><input type="reset" value="初期化" style="width:240px;height:50px"></p>
<p><input type="button" value="監視対象のサービス名など" style="width:240px;height:50px"
onClick="go_wget1()" />
<p><textarea name="wget1" id="wget1"cols=30" rows="1"></textarea></p>
</form>
</div>
</form>
</div>

<script language="VBScript">
Sub window_onLoad
window.resizeTo 580,1040
end sub

Dim WshShell, oExec
Set WshShell = CreateObject("WScript.Shell")

Sub go_wget1()
exCommand = "echo off"
exCommand = "wget -S –spider –no-check-certificate http://xxxx.xxxxx.xxxxx"
Set oExec = WshShell.Exec(exCommand)
R = oExec.StdErr.ReadAll
ST = InStr(R,"200 OK")
If ST>0 Then
document.form1.wget1.value = "HTTP Status is code 200 OK."
document.form1.wget1.style.backgroundColor="#1199BB"
document.form1.wget1.style.Color="#FFF"
else
document.form1.wget1.value = "FALSE."
document.form1.wget1.style.backgroundColor="#FF0000"
document.form1.wget1.style.Color="#FFF"
End If
End Sub

Sub go_wget2()
exCommand = "echo off"
exCommand = "wget -S –spider –no-check-certificate https://xxxxx.xxxxx.xxxxx"
Set oExec = WshShell.Exec(exCommand)
R = oExec.StdErr.ReadAll
ST = InStr(R,"200 OK")
If ST>0 Then
document.form1.wget2.value = "HTTP Status is code 200 OK."
document.form1.wget2.style.backgroundColor="#3399BB"
document.form1.wget2.style.Color="#FFF"
else
document.form1.wget2.value = "FALSE."
document.form1.wget2.style.backgroundColor="#FF0000"
document.form1.wget2.style.Color="#FFF"
End If
End Sub
</script>

<script "text/javascript">
setInterval("go_wget1()",600*1000);
setInterval("go_wget2()",600*1000);
</script>

</body>
</html>

[/html]

婚活・恋活・再婚マッチング【マリッシュ(marrish)】
Skypeを使用しない独自のシステム【ECCオンラインレッスン】
リゾートバイト派遣業界No1の求人サイト【リゾバ.com】
次はあなたが出会う番です♡【ラブサーチ】