初心者も簡単ブログにコピペだけ!1クリック高単価7〜42円。登録無料最短1分でスタート。

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>
<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>


ダイレクト特集ページ用バナー(ダウンロード版)

初心者も簡単ブログにコピペだけ!1クリック高単価7〜42円。登録無料最短1分でスタート。