Configurando o Componente Analisador para um Analisador com Base em Regras

Pré-requisitos:

A função do analisador é obter as mensagens que foram delimitadas pelo extrator e construir um conjunto de mapeamentos de valores de cadeia para os atributos do Common Base Event.

Para configurar o componente analisador, é necessário configurar regras para os dois níveis de execução do analisador:

Configurando Regras para Processamento Global

  1. Na área de janela à esquerda do Editor de Configuração de Adaptador, selecione Configuração > Instância do Contexto > Analisador. A área de janela à direita exibe as informações do analisador.

    Detalhes da Configuração do Analisador exibidos na área de janela à direita

  2. Digite a descrição do analisador no campo Descrição.
  3. Se os registros de log contiverem tokens de separador que delimitam os elementos em um registro, digite o token no campo Token de Separador. Por exemplo, para o registro de log do aplicativo myapp, o token de separador entre os elementos é um espaço duplo:
    <14 de março de 2004 10:25:21 EST>  aplicativo:myapp  gravidade:3  mensagem:AVISO-arquivo style.css ausente
    O token de separador pode ser especificado com a expressão comum [ ]{2}.
  4. Se os registros de log contiverem elementos em um padrão de pares de nome-valor, você poderá especificar o token que associa o nome ao valor no campo Token de Atribuição. Utilizando o mesmo exemplo que acima, no registro de log myapp, o token de atribuição é dois-pontos : .

Configurando Regras para Processamento de Atributos

A segunda fase da execução no analisador aplica regras de substituição específicas para identificar quais valores devem ser designados aos atributos do Common Base Event.

Incluindo e Configurando Atributos do Common Base Event

Os atributos do Common Base Event a seguir são obrigatórios:

Para obter uma listagem completa de atributos do Common Base Event, consulte Modelo Common Base Event.

  1. Na área de janela à esquerda do Editor de Configuração de Adaptador, selecione Configuração > Instância do Contexto > Analisador > Common Base Event. A área de janela à direita exibe as informações do Common Base Event.
  2. Para incluir um novo atributo, clique com o botão direito do mouse no nó Common Base Event e selecione o atributo que você deseja incluir no menu pop-up. O atributo é criado sob o nó Common Base Event. No exemplo a seguir, o atributo msg está incluído.

    O atributo msg é mostrado na área de janela à direita

  3. Para configurar o atributo recém-incluído, clique no atributo. Os detalhes do atributo serão exibidos na área de janela à direita.
  4. Utilizando o exemplo acima, se os registros de log não contiverem o atributo msg, você poderá selecionar a caixa de opções Utilizar Substituição de Correspondência Anterior como Padrão. Isso designará o valor da última mensagem correspondida ao atributo msg.
  5. Se você desejar um valor padrão para msg, digite o valor no campo Valor Padrão. Este valor padrão será utilizado apenas se nenhuma regra de substituição existir ou corresponder e Utilizar Substituição de Correspondência Anterior como Padrão não estiver marcado ou, se estiver marcado, não houver nenhum valor de correspondência anterior salvo.
  6. Continue incluindo todos os atributos obrigatórios seguindo as etapas acima.

Incluindo e Configurando Regras de Substituição de Atributos

Para incluir uma regra de substituição para o atributo do Common Base Event, selecione Atributo > Incluir > Regra de Substituição. Os detalhes da regra de substituição são exibidos na área de janela à direita do editor.

  1. O campo Posições pode ser utilizado quando o registro de log contém pares de nome e valor delimitados por um token. O valor de um par de nome e valor pode ser extraído utilizando o átomo $h('nameofNameValuePair').
    Por exemplo, utilizando o mesmo registro de log do aplicativo myapp:
    <14 de março de 2004 10:25:21 EST>  aplicativo:myapp  gravidade:3  mensagem:AVISO-arquivo style.css ausente
    com o token de separador = []{2} e o token de atribuição = : , o átomo para extrair a mensagem seria $h('mensagem').
    Para outros aplicativos do campo Posições, consulte o tópico de uso Campo Posições.
  2. Corresponder especifica um padrão a procurar no registro. Se o campo Posições for especificado, uma parte do registro será procurada, caso contrário, o registro inteiro será procurado para o padrão especificado. Neste padrão, determinados dados podem ser agrupados juntos, utilizando parênteses, que podem ser referidos no campo Substituir. Se o padrão corresponder dados no registro, o atributo do Common Base Event para o qual destina-se esta regra receberá um valor com base no campo Substituir. Se este for deixado vazio, a regra será considerada uma correspondência.
    No exemplo de registro de log myapp, para corresponder o valor da mensagem extraída pelo campo Posições, a expressão regular a seguir poderá ser utilizada:
    ^(\w+)-(.*)
    Este padrão de correspondência contém dois grupos. O primeiro grupo é um conjunto de caracteres de palavra antes de um traço. O segundo grupo é tudo o que há após o traço até o final do valor da mensagem, conforme definido pela especificação do campo Posições.
  3. O campo Substituir é o valor a ser designado para o atributo do Common Base Event como um resultado de uma correspondência. Os valores podem ser extraídos da cadeia correspondida, utilizando os literais $1, $2, etc que representam os grupos definidos no padrão de correspondência.
    No exemplo de registro de log myapp, se você apenas desejar designar o valor do aviso ao atributo msg do Common Base Event, especifique a substituição como $2.

    Exemplo de registro de log que é analisado e o resultado mostrado na visualização de resultados do formatador

  4. A Classe de Extensão de Substituição poderá ser utilizada se você desejar executar a lógica de análise personalizada no valor correspondido pelas campos Posições, Corresponder e Substituir. A classe de usuário deve implementar a interface do Adaptador de Log Genérico
    classorg.eclipse.hyades.logging.adapter.parsers.ISubstitutionExtension 
    para que este seja executado pelo Adaptador de Log Genérico.

  5. O campo Formato de Hora pode ser utilizado para criar uma regra de substituição para o atributo creationTime. Especifique uma cadeia de padrão de hora Java neste campo. O padrão digitado será utilizado para analisar o valor correspondido pelos campos Posições, Corresponder e Substituir, utilizando a classe java.text.SimpleDateFormat para gerar a data como um valor longo. Este valor é, então, utilizado para gerar o valor de cadeia da data no formato dateTime do Esquema XML requerido pelo Common Base Event.
    No exemplo de registro de log myapp, a regra do Formato de Hora será conforme a seguir:

    Regra de amostra para o campo de formato de hora, utilizando a classe de formato de data simples do Java

  6. Aplique as alterações feitas, salvando o arquivo de configuração do adaptador.
  7. Para testar suas regras, clique em Reexecutar Adaptador Figura do ícone Reexecutar Adaptador para executar o adaptador. Os resultados serão mostrados na visualização Resultado do Formatador.
  8. Clique no ícone Mostrar Próximo Evento Figura do ícone Mostrar Próximo Evento para visualizar os atributos do Common Base Event gerados utilizando as regras gravadas.

Nota: Para obter informações adicionais sobre o formato de data simples do Java, consulte o javadoc java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html.

Uma vez que as regras do analisador estão concluídas, você pode configurar o componente emissor de saída do arquivo de configuração do adaptador.

Conceitos Relacionados
Visão Geral do Adaptador de Log Genérico Hyades
Especificação do Formato Common Base Event

Tarefas Relacionadas
Criando um Analisador de Log
Criando um Adaptador com Base em Regras
Configurando o Componente Emissor de Saída

Referências Relacionadas
Estrutura do Arquivo de Configuração do Adaptador
Editor de Configuração de Adaptador
Gramática de Expressão Comum
Exemplos de Regra de Substituição