Muito simplesmente, estou tentando acionar um alerta por e-mail de um servidor Windows 2003 para me avisar quando o espaço em disco está baixo.
Alguém já teve experiência em configurar isso?
Obrigado.
Responder1
Em vez de criar um alerta apenas para este item, você deve considerar configurar o Nagios ou similar. Você pode então monitorar praticamente tudo o que quiser e alertá-lo quando algo estiver fora dos parâmetros predefinidos. O tempo relativamente pequeno necessário para configurá-lo será mais do que recompensado, liberando você da necessidade de monitorar e verificar manualmente as coisas.
Responder2
Algumas opções:
a) Instale um agente de monitoramento (ex: nsclient++) e tenha um sistema de monitoramento (ex: Nagios) monitorando-o e alertando quando o espaço em disco estiver baixo;
b) Crie uma tarefa agendada que seja acionada a cada minuto, leia o contador WMI apropriado (por exemplo, \\LogicalDisk(C:)\\Free Megabytes) e envie um email usando o objeto CDO.Message WScript (exemplo aqui:http://blogs.technet.com/heyscriptingguy/archive/2004/11/29/how-can-i-attach-a-file-to-an-email-sent-using-cdo.aspx)
Responder3
+1 para nagios (ou derivados como opsview ) e nsclient++. Se você conhece scripts, pode facilmente escrever seus próprios plug-ins personalizados para qualquer coisa que precisar.
Se você ainda não está monitorando, comece agora!
Responder4
Veja aqui:KB 324796 da Microsoft
Eu uso isso em nosso ambiente e funcionou muito bem. Você precisa de um servidor SMTP para enviar a mensagem, mas não precisa ser a mesma caixa.
Eu faço verificações de pouca memória (verifica a cada 5 minutos para ver se a memória livre é inferior a 100 MB), monitor do processador (verifica a cada 30 segundos para garantir que o processador não esteja funcionando acima de 95%) e pouco espaço em disco (verifica a cada 30 minutos esse espaço em disco não seja inferior a 20%). Eles são super fáceis de adicionar e não tive problemas.
Aqui está o arquivo VBScript que tenho para um alerta sobre alto uso da CPU. Você pode modificar o script para incluir credenciais, se necessário:
' 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