Powershell – Script para monitorar eventos de crash/hang de Web Server
Este script pode ser executado tanto no servidor como na parte de cliente, copie o código abaixo e salve como monitorweb.ps1. Apenas salientando que o teste de “ping” é feito a cada 30 segundos, caso não tenha nenhuma resposta da url configurada ou se gerar alguma exceção o e-mail será enviado para sua caixa postal.
——————————————————————————————————————————————————–
function MonitorSite {
param($URL)
$emailFrom = “seuemail@test.com” #digita seu email
$emailTo = “seuemail@test.com” #digita seu email
$smtpServer = “mail.teste.com.br” #entre com o servidor de smtp
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
#$smtp.Credentials = New-Object System.Net.NetworkCredential(“sua conta de smtp”, “senha”);
#Caso seja necessário descomente a linha acima para entrar com as credenciais
trap{
“Failed. Details: $($_.Exception)”
$subject = “Exception Sent from PowerShell”
$body = “Fail`t`t” + “`t`t”+”Failed. Details: $($_.Exception)”
$smtp.Send($emailFrom, $emailTo, $subject, $body)
exit 1
}
$webclient = New-Object Net.WebClient
#some sites may refuse your test if the user agent is not explicit
# $webClient.Headers.Add(“user-agent”, “IE”)
$webclient.Credentials = [System.Net.CredentialCache]::DefaultCredentials
if($webclient.Proxy -ne $null) {
$webclient.Proxy.Credentials = `
[System.Net.CredentialCache]::DefaultNetworkCredentials
}
while (1 -eq 1)
{
$startTime = get-date
$webclient.DownloadString($URL) | Out-Null
$endTime = get-date
#should not slower than 120 seconds
if (($endTime – $startTime).TotalSeconds -ge 120)
{
” TimeOut. “
$subject = “Timeout Sent from PowerShell”
$body = “Timeout`t`t” + $startTime.DateTime + “`t`t” + ($endTime – $startTime).TotalSeconds + ” seconds”
$smtp.Send($emailFrom, $emailTo, $subject, $body)
}
else
{
“Success`t`t” + $startTime.DateTime + “`t`t” + ($endTime – $startTime).TotalSeconds + ” seconds”
}
#ping site every 30 seconds
sleep(30)
}
}
MonitorSite “http://localhost”
——————————————————————————————————————————————————–
Resultado:
http://iisbrasil.files.wordpress.com/2012/07/monitorweb01.jpg?w=604&h=134
Fonte: AsiaTech
Erick Albuquerque | MVP, MCT, MCTS, MCSA, MCITP SA, MCITP EA
http://iisbrasil.wordpress.com/ | http://windows8dicas.com.br/