Manual do usuário do plug-in WatchMouse

Aumentando a funcionalidade do WatchMouse


1. O que é isso?

2. Como funcionam os plug-ins?

3. Como posso criar meu próprio plug-in?

4. Limitações de tempo

5. Exemplos



1. O que é isso?

Em alguns pacotes do Nimsoft Cloud Monitor (por exemplo, "Platinum"), você pode Especificar monitores do tipo 'plug-in'. Com esse monitor, você pode aumentar a capacidade do sistema Nimsoft Cloud Monitor de testar qualquer protocolo, servidor ou processo em suas instalações, mesmo por trás do firewall.

2. Como funcionam os plug-ins?

Plug-ins são páginas da Web dinâmicas hospedadas no seu próprio servidor Web, que executam o teste em nome do servidor WatchMouse. A página (plug-in) é aberta mediante uma sequência de parâmetros (veja abaixo) e retorna o resultado do teste. Como a página dinâmica é executada em seu próprio servidor e sob seu controle, ela permite que você acesse mais sistemas do que o sistema Nimsoft Cloud Monitor externo.

3. Como posso criar meu próprio plug-in?

Para criar seu próprio plug-in, crie uma página da Web dinâmica em um servidor Web que possa ser acessado via Internet. Pode-se usar qualquer linguagem de programação para criar a página dinâmica (PHP, ASP, C++, Java, TCL, ...). A página será visitada pelos servidores Nimsoft Cloud Monitor no intervalo que você especificar nas suas configurações de monitor.

Os seguintes parâmetros são entregues a essa página dinâmica por meio de um comando HTTP POST:

  • WMhost
  • WMport
  • WMpath
  • WMpar
  • WMaccount
  • WMpasswd
  • WMua [to be implemented]
  • WMmem [to be implemented]

O valor do parâmetro é copiado das configurações de seu monitor por meio dos campos de host, porta, caminho, parâmetro, conta e senha, respectivamente.
Os parâmetros são postados por meio do protocolo HTTP 1.0. Nos registros de seu servidor Web, você pode reconhecer os testes de nossos servidores, já que eles estão marcados com o agente-usuário WatchMouse/NNN. Atualmente, a versão NNN é 1.20.

3.1. Valores de retorno

Após executar o teste no script de sua página dinâmica, você deve retornar uma página com o tipo de conteúdo "text/plain" e com uma ou mais linhas finalizadas com uma nova linha (de preferência um caractere de alimentação de linha). Essas linhas devem aparecer assim (sem linhas vazias, sem espaços em branco):

    parameter=value

Os valores de retorno a seguir já estão definidos; os outros nomes de parâmetros serão ignorados:

Name Type Optional Description
status unsigned integer N Use 0 para denotar um resultado bem-sucedido, e 1..9999 se houver algum erro. Use diferentes valores para diferentes condições de erro.
message char(255) Y O texto deve ser breve (sem novas linhas, geralmente 20 caracteres, máx. 255 caracteres). Recomenda-se usar um texto específico para cada valor de status.
rtime* unsigned integer N/A Tempo de resolução. Ainda não registrado, mas disponível on-line.
ctime unsigned integer Y Tempo de conexão. Tempo em milissegundos para criar a conexão
dtime unsigned integer Y Tempo de download. Tempo em milissegundos para baixar as informações.
dsize unsigned integer Y Tamanho do download. Número de bytes baixados.
ptime unsigned integer Y Tempo de processamento. Tempo em milissegundos para executar o processamento. Geralmente o tempo entre o momento da conexão e o primeiro byte recebido
user unsigned integer Y Valor definido pelo usuário
*) Ainda não registrado

Observe que, exceto pelos campos 'status' e 'message', na verdade todos os campos podem ser definidos pelo usuário. Usá-los para a finalidade descrita acima possibilitará que outras pessoas tenham mais facilidade para interpreter os registros e gráficos.

4. Limitações de tempo

O tempo de espera (timeout) que você definiu no monitor (padrão de 8 segundos) é enviado ao plug-in, mas é também o tempo de espera do plug-in propriamente dito. No caso de um tempo de espera, os parâmetros (ctime, ...) não são armazenados.

5. Exemplos

Abaixo, você encontrará um exemplo em PHP (http://www.php.net/), Java e ASP.

5.1. Exemplo de PHP

1. <?
2. // Conector Nimsoft Cloud Monitor para banco de dados MySQL
3. // Os seguintes parâmetros POST estão disponíveis
4. // WMhost, WMport, WMpath, WMaccount, WMpasswd, WMpar
5. // A saída do host remoto deve ser um cabeçalho MIME,
6. // seguido de:
7. // status=NNN\nmessage=XXX\n
8. // NNN é um número positivo, 0 denota ok, 1..9999 indica um erro
10. // XXX é uma mensagem, máx. 255 caracteres, somente caracteres ASCII de 32 a 127
11.
12. $dbhost = 'dbhost.yourdomain.com';
13. $dbname = 'yourDBname';
14. $dbuser = $WMaccount;
15. $dbpass = $WMpasswd;
16.
17. $dbh = @mysql_connect($dbhost, $dbuser, $dbpass);
18.
19. $err = mysql_errno()+0;
20. $msg = mysql_error();
21. if (!$dbh && !$err) {
22. $err=1;
23. $msg = "Couldn\'t connect to $dbhost($dbuser))";
24. }
25. print "status=$err\n";
26. print "message=$msg\n";
27.
28. if ($dbh) @mysql_close($dbh);
29. ?>

5.2. Exemplo de Java

[TBI]

5.3. Exemplo de ASP

[TBI]