Ich versuche ganz einfach, eine E-Mail-Benachrichtigung von einem Windows 2003-Server auszulösen, die mich darüber informiert, wenn der Speicherplatz niedrig wird.
Hat jemand Erfahrung mit der Einrichtung?
Danke schön.
Antwort1
Anstatt nur für dieses eine Element einen Alarm zu erstellen, sollten Sie Nagios oder Ähnliches einrichten. Sie können dann alles überwachen lassen, was Sie möchten, und Sie werden benachrichtigt, wenn etwas außerhalb Ihrer vordefinierten Parameter liegt. Der relativ geringe Zeitaufwand für die Einrichtung wird mehr als ausgeglichen, da Sie nichts mehr manuell überwachen und überprüfen müssen.
Antwort2
Einige Optionen:
a) Installieren Sie einen Überwachungsagenten (z. B. nsclient++) und lassen Sie ihn von einem Überwachungssystem (z. B. Nagios) überwachen und warnen, wenn der Speicherplatz gering ist.
b) Erstellen Sie eine geplante Aufgabe, die jede Minute ausgelöst wird, den entsprechenden WMI-Zähler liest (z. B. \\LogicalDisk(C:)\\Free Megabytes) und eine E-Mail mithilfe des WScript-Objekts CDO.Message sendet (Beispiel hier:http://blogs.technet.com/heyscriptingguy/archive/2004/11/29/how-can-i-attach-a-file-to-an-email-sent-using-cdo.aspx)
Antwort3
+1 für Nagios (oder Derivate wie Opsview) und nsclient++. Wenn Sie sich mit Skripten auskennen, können Sie problemlos Ihre eigenen benutzerdefinierten Plug-ins für alles schreiben, was Sie benötigen.
Wenn Sie noch keine Überwachung durchführen, beginnen Sie jetzt damit!
Antwort4
Siehe hier:Microsoft KB 324796
Ich verwende dies in unserer Umgebung und es hat großartig funktioniert. Sie benötigen einen SMTP-Server, um die Nachricht zu senden, aber es muss nicht dieselbe Box sein.
Ich führe Prüfungen auf „Wenig Arbeitsspeicher“ durch (überprüft alle 5 Minuten, ob der freie Arbeitsspeicher unter 100 MB liegt), „Prozessormonitor“ (überprüft alle 30 Sekunden, ob der Prozessor nicht über 95 % ausgelastet ist) und „Wenig Speicherplatz“ (überprüft alle 30 Minuten, ob der Speicherplatz nicht unter 20 % liegt). Sie sind super einfach hinzuzufügen und ich hatte keine Probleme.
Hier ist die VBScript-Datei, die ich für eine Warnung bei hoher CPU-Auslastung habe. Sie können das Skript bei Bedarf ändern, um Anmeldeinformationen einzuschließen:
' 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