Проще говоря, я пытаюсь запустить оповещение по электронной почте с сервера Windows 2003, чтобы сообщить мне, когда на диске остается мало места.
У кого-нибудь был опыт настройки этого?
Спасибо.
решение1
Вместо того, чтобы создавать оповещение только для этого одного пункта, вам следует подумать о настройке Nagios или подобного. Затем вы можете настроить его для мониторинга всего, что вам нравится, и оповещения, когда что-то выходит за рамки ваших предопределенных параметров. Относительно небольшое количество времени, необходимое для его настройки, будет более чем оправдано, освободив вас от необходимости вручную контролировать и проверять вещи.
решение2
Пара вариантов:
а) Установите агент мониторинга (например, nsclient++) и настройте систему мониторинга (например, Nagios), которая будет отслеживать его и предупреждать вас, когда на диске остается мало места;
б) Создайте запланированную задачу, которая запускается каждую минуту, считывает соответствующий счетчик 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)
решение3
+1 за nagios (или производные вроде opsview ) и nsclient++. Если вы знаете скрипты, вы можете легко написать свои собственные плагины для всего, что вам может понадобиться.
Если вы еще не ведете мониторинг, начните делать это сейчас!
решение4
Глянь сюда:Microsoft KB324796
Я использую это в нашей среде, и это отлично работает. Вам нужен SMTP-сервер для отправки сообщения, но это не обязательно должен быть тот же ящик.
Я проверяю наличие малой памяти (каждые 5 минут проверяет, не меньше ли свободной памяти 100 МБ), монитор процессора (каждые 30 секунд проверяет, не загружен ли процессор более чем на 95%) и мало места на диске (каждые 30 минут проверяет, не меньше ли места на диске 20%). Их очень легко добавить, и у меня не возникло никаких проблем.
Вот файл 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