web-dev-qa-db-ja.com

ディスク容量不足の電子メールアラート

非常に簡単に言えば、Windows 2003サーバーから電子メールアラートをトリガーして、ディスク容量が少なくなったことを知らせようとしています。

誰かがこれを設定した経験がありますか?

ありがとうございました。

5
Arpanet

この1つのアイテムだけにアラートを作成するのではなく、Nagiosなどのセットアップを検討する必要があります。その後、好きなものを監視し、事前定義されたパラメータの範囲外にある場合に警告を発することができます。セットアップに必要な比較的短い時間は、手動で監視およびチェックする必要がなくなるため、返済以上のものになります。

3
John Gardeniers

オプションのカップル:

a)監視エージェント(nsclient ++など)をインストールし、監視システム(Nagiosなど)に監視させて、ディスク容量が少なくなったときに警告します。

b)毎分トリガーされ、適切なWMIカウンター(例:\\ LogicalDisk(C:)\\ Free Megabytes)を読み取り、CDO.Message WScriptオブジェクトを使用してメールを送信するスケジュールされたタスクを作成します(例: http ://blogs.technet.com/heyscriptingguy/archive/2004/11/29/how-can-i-attach-a-file-to-an-email-sent-using-cdo.aspx

2
Cawflands

nagios(またはopsviewのような派生物)およびnsclient ++の場合は+1。スクリプトを知っている場合は、必要なものに合わせて独自のカスタムプラグインを簡単に作成できます。

まだ監視していない場合は、今すぐ監視を開始してください。

0
natxo asenjo

ここを参照してください: Microsoft KB 324796

私はこれを私たちの環境で使用していますが、うまく機能しています。メッセージを送信するにはSMTPサーバーが必要ですが、同じボックスである必要はありません。

低メモリ(5分ごとにチェックして空きメモリが100 MB未満かどうかを確認)、プロセッサモニター(30秒ごとにチェックしてプロセッサが95%を超えて実行されていないことを確認)、および低ディスク容量(30分ごとにチェック)をチェックします。そのディスク容量は20%を下回っていません)。それらは非常に簡単に追加でき、問題はありませんでした。

これは、CPU使用率が高いことに関するアラート用に持っているVBScriptファイルです。必要に応じて、資格情報を含めるようにスクリプトを変更できます。

' Get command line parameters
Dim ArgObj
Set ArgObj = WScript.Arguments 
Dim strFrom, strTo, strSubject, strBody, strIPAddress
strFrom = "SERVERNA<E <[email protected]>"
strTo = "RECIPIENT <[email protected]>"
strSubject = "Automated CPU Alert from SERVERNAME"
strIPAddress = "IPADDRESS"

' get the body from the command line
If ArgObj.Count > 0 Then
strBody = ArgObj( 0 )

' if the subject is specified as an argument then add it
If ArgObj.Count > 1 Then
strSubject = ArgObj( 1 )
End If
Else
strBody = "Default alert message body" 
End if

Call SendEmail( strFrom, strTo, strSubject, strBody )

' release memory
Set ArgObj = Nothing

' Sub-routing to send an e-mail using the CDO component
Sub SendEmail(sFromEmail, sToEmail, sSubject, sText )

Dim objMail
Set objMail = CreateObject( "CDO.Message" )
objMail.From = sFromEmail
objMail.To = sToEmail
objMail.Subject = sSubject

' Send using an SMTP server
objMail.Configuration.Fields.Item( "http://schemas.Microsoft.com/cdo/configuration/sendusing" ) = 2

' Name or IP of remote SMTP server
objMail.Configuration.Fields.Item( "http://schemas.Microsoft.com/cdo/configuration/smtpserver" ) = strIPAddress

' Server port
objMail.Configuration.Fields.Item( "http://schemas.Microsoft.com/cdo/configuration/smtpserverport" ) = 25 

objMail.Configuration.Fields.Update
objMail.TextBody = sText
objMail.Send

Set objMail = nothing

End Sub
0
Mike L