アプリ版:「スタンプのみでお礼する」機能のリリースについて

はじめまして。

Webサーバの監視について教えていただければと思います。
Apacheを使ってWebサーバを立てて、インターネットで外部から見れることを確認しました。

このWebサーバの応答速度を24時間監視し続けたいです。

具体的には、HTTP(80)とHTTPS(443)に一定感覚でリクエストを投げ、
応答に3分以上かかったら遅延の発生とみなし、管理者にメールを出す。
監視するサーバはWebサーバ2台です。

監視用のPCはWebサーバとは別途、WindowsPCを24時間稼動させます。
(LINUX機はありません)

制限事項として、以下のものがあるとして、何かよいツールはありますでしょうか。
・監視対象のサーバにエージェントは入れられない
・外部のサイトのサービスで監視するようなのはNG
・できるだけ無償で行いたい

Nagios、opManager辺りができそうなのですが、それでも上のことだけをやるには
オーバスペックな気がします。他に何かソフトがありましたら教えて欲しいです。

A 回答 (3件)

無償であれば、ご自身でVBSなどをお使いになればできると思います。



以下は、特定のURLにアクセスしてリターンコードで判断するサンプルです。
Cscript で実行すると1分おきにアクセス結果をコンソールに返します。
連続3回目の失敗でメール処理になります。 サンプルにはその処理は書いてません。

詳細はプログラムのカテゴリで質問されれば、解決できると思いますよ。

CONST URL="http://www.xxxxxx.com"
Dim oXMLHTTP
Dim oStream
Dim resData, ErrCount
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.3.0")
oXMLHTTP.Open "GET", URL, False
oXMLHTTP.Send

Do
If oXMLHTTP.Status = 200 Then
Wscript.Echo "ok:" & URL & vbTab & Now
ErrCount = 0
Else
resData = "Error returnCode:" & oXMLHTTP.Status
Wscript.Echo resData
ErrCount=ErrCount + 1
If ErrCount > 2 Then
Call SendMail()
End If
End If
Wscript.Sleep 60000
Loop

Sub SendMail()
' 送信処理のコードか、Win7などのOS標準のタスクスケジューラのメール送信機能を使う
Wscript.Echo "mail"
End Sub

参考URL:http://www.example-code.com/vbscript/http_getSta …
    • good
    • 0
この回答へのお礼

プログラム読みました。

なるほど、VBSでできるとは、感動です。
サンプルまで提示していただいて、ありがとうございます。

今日の朝から、ソフトの選定に試行錯誤していますが自作案も
一案として組み込もうと思います!

お礼日時:2014/03/14 12:57

1の回答の補足です。


プログラムとは別の視点の話です。

監視体制で万全を期すなら、物理的に離れた場所にある2台以上のパソコンから監視することで、監視する側のパソコンの故障やエリア停電などの電源障害や通信系故障をによる検出漏れを回避することも考えたほうがよいかもしれません。
    • good
    • 0

1のサンプルの訂正です。


いいかげんなサンプルでごめんなさい。

DO-LOOPのDOの位置が間違っていました。
サンプルだと2回目のループから判断が不正確になります。
ただしくは、oXMLHTTP.Open "GET", URL, False の上の行にDOがあるべきです。
    • good
    • 0
この回答へのお礼

いえいえ、訂正ありがとうございます。

まだ、ソフトの導入か自作かは決まっていませんが、
VBSならば、教えて頂いたスクリプトをベースにしてしまえば、
要件満たせそうなので、それで、担当の人と話してみます。

ありがとうございます。

お礼日時:2014/03/14 18:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!