Como gerenciar e configurar arquivos de log no Appserver e Webspeed

Escrito por Gian R. Dalfovo em 13 de fevereiro de 2009, 15:55h

Em algumas situações em que precisamos detalhar um pouco mais o que está sendo executado nos serviços, ou quando algum erro é gerado, a configuração de um log com mais informações pode auxiliar na identificação da causa do problema. Também em serviços onde o mesmo precisa ficar 24 X 7 no ar, os logs podem ficar extensos e ocupar uma grande quantidade de espaço em disco.

Neste post serão abordadas algumas configurações de log que podem ser realizadas nos serviços de Appserver e Webspeed do OpenEdge que podem auxiliar você na administração do ambiente.

As configurações de log são independentes para o Broker e para o Agent/Server do serviço. As alterações podem ser realizadas pela ferramenta gráfica “Progress Explorer Tool” ou no arquivo ubroker.properties.

Abaixo está a tela com a configuração de log de um serviço Webspeed, nas parametrizações do agente. As informações contidas nesta interface são as mesmas para o broker do serviço, diferenciando somente os valores utilizados em alguns campos. Para o serviço Appserver o processo de configuração de log do Broker e do Server são iguais ao Webspeed.

 LOG-Webspeed

Detalharemos como os campos desta tela podem ser configurados para gerar o log conforme a sua necessidade.  No final de cada item está o valor correspondente no arquivo ubroker.properties.

* Agent/Broker/Server log filename

Informa o local e o nome do arquivo de log para o item. 

ubroker.properties:

Log do broker:  brkrLogFile=filename
Log do Agent/Server: srvrLogFile= filename

* Agent/Broker/Server logging level

O parâmetro de logging level  controla a quantidade de informações geradas no arquivo.

Na criação de um novo serviço, por padrão o log vem parametrizado para “Basic” (level 2). Este é o mais comum utilizado e recomendado para ambientes de produção.

Somente em casos específicos, como análise de erros por exemplo, recomenda-se alterar o nível do log.

Os níveis disponíveis são:
   - None (0)
   - Error Only (1)
   - Basic (2)
   - Verbose (3)
   - Extended (4) 

ubroker.properties:

Logging level do Broker: brkrLoggingLevel = level
Logging level do Agent/Server: srvrLoggingLevel = level

* Append to Agent/Broker/Server log file

Esta opção indica se no momento do start do serviço, as informações do log serão adicionadas ao fim do arquivo atual ou se o log será sobreposto (elimina informações anteriores).

ubroker.properties:

Append do Broker: brkrLogAppend= 0 ou 1
Append do Agent/Server: srvrLogAppendFile= 0 ou 1

* Agent/Broker/Server logging entry types

Este parâmetro informa a categoria de informações que serão gravadas no arquivo de log (tipos de informações). O parâmetro “loggin entry types” combinado com o “logging level” é que definirá quais informações serão gravadas no log e o nível de detalhe que cada uma será identificada.

Para identificação de problemas na execução de aplicações, o mais indicado é o 4GLTrace. Este entry type gera um rastreamento de tudo o que foi executado na sessão, como nomes de programas, funções definidas pelo usuário, procedures internas e alguns parâmetros. Também em caso de erro, é possível visualizar a procedure que gerou o problema.

No manual “OpenEdge® Development: Debugging and Troubleshooting” existe uma tabela onde são descritos todos o valores que podem ser utilizados no logging entry types e em quais ambientes os mesmos são compatíveis.

São vários valores que podem ser utilizados de forma simultânea, separando os mesmos por vírgula. Por exemplo, no agente do webspeed você precisa monitorar os bancos que foram conectados/desconectados e realizar um rastreamento do que a aplicação está executando. No campo Agent logging entry types podem ser utilizados os valores: DB.Connects,4GLTrace.

Por padrão, todos os itens do logging entry types utilizados irão seguir o nível de log especificado no serviço (Agent/Broker/Server logging level). Caso você necessite de níveis diferentes para cada entry type, utilize o valor do nível logo após o nome informado, separado pelo caracter “:”. Ex: DB.Connects:2,4GLTrace:4

ubroker.properties:

Logging entry types do Broker: brkrLogEntryTypes= “log-entry-type[:level]”
Logging entry types do Agent/Server: srvrLogEntryTypes= “log-entry-type[:level]”

* Agent/Broker/Server log file threshold size

Este parâmetro permite que seja controlado o tamanho máximo que cada arquivo de log pode chegar.

Por padrão o log vem configurado sem limite de tamanho (valor 0). O tamanho é especificado em bytes, tendo o valor mínimo de 500000 e máximo de 2147483647.

Se um valor é especificado, o serviço começa a controlar o tamanho do arquivo de log e quando chega ao limite é criado um novo,  até o número total de arquivos configurados no parâmetro “Maximum number of log files”.

ubroker.properties:

Log file threshold size do Broker: brkrLogThreshold = n
Log file threshold size do Agent/Server: srvrLogThreshold = n

* Maximum number of Agent/Broker/Server log files

Este parâmetro especifica o número máximo de arquivos de log que o serviço irá manter no disco, incluindo o arquivo atual que está sendo utilizado. Quando o arquivo chega ao limite especificado e não chegou ao número máximo de arquivos, o serviço passa a gravar as informações em um novo arquivo, seguindo o padrão:  filename.######.extension. Ex: wsbroker1.server.000001.log –> wsbroker1.server.000002.log

Caso o serviço já esteja no último arquivo e chegou ao limite de tamanho especificado, o primeiro arquivo de log será zerado e o serviço passará a gravar no mesmo, seguindo a sequência (os arquivos são sempre renovados).

Os valores válidos para o número máximo de arquivos são: 0, 2, 3 e superiores até o máximo de 999999. O valor 0 indica que o número de arquivos de log será ilimitado.

Caso o parâmetro “log file threshold size” esteja com o valor 0, o número máximo de arquivos é ignorado.  O valor 1  e valores maiores que 999999 são inválidos.

ubroker.properties:

Maximum number of log files do Broker: brkrNumLogFiles = n
Maximum number of log files do Agent/Server: srvrNumLogFiles = n

 

No manual “OpenEdge® Development: Debugging and Troubleshooting” existem mais informações que podem lhe auxiliar na identificação de problemas.

 

Categorias: Ambiente | AppServer | Progress | WebSpeed

Tags:

Comentários

Comentar




biuquote
  • Comentário
  • Pré-visualização
Loading