Monitoramento

Pessoal, algem sabe alguma maneira de fazer um monitoramento de maquinas e serviçoes em java?
Tenho o seguinte problema:

  • Preciso saber se uma determinada maquina esta na rede
  • Preciso saber o Status de um determinado serviço(Running, Stop)

em Minha aplicacao .net eu ping a maquina e depois acesso o servico obtendo seu status. em VB.net ou C# isso é muito simples porem, como fazer esse tipo de monitoramento em Java?

algem tem alguma ideia ou exemplo, se possivel de Ping…

tenho um ex de ping mas ele roda como Cliente/Servidor. O problema é que se o servidor nao tiver ativo como eu saberei se é a maquina que esta fora da rede ou o servico nao se conectou!!!

atenciosamente

Antonio Kuroki

Daí guri,

Infelizmente em Java não é possível “pingar” uma máquina, então o que existe são pseudo-pings.

Aqui tem um exemplo, tirei ele da página http://www.rgagnon.com/javadetails/java-0093.html

Lá também tem um exemplo mais completo, com tempo de resposta e tudo mais.

[code]import java.io.;
import java.net.
;

public class PseudoPing {
public static void main(String args[]) {
try {
Socket t = new Socket(args[0], 7);
DataInputStream dis = new DataInputStream(t.getInputStream());
PrintStream ps = new PrintStream(t.getOutputStream());
ps.println(“Hello”);
String str = is.readLine();
if (str.equals(“Hello”))
System.out.println(“Alive!”) ;
else
System.out.println(“Dead or echo port not responding”);
t.close();
}
catch (IOException e) {
e.printStackTrace();}
}
}[/code]

Eu só não entendi o que tu quisesse dizer com serviço :???:
É um serviço do windows? É um WebService ? É um servidor tipo apache, tomcat, jboss, etc ?

Palavras-chave no Google: ping, java

[]s

Foi mal!
é um servico do Windows.
Preciso saber se ele esta rodando ou parado!!

Antonio Kuroki

Ps:valeu pela dica, ainda nao tive tempo pra testar mas desde ja agradeco.

Daí cara,

Seguinte, já pesquisei pra cacete e não consegui formular uma pergunta que me resultasse com respostas úteis, ou seja, só consegui mais dúvidas.

Tu queres ver se o serviço de outro windows tá ligado ?
Eu não sei se o Java faria isso pq serviços são coisas exclusivas do windows, o que tornaria uma coisa que depende da plataforma, algo que o java não é dedicado, ele é independente delas.

Nas consultas que eu fiz, vi gente falando sobre JNI e RMI mas ninguém me deu uma resposta que pode ajudar.

Vou procurar mais um pouco, mas não to com muita fé.

[]s