Como você está verificando clientes que possuem IPs desconhecidos, talvez seja necessário instalar um agente neles para 'fazer check-in' em um mestre (SNMP / WMI) parece ser a melhor solução. Você pode agendar trabalhos para consultar o mestre usando o agendador do SO (cron, at, etc). Por exemplo, seu script php no mestre pode aceitar parâmetros como:
link
Programe um curl ou wget, etc usando o cygwin no Windows para atingir esse URI. O script do coletor manteria tudo isso em um banco de dados e, se X minutos passassem sem uma resposta de um dos computadores, ele poderia enviar um e-mail para você. Você poderia escrever algo assim em menos de uma hora, mas eles vendem software que faz isso também.
No entanto, se você quiser simplesmente testar serviços aleatórios de saída, veja algumas outras soluções:
Meu site está em alta? Por exemplo, uma página simples que você pode enrolar e verificar se a resposta foi um 200 (OK), com os dados esperados. Mas você também gostaria de saber qual era o tempo de resposta. São necessários 200ms ou 20s para lhe dar a resposta?
Uma consulta de banco de dados simples em uma página do php poderia testar o serviço de banco de dados, bem como uma página da web e o serviço php.
O WMI / SNMP é uma maneira de extrair várias informações sobre o sistema operacional. Por exemplo, uso da CPU, espaço em disco, processos em execução, etc. Os dois SNMP podem ser mais fáceis de implementar.
Além disso, o ping é uma fatia no tempo. Diz-lhe que esta fatia em tempo respondeu, mas não lhe fala sobre tudo entre os pings. Se você é o Windows, e tudo que você quer ver é se o sistema operacional / rede está em um host remoto, você pode tentar um desses dois utilitários:
link
link
Estes dão uma imagem da saúde da rede também. O Linux também possui ferramentas semelhantes, como:
link
O qual enviará uma solicitação http para qualquer porta desejada.
Claro que há também o telnet confiável:
telnet yoursite.com 80
Tenha cuidado também, muitas vezes os pings são bloqueados por motivos de segurança, por isso é possível que você não receba uma resposta. Firewalls de host podem bloquear os pings também.