High Performance Extensible Logging (HPEL)

O High Performance Extensible Logging (HPEL) é um recurso de log e rastreio fornecido como parte do WebSphere Application Server.

Visão Geral (Overview)

Configurações suportadas Configurações suportadas: O recurso de log e rastreio é ativado por padrão. Para usar o HPEL, você deverá ativá-lo.sptcfg

[AIX Solaris HP-UX Linux Windows][IBM i]O HPEL fornece um mecanismo conveniente para armazenar e acessar as informações de log, rastreio, System.err e System.out produzidas pelo servidor de aplicativos ou pelos seus aplicativos. É uma alternativa para o recurso básico de log e rastreio, que forneciam logs da JVM, rastreamento de diagnóstico e os arquivos de log de serviço normalmente denominados SystemOut.log/SystemErr.log, trace.log e activity.log.

[z/OS]O HPEL fornece um mecanismo conveniente para armazenar e acessar as informações de log, rastreio, System.err e System.out produzidas pelo servidor de aplicativos ou pelos seus aplicativos. É uma alternativa para os recursos de log e rastreio existentes oferecidos na plataforma z/OS que exploram o JES, LogStreams, Rastreio de Componente, Sistema de Arquivo Hierárquico ou outros recursos.

Armazenamento de Log e Rastreio do HPEL

O HPEL fornece um repositório de dados de log, um repositório de dados de rastreio e um arquivo de log de texto. Consulte a seguinte figura para entender como os aplicativos e o servidor de aplicativos armazenam as informações de log e de rastreio.

Figura 1. Armazenamento de Log e de Rastreio para HPEL e Criação de Log Básica.Armazenamento de log e de rastreio para HPEL e criação de log básica.
Repositório de Dados de Log do HPEL

O repositório de dados de log é um recurso de armazenamento para registros de log. Os dados de log normalmente são revisados pelos administradores. Isso inclui quaisquer informações que aplicativos ou servidores gravam no arquivo System.out, System.err ou java.util.logging no nível Detalhado ou superior (incluindo Detalhado, Configuração, Informativo, Auditoria, Aviso, Grave, Fatal e quaisquer níveis customizados no nível Detalhado ou superior).

Repositório de Dados de Rastreio do HPEL

O repositório de dados de rastreio é um recurso de armazenamento para registros de rastreio. Os dados de rastreio normalmente são usados por programadores de aplicativos ou pela equipe de suporte do WebSphere Application Server. Isso inclui quaisquer informações que aplicativos ou o servidor gravam no arquivo java.util.logging em níveis abaixo do nível Detalhado (incluindo Bom, Melhor, Excelente e quaisquer níveis customizados abaixo do nível Detalhado).

Configurações suportadas Configurações suportadas: O conteúdo de log e rasteio gravado na API de criação de log JRAS descontinuado também é incluído nos repositórios de dados de log e de rastreio. Algumas APIs de criação de log, como Jakarta Commons Logging, também podem ser configuradas para rotear os dados de log e de rastreio para java.util.loggin, além ter sua saída armazenada no repositório de dados de log e de dados de rastreio.sptcfg
Log de Texto de HPEL

O arquivo de log de texto é um arquivo de texto simples para os registros de log e de rastreio. O arquivo de log de texto é fornecido por conveniência, principalmente para que o conteúdo de log possa ser lido sem precisar executar a ferramenta de linha de comandos LogViewer para converter o conteúdo do repositório de dados de log em texto simples.

O arquivo de log de texto não possui nenhum conteúdo que também não é armazenado no repositório de dados de log ou no repositório de dados de rasteio. É possível desativar o log de texto para melhorar o desempenho do servidor. O log de texto pode ser configurado para registrar o conteúdo de rastreio para fins de depuração.

[z/OS]O arquivo de log de texto contém apenas entradas de log que são geradas pelo processo do controlador e não as entradas a partir dos processos servidores ou adjuntos. Dessa forma, os registros de log do aplicativo não são gravados no log de texto no z/OS. Para visualizar os dados de log e de rastreio de todos os processos de servidores de aplicativos, use a ferramenta da linha de comandos LogViewer ou a ferramenta de visualização de log HPEL no console administrativo.

Evitar Problemas Evitar Problemas: A gravação do rastreio no log de texto é dispendioso em termos de desempenho.gotcha

Desempenho de Log e Rastreio

[AIX Solaris HP-UX Linux Windows][IBM i]O HPEL foi projetado e testado para executar de modo significativo o recurso de log e rastreio básico existente. Um resultado é que executar o servidor de aplicativos com o rastreio ativado causa menos impacto no desempenho do que rastrear os mesmos componentes usando a criação de log básica. Outro resultado é que os aplicativos que frequentemente gravam nos logs podem executar mais rápido com o HPEL. Vários fatores contribuem para o desempenho geral da criação de log e rastreio do HPEL.

Os eventos de log e de rastreio são armazenados, cada um, em apenas um local.

Os eventos de log, System.out e System.err são armazenados no repositório de dados de log. Os eventos de rastreio são armazenados no repositório de dados de rastreio. Se o arquivo de log de texto estiver desativado, o HPEL poderá gravar apenas o conteúdo de log e de rastreio nesses repositórios. Armazenar cada tipo de evento em um local assegura que o desempenho não seja gasto em armazenamento de dados redundante.

Os eventos de log e, opcionalmente, os eventos de rastreio são gravados no arquivo de log de texto quando ele estiver ativado. Como esses dados são sempre armazenados nos repositórios de dados de log e de dados de rastreio, o conteúdo do arquivo de log de texto é redundante. O log de texto é conveniente para usuários que não quiserem executar a ferramenta de linha de comandos LogViewer para ver os logs e rastreio, porém, o log de texto poderá ser desativado se essa conveniência não for necessária.

Cada evento é armazenado apenas em um local em que o log de texto estiver desativado.

Os repositórios de log e rastreio não são compartilhados entre os processos.

Sincronizar atividades entre os processos prejudica o desempenho em todos os processos envolvidos. Com o HPEL, cada processo do servidor possui seu próprio repositório de dados de log, repositório de dados de rastreio e arquivo de log de texto. Como esses arquivos não são compartilhados entre os processos, o ambiente de tempo de execução do servidor não precisa sincronizar com outros processos quando gravar nesses destinos.

Os dados não são formatados, a menos que seja necessário.

Formatar dados para leitura de um usuário usa tempo do processador. Ao invés de formatar os dados de evento de log e de evento de rastreio no tempo de execução, os dados de log e de rastreio HPEL são armazenados rapidamente em uma representação binária proprietária. Isso melhora o desempenho do recurso de log e de rastreio. Ao adiar a formatação de log e de rastreio até o LogViewer ser executado, nunca serão formatadas as seções de log e rastreio que nunca forem visualizadas.

É possível ativar o arquivo de log de texto, que armazena os dados de log e os dados de rastreio em um formato de texto já legível.

Boas Práticas Boas Práticas: Desative o log de texto quando o desempenho de seu servidor for a maior preocupação ou se o log de texto não for desejado.bprac
Os dados de log e de rastreio são armazenados em buffer antes de serem gravados no disco

Gravar grandes blocos de dados em um disco é mais eficiente do que gravar a mesma quantia de dados em blocos pequenos. O HPEL armazena dados de log e de rastreio em buffer antes de gravar no disco. Por padrão, os dados de log e de rastreio são armazenados em um buffer de 8 KB antes de serem gravados no disco. Se o buffer ficar cheio em 10 segundos, o buffer será gravado no disco. Se o buffer não ficar cheio dentro do tempo, ele será gravado automaticamente no disco para assegurar que os logs tenham as informações mais atuais.

Configurações suportadas Configurações suportadas: O tamanho do buffer pode ser controlado ao configurar a propriedade do sistema HPEL.BUFFER.SIZE. A frequência com que o buffer grava no disco pode ser controlada ao configurar a propriedade do sistema HPEL.FLUSH.PERIOD.SECS.sptcfg

Administração de Log e Rastreio

O HPEL foi projetado para ser facilmente configurado e entendido. Por exemplo, os administradores podem configurar facilmente a quantia de espaço em disco que deve ser dedicada para os logs e rastreio ou quanto tempo os registros de log e rastreio devem ser retidos, e também deixar o gerenciamento do conteúdo de log e rastreio ativo no servidor. Tal como outro exemplo, todo o conteúdo de log, rastreio, System.out e System.err pode ser acessado usando um comando fácil de usar (o LogViewer), evitando qualquer possível confusão sobre qual arquivo acessará determinado conteúdo.

Lendo a partir de repositórios de dados de log e de dados de rastreio

Os repositórios de dados de log e de dados de rastreio são armazenados em um formato proprietário do WebSphere Application Server e não podem ser lidos usando editores de arquivos de texto, como Notepad ou VI. Os repositórios de dados de log e de dados de rastreio podem ser copiados para um formato de texto simples usando o comando LogViewer.

Lendo os repositórios de dados de log e de dados de rastreio com a ferramenta de linha de comandos LogViewer.

Comando LogViewer do HPEL

O comando LogViewer HPEL é uma ferramenta de linha de comandos fácil de usar fornecida para que usuários do HPEL trabalhem com os repositórios de dados de log e de dados de rastreio. O LogViewer fornece opções de filtragem e de formatação que facilitam a localização de conteúdo importante nos repositórios de dados de log e de dados de rastreio. Por exemplo, um usuário pode filtrar quaisquer erros ou avisos e, em seguida, filtrar todas as entradas de log e de rastreio que ocorrerem dentro de 10 segundos após uma mensagem de erro principal no mesmo encadeamento.

Filtrar usando o conteúdo de extensão de registro de log e rastreio.

É possível usar a ferramenta de linha de comandos LogViewer para filtrar registros com base no conteúdo de extensões de registros de log e de rastreio. O servidor de aplicativos cria automaticamente uma extensão appName para cada registro de log e de rastreio relacionado a um aplicativo Java™ Platform, Enterprise Edition (Java EE), indicando o nome desse aplicativo. O servidor de aplicativos também cria automaticamente uma extensão requestID para cada registro de log e de rastreio criado durante o processamento de determinados tipos de solicitações (por exemplo, solicitações HTTP ou JMS), indicando o ID exclusivo dessa solicitação.

A extensão requestID é incluída apenas nos registros de log e de rastreio quando o Rastreio de Componente Cruzado estiver ativado. O HPEL também permite que os desenvolvedores incluam extensões customizadas em registros de log e de rastreio usando uma API de contexto de registro de log (com.ibm.websphere.logging.hpel.LogRecordContext).

HPEL no console administrativo

O console administrativo contém páginas que permitem que os administradores HPEL:

  • Configurem o repositório de dados de log do HPEL.
  • Configurem o repositório de dados de rastreio do HPEL.
  • Configurem o arquivo de log de texto do HPEL.
  • Visualizem o conteúdo dos repositórios de dados de log e de rastreio do HPEL.
  • Visualizem e configurem os níveis detalhados de log para criação de log e rastreio.

Para usar esses recursos, no console administrativo, clique no link Resolução de Problemas > Logs e Rastreio.

Recursos de Desenvolvimento

O HPEL foi projetado para tornar mais flexível e eficiente trabalhar com o conteúdo de log e de rastreio em comparação com o recurso de criação de log básico. O conteúdo de log e de rastreio pode ser facilmente filtrado para mostrar apenas os registros de interesse. É possível usar a linha de comandos (consulte a descrição do comando LogViewer do HPEL) ou os desenvolvedores podem criar programas de manipulação de log poderosos usando a API do HPEL.

Lendo scripts e programas Java a partir de repositórios de dados de log e de dados de rastreio
Os desenvolvedores e criadores de scripts têm várias opções para ler os repositórios de dados de log e de dados de rastreio.
  • Localmente ou remotamente a partir de um script wsadmin, usando o MBean JMX HPELControlService
  • Localmente ou remotamente a partir de um programa Java, usando o MBean JMX HPELControlService
  • Localmente a partir de um programa Java, usando a API com.ibm.websphere.logging.hpel

Use as APIs do HPEL e a interface MBean para acessar o conteúdo de repositório de dados de log e de rastreio

MBeans JMX relacionados ao HPEL

Uma interface MBean foi fornecida para facilitar o acesso remoto ao conteúdo do repositório HPEL. Por exemplo, um desenvolvedor pode gravar um programa cliente JMX para ler o conteúdo do log em sua célula do WebSphere Application Server. Essa interface faz parte do MBean HPELControlService. Consulte a documentação da interface do MBean para obter detalhes sobre a interface de leitura de log remota do HPEL.

Tabela 1. MBeans JMX Relacionados ao HPEL. Os JMX MBeans são relacionados à operação do HPEL.
JMX MBean Descrição
HPELControlService Fornece operações relacionadas à configuração do nível de detalhes de log e de rastreio do servidor, à visualização do registro do componente de log e à consulta dos repositórios de log e de rastreio.
HPELLogDataService Fornece operações relacionadas à configuração do repositório de dados de log do servidor.
HPELTraceDataService Fornece operações relacionadas à configuração do repositório de dados de rastreio do servidor.
HPELTextLogService Fornece operações relacionadas à configuração do arquivo de log de texto do servidor.
RasLoggingService Usado apenas para Notificação JMX dos eventos de log.

Quando usar o HPEL para log e rastreio ao invés de criação de log básica, o MBean JMX de log e rastreio, TraceService, não será usado.

API do HPEL

Uma API foi fornecida para facilitar aos desenvolvedores desenvolverem ferramentas para consumir o conteúdo a partir dos repositórios de log e rastreio do HPEL. Por exemplo, um desenvolvedor pode gravar um programa Java para procurar pelo conteúdo de log e de rastreio a fim de localizar quaisquer mensagens com os IDs de mensagem que correspondam a uma lista conhecida de IDs de mensagem importantes. Essa API é o pacote com.ibm.websphere.logging.hpel. Consulte a documentação da API para obter detalhes sobre a API de leitura de log do HPEL.

Extensibilidade do registro de log e de rastreio.

Os desenvolvedores podem usar HPEL para incluir extensões customizadas em registros de log e de rastreio através de uma API de contexto de registro de log (com.ibm.websphere.logging.hpel.LogRecordContext). Quando o HPEL armazenar registros de log e de rastreio, incluirá as extensões presentes no contexto de registro de log no mesmo encadeamento. Por exemplo, um desenvolvedor pode gravar um filtro de servlet para incluir parâmetros de solicitação de HTTP importantes no contexto de registro de log. Enquanto esse servlet estiver em execução, o HPEL incluirá essas extensões nos registros de log e de rastreio criados no mesmo encadeamento.

Assim como outros campos de registros de log e de rastreio, os desenvolvedores podem acessar as extensões do registro usando a API do HPEL. Isso é útil quando gravar ferramentas para ler a partir de repositórios de log e de rastreio. Os desenvolvedores também podem usar a API de contexto do registro de log para acessar as extensões nos manipuladores de log, filtros e formatadores customizados no tempo de execução.


Ícone que indica o tipo de tópico Tópico de Conceito



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=ctrb_HPELOverview
Nome do arquivo: ctrb_HPELOverview.html