Monitoramento de Sites em WEBEX


   O Objetivo de uma função de Monitoramento de Sites é testar as funcionalidades básicas de um site, retornando uma mensagem HTML pré-definida , indicando que está tudo certo , e em caso de erro , uma mensagem que procure identificar o que está de errado.

   Para sites desenvolvidos em Protheus , utilizando a tecnologia WEBEX , devemos criar uma função específica para o site , que irá determinar se o mesmo está operacional . Esta função será chamada através de link .apw

Vejamos o exemplo abaixo, escrito para um site cujas bases de dados estão num SQL , acessadas via TopConnect. Neste exemplo , a função chamada será http://servidor/U_SiteMonitor.apw , e caso esteja tudo certo , ela retornará a string '(SITE OK)' , seguido da data e horário da execução da rotina. Qualquer retorno diferente disto poderá indicar uma anomalia no funcionamento do site.

Quando hospedado um site utilizando esta tecnologia no DataCenter da Makira , esta informação gerada pela rotina deve ser passada ào depto de infra-estrutura, que configurará um software 'Monitor de Sites', que irá realizar a cada um minuto uma requisição à url especificada , e irá emitir um alerta ao Departamento para que seja verificado o site caso haja alguma falha na resposta.

#include "protheus.ch"#include "apwebex.ch"User Function SiteMonitor()Local cQuery , nQtdRec // Verifica se a working Thread está conectada com o TOP ...If !TCIsConnected()   Return 'Working Thread perdeu a conexão com o TOP'Endif// Verifica se as tabelas principais estão abertas ....If select('SA1')=0   Return 'Tabela SA1 não está aberta !!!'EndifIf select('SC5')=0   Return 'Tabela SC5 não está aberta !!!'Endif// Executa uma query de contagem de registros de uma tabela do sistemacQuery := 'SELECT count(*) as QTDREC from SA1010'OPEN QUERY cQuery ALIAS 'TMPCOUNT'nQtdRec := TMPCOUNT->QTDRECCLOSE QUERY 'TMPCOUNT'If nQtdRec=0   Return 'Falha na Contagem de registros / Query SA1'Endif// Se está tudo certo , retorna um HTML informando que está tudo OKReturn '(SITE OK) '+dtos(date())+' '+time()



LIB WEBEX , Microsiga Protheus 8.11
Nível 1 (Acesso Clientes)
Espanhol , Inglês

  • Sem rótulos