Script para monitoramento de Eventos em Servidores Windows
Script para monitoramento de Eventos em Servidores Windows
A ideia desse script é verificar nos Logs do Servidor a ocorrência de um evento especifico e caso tenha ocorrido ele enviará um e-mail informando, podemos também incluir a execução de algumas ações no script.
$_.EntryType | $_.Message | $_.Source |$_.Time | $_.Index |$_.InstanceID
---------------------------------------------------------------------------------------------
O Comando abaixo executa um Seach nos logs do servidor verificando se ocorreu o evento no dia atual utilizando o parâmetro “(Get-Date).AddDays(-1)” (Esse parâmetro pode ser incrementado para pegar de outros dias);
O Comando abaixo executa um Seach nos logs do servidor verificando se ocorreu o evento no dia atual utilizando o parâmetro “(Get-Date).AddDays(-1)” (Esse parâmetro pode ser incrementado para pegar de outros dias);
Nesse caso estamos filtrando por uma parte da Mensagem e também pelo Source do evento,podemos também fazer outras pesquisas usando os campos citados acima ;
Inicio do SCRIPT - Copie e cole em um arquivo e o Salve como .ps1
#-----------------------------------------------------------------------------------------------------------
$Result=Get-EventLog application -After (Get-Date).AddDays(-1) | where { $_.Message -match "Processing completed*" -and $_.Source -match "XXXXX Service"} # "XXXX Service" = Nome do Serviço
# Faz uma contagem de quantos eventos foram encontrados com a busca
$result=$result.count
Se o resultado acima for 0 ou “ ” então será enviada a mensagem de que está tudo bem, caso contrario enviará a MSG que houve problema ou podemos aqui se necessario executar algum script ou comando.
If ($result -gt 0)
{
$emailbody = 'Verificação XXXXX - Executada com sucesso!'
}
Else
{
$emailbody = 'ATENCAO!!! Verifique o sistema XXXXX no Servidor XXXXXXXX!!'
}
###################### Envio de email #######################
$SMTPserver = "seu.sevidordeSMTP"
$from = "suporte@dominio"
$to = "suporte@dominio"
$subject = "Monitoramento do Serviço XXX "
$mailer = new-object Net.Mail.SMTPclient($SMTPserver)
$msg = new-object Net.Mail.MailMessage($from, $to, $subject, $emailbody)
$mailer.send($msg)
#-----------------------------------------------------------------------------------------------------------
########################################################
# Operadores
########################################################
#-eq -> equals
#
#-ne -> not equal
#
#-gt -> greater than
#
#-ge -> greater than or equal to
#
#-lt -> less than
#
#-le -> less than or equal to
#
#-like -> wildcard comparison
#
#-notlike -> wildcard comparison
#
#-match -> regular expression comparison
#
#-notmatch -> regular expression comparison
########################################################
# EVENTS
########################################################
#Application
#Security
#setup
#System
Espero ter ajudado e até a próxima....Qualquer duvida é só perguntar que tentarei ajudar.
Espero ter ajudado e até a próxima....Qualquer duvida é só perguntar que tentarei ajudar.