Coleta de dados da rede

Olá, preciso coletar alguns dados da rede (preciso usar Java), alguns até consigo utilizando o getProperty, mas queria coletar dados do desempenho da rede. Isso é possivel? Existe alguma API que faça isso?

Tenho o seguinte codigo:

.....
private static Properties s = System.getProperties();
.....
String t = (String)s.getProperty("user.name");
String t1 = (String)s.getProperty("os.name");
String t2 = (String)s.getProperty("os.version");
String t3 = (String)s.getProperty("os.arch");
....

Obrigado a que puder ajudar.

Algumas opções:

  1. Use SNMP - Uma pesquisa no Google irá lhe trazer várias opções de bibliotecas prontas para vc. usar.

  2. Execute um comando do SO e capture sua saída. P.ex, em unix vc. pode dar o comando “ifconfig” e capturar algumas estatísticas.

  3. Em algumas plataformas “unix-like” (linux é uma delas), vc. pode acessar os pseudo-arquivos embaixo do /proc para obter estas informações. Isto significa que vc. pode abrir o arquivo usando as APIs do java.io e ler os dados como se fossem arquivos regulares.

  4. Usar APIs nativas

Bom, vejo que tenho algumas opções, mas como não entendo muito de Java queria saber qual a mais simples…

Valew

Nenhuma das opções é particularmente complicada. Depende mais dos tipos de máquinas que vc. quer suportar, como será o acesso às mesmas, etc.

Se for só monitoração, lembre-se de olhar antes o que já existe pronto nesta área - e que não é pouco.

OpenNMS, Cacti, Zabbix, MRTG, só para citar alguns.