DEV Community

Monitorando com Ping

Em alguns momentos pode ser necessário verificarmos quando um equipamento está online na rede, como quando reiniciamos remotamente e queremos saber quando poderemos acessar novamente.
Para isso pode ser interessante manter um LOG, ou um registro, dessa validação.

A ideia do script de hoje, é escrever uma função para ficar com um Ping constante para um determinado computador ou seja, ficar continuamente enviando pacotes e analisando esse processo. Mas além disso, vamos registrar num arquivo de texto todo esse processo.

Fora o Ping em si, que recomendo a leitura desse artigo, vamos utilizar uma nova função dentro do Powershell, para salvar tudo que vemos em nossa tela, chamada Start-Transcript. Também vamos alterar o titulo do nosso terminar.

function Ping-Monitor {
param (
[parameter(position=0, Mandatory=$True)]
$nomeComputador
)
# Configuracoes
$hash = Get-Date -Format mmssyyyydd
$logPath = "$env:userprofile\Documents\log.$nomeComputador.$hash.txt"
# Inicia o registro de Logs
Start-Transcript -path $logPath -Append
# Inicia o processo de Ping com a data
try {
$host.UI.RawUI.WindowTitle = "Verificando $nomeComputador - Aperte CTRL + C para cancelar" # Alteramos o titulo do terminal
Ping.exe -t $nomeComputador | ForEach {"{0} - {1}" -f (Get-Date),$_} # Executamos continuamente o comando, recebendo a data
}
catch {
$ErrorMessage = $_.Exception.Message
Write-Host "Ocorreu um erro ao verificar $nomeComputador"
Write-Host "Error: $ErrorMessage"
}
}

Deixamos no titulo a orientação sobre como encerrar essa função, por meio dos comandos CTRL + C.

O uso dessa função é muito interessante no cenário que comentei de reiniciar um equipamento remotamente e monitorar quando ele fica online. Com base nele, pode trabalhar em outras coisas como analisar o retorno do comando e mudar a cor do terminal quando o equipamento estiver online novamente.

Image of Datadog

Create and maintain end-to-end frontend tests

Learn best practices on creating frontend tests, testing on-premise apps, integrating tests into your CI/CD pipeline, and using Datadog’s testing tunnel.

Download The Guide

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay