Estrutura do Arquivo de Configuração do Adaptador

Um arquivo de configuração do adaptador contém uma coleção de contextos a serem executados por uma instância de tempo de execução do Adaptador de Log Genérico. Cada contexto descreve como processar um único arquivo de log. Como o arquivo de configuração do adaptador pode conter vários desses contextos, o adaptador pode processar vários arquivos de log ao mesmo tempo.

Cada contexto associado a um arquivo de log específico é constituído de uma série de componentes. Cada componente tem uma função a ser desempenhada no processamento de um arquivo de log.

Contexto

O contexto descreve o agrupamento ordenado de componentes conforme eles são encadeados juntos para processamento do arquivo de log. Cada arquivo de log possui um contexto separado e vários contextos podem ser definidos em uma única configuração. O Adaptador de Log Genérico fornece um contexto:

Um contexto tem as propriedades a seguir:

Propriedade Tipo Comportamento
Descrição cadeia Uma descrição de texto para o contexto. Este valor é utilizado apenas pelo Editor de Configuração de Adaptador.
ID Exclusivo cadeia Um identificador exclusivo para este componente. O contexto refere-se a esta cadeia para identificar a instância do componente a ser utilizada.
É Operação Contínua booleano Indica se este arquivo de log deve, ou não, ser monitorado quanto a alterações com base nas propriedades Tempo Máximo Inativo e Intervalo de Pausa.
Tempo Máximo Inativo inteiro (milissegundos) O período de tempo máximo que o contexto aguardará pela alteração de um arquivo de log, antes de encerrar a si mesmo.
Intervalo de Pausa inteiro (milissegundos) O período de tempo que o contexto aguardará, depois de alcançar o fim do arquivo de log, antes de tentar ler novamente.

Sensor

O sensor fornece o mecanismo para ler o conteúdo para processamento. O Adaptador de Log Genérico fornece os sensores a seguir:

A tabela a seguir lista os atributos que são comuns entre os tipos de sensor.

Atributos do Sensor

Nome do Atributo Tipo Comportamento
Tipo de Sensor Cadeia O tipo de sensor a ser utilizado pelo adaptador.
Descrição (obrigatório) Cadeia Uma descrição de texto para o sensor. Este valor é utilizado apenas pelo Editor de Configuração de Adaptador.
ID Exclusivo (obrigatório) Cadeia Um identificador exclusivo para este componente. O sensor refere-se a esta cadeia para identificar a instância do componente a ser utilizada.
Bloco Máximo (obrigatório) Inteiro O número máximo de linhas que o sensor lê antes de redirecionar para processamento no extrator. Para o tipo StaticParserSensor, este campo indica o número máximo de objetos Common Base Event criados pelo analisador estático antes de redirecionar para processamento no emissor de saída.
Buffer de Confiança Inteiro Os n últimos bytes de um arquivo a serem salvos e utilizados para determinar se ocorreu uma anexação ao arquivo desde a última leitura.
Tamanho do Rodapé Inteiro Os n bytes de um arquivo que contêm um conteúdo variável. A parte do rodapé de um arquivo não será utilizada ao determinar se ocorreu uma anexação desde a última leitura do arquivo.

A tabela a seguir lista as propriedades específicas de cada tipo de sensor. Estas propriedades são conhecidas pelo código do componente e devem ser digitadas exatamente conforme indicado na tabela para que sejam reconhecidas e utilizadas pelo componente.

Tipo de Sensor Propriedades Aplicação
SingleFileSensor
directory (obrigatório)
O local do diretório do arquivo a ser lido pelo SinlgeFileSensor.
fileName (obrigatório)
O nome do arquivo a ser lido pelo SingleFileSensor.
shell
O shell UNIX para executar o comando do conversor. Utilizado apenas em plataformas UNIX
converter
Uma linha de comandos para uma instrução de pré-processamento ser executada antes de iniciar o sensor.
Utilizado ao criar um adaptador para analisar um arquivo de log com regras de expressão comum
StaticParserSensor
directory (obrigatório)
O local do diretório do arquivo a ser lido pelo StaticParserSensor.
fileName (obrigatório)
O nome do arquivo a ser lido pelo StaticParserSensor.
parserClassName (obrigatório)
O nome da classe Java que implementa o analisador estático. A classe deve implementar a interface org.eclipse.hyades.logging.parsers.IParser.
Utilizado ao criar um adaptador para analisar um arquivo de log com uma classe Java do analisador de log.

Extrator

O Extrator extrai uma coleção de linhas de entrada fornecidas pelo sensor e as separa em limites de mensagens.

O Adaptador de Log Genérico fornece os extratores a seguir:

As propriedades a seguir são fornecidas como parte da configuração do extrator:

Propriedade Tipo Comportamento
Descrição cadeia Uma descrição de texto para o extrator. Este valor é utilizado apenas pelo Editor de Configuração de Adaptador.
ID Exclusivo cadeia Um identificador exclusivo para este componente. O extrator refere-se a esta cadeia para identificar a instância do componente a ser utilizada.
Contém Quebras de Linha booleano Indica se as mensagens no arquivo de log se estendem por várias linhas.
Substituir Quebras de Linha booleano Substitui as quebras de linha neste arquivo por um outro segmento de cadeia. A substituição é feita antes do extrator procurar o Padrão de Início e o Padrão de Fim.
Símbolo de Quebra de Linha cadeia O segmento de cadeia a substituir as quebras de linha. Utilizado apenas se Substituir Quebras de Linha for true.
Incluir Padrão de Início booleano Indica se o StartPattern deve ser incluído como parte da mensagem a ser redirecionada para o próximo componente. Se o valor for false, a parte correspondente da mensagem será multiplexada.
Padrão de Início cadeia ou expressão comum O segmento de cadeia que identifica o início de uma mensagem. Você sempre pode utilizar a classe RegularExpressionExtractor. No entanto, se o padrão de início for uma cadeia simples, a classe SimpleExtractor estará sujeita a menos sobrecarga.
Incluir Padrão de Fim booleano Indica se o Padrão de Fim deve ser incluído como parte da mensagem a ser redirecionada para o próximo componente. Se o valor for false, a parte correspondente da mensagem será multiplexada.
Padrão de Fim cadeia ou expressão comum O segmento de cadeia que identifica o fim de uma mensagem. Se o Padrão de Fim não for especificado, a mensagem será delimitada pelo próximo Padrão de Início.

Analisador

O analisador obtém as mensagens que foram delimitadas pelo extrator e constrói um conjunto de mapeamentos de valores de cadeia para uma estrutura de dados. No caso do Adaptador de Log Genérico, a estrutura de dados é o Common Base Event 1.0.1

O Adaptador de Log Genérico fornece a classe de analisador a seguir:

O analisador tem duas fases de execução:

  1. A fase de processamento global, em que um conjunto de expressões comuns globais são executadas para a mensagem fornecida pelo extrator.
  2. A fase de processamento de atributos, em que conjuntos específicos de regras de substituição são executados para determinar o valor a ser designado para cada atributo na estrutura de dados (Common Base Event 1.0.1).

As duas fases de execução permitem que a mensagem seja representada por token para uma série de valores de atributos durante a fase de processamento global. Os valores de atributos podem ser referidos pelo nome do atributo ou índice durante a fase de processamento de atributos.

As propriedades globais a seguir são especificadas como parte do analisador:

Propriedade Tipo Comportamento
Descrição cadeia Uma descrição de texto para o analisador. Este valor é utilizado apenas pelo Editor de Configuração de Adaptador.
ID Exclusivo cadeia Um identificador exclusivo para este componente. O analisador refere-se a esta cadeia para identificar a instância do componente a ser utilizada.
Token de Separador cadeia ou expressão comum Um token, ou uma expressão comum que descreve uma série de tokens, que fragmenta a mensagem em pares de atributo-valor.

Por exemplo, se cada nova linha do arquivo de log contiver um atributo e seu valor, você poderá especificar um Token de Separador \n. A vantagem de fragmentar a mensagem é que os segmentos de cadeia podem ser referidos na fase de processamento de atributos.

Token de Atribuição cadeia ou expressão comum Um token, ou uma expressão comum que descreve uma série de tokens, que fragmenta os segmentos de cadeia criados pelo Token de Separador em pares de atributo-valor. Por exemplo, se cada atributo e valor forem separados por um sinal =, e o valor do Token de Atribuição for =, o atributo e seu valor poderão ser referidos na fase de processamento de atributos. Se um token de separador for especificado, mas um token de atribuição não for especificado, a mensagem será fragmentada em uma lista de valores de atributos que poderão ser referidos nas regras de substituição por índice.

Os atributos individuais do Common Base Event possuem as propriedades a seguir:

Propriedade Tipo Comportamento
Utilizar Substituição de Correspondência Anterior como Padrão booleano Se o conjunto atual de regras de substituição para esta atributo retornar uma correspondência positiva, armazene o valor de correspondência para que ele possa ser utilizado como padrão para processar o próximo registro, se não houver correspondência positiva.
Valor Padrão cadeia Se nenhuma das regras de substituição fornecer uma correspondência positiva para este atributo ou não houver regras de substituição para ele, este atributo será designado ao valor padrão especificado aqui. Se desejar o mesmo valor para todos os registros de um atributo específico, será possível utilizar esta propriedade em vez de criar uma regra de substituição padrão para este atributo. Observe que Utilizar Substituição de Correspondência Anterior como Padrão terá precedência se houver um valor salvo disponível.

As regras de substituição são executadas como parte da fase de processamento de atributos. Elas são processadas, na ordem, de cima para baixo. Assim que uma regra é correspondida, nenhuma outra regra é executada para esta propriedade. Se nenhuma correspondência for localizada, nenhum valor será colocado no atributo, a menos que as propriedades Utilizar Substituição de Correspondência Anterior como Padrão ou Valor Padrão do atributo sejam especificadas.

As regras de substituição contêm as propriedades a seguir:

Propriedade Tipo Comportamento
Corresponder expressão comum A expressão comum que identifica o valor a ser aplicado para este atributo se ocorrer uma correspondência no escopo do segmento de cadeia que estiver sendo processado por esta Regra de Substituição. Se você não fornecer uma expressão comum, a regra será considerada uma correspondência.
Posições pares de atributos de nome-valor As Posições permitem referir-se aos pares de atributos de nome-valor criados durante a fase de processamento global.
  • Se ambos os separadores, de token e de atribuição, forem especificados, a cadeia Posições poderá referir-se a vários atributos por nome, utilizando a gramática a seguir: $h('Attr1')@@$h('Attr2')...
    $h('Attrn') identifica um nome de atributo criado anteriormente.
    em que @@ é o separador entre os atributos.
  • Se um token de separador for especificado, mas não um token de atribuição, a cadeia de Posições poderá referir-se a um ou mais atributos por índice, em vez de por nome, utilizando a gramática a seguir: n1@@n2..
    em que n1 e n2 são inteiros que representam os índices. O índice inicial em 1. Se a cadeia de mensagem começar com um token de separador, o valor do atributo no índice 1 será nulo. O primeiro valor de atributo começará no índice 2.

Na propriedade Corresponder, você pode incluir o separador para indicar quais expressões comuns devem ser aplicadas a qual valor de atributo. A propriedade Substituir pode referir-se a esses átomos de atributos utilizando $1, $2 e assim por diante..

Substituir cadeia O valor a ser colocado no atributo. Pode ser uma cadeia ou pode referir-se à expressão comum na propriedade Corresponder. Os segmentos de cadeia que são extraídos pela propriedade Corresponder podem ser referidos utilizando os agrupamentos na expressão comum. $1 indica o primeiro agrupamento, $2 o segundo e assim por diante.
Utilizar Função Interna caixa de opções Utilizar a função interna quando selecionada para um atributo, se nenhuma das regras de substituição anteriores, se alguma existir, forem correspondidas, faz com que o tempo de execução do Adaptador de Log Genérico gere um valor para este atributo utilizando suas próprias funções internas. Este recurso é suportado apenas para os atributos do CBE a seguir:
  • localInstanceId
  • globalInstanceId
  • componentIdentification.location
  • componentIdentification.locationType
Classe de Substituição cadeia Especifica o nome de uma classe Java criada pelo usuário que pode executar lógica de análise personalizada no valor correspondido pelas especificações Posições, Corresponder e Substituir da regra. Se a regra de substituição corresponder aos dados no registro, essa classe será chamada e o resultado será utilizado para criar o objeto Common Base Event.
Especificações:
  • Esta classe deve implementar a classe de interface org.eclipse.hyades.logging.adapter.parsers.ISubstitutionExtension ou a classe de extensão org.eclipse.hyades.logging.adapter.parsers.IStatefulSubstitutionExtension para que seja executada pelo Adaptador de Log Genérico.
  • Utilize a classe de extensão quando você deseja salvar os dados do estado entre os registros do arquivo de log. A classe org.eclipse.hyades.logging.adapter.parsers.IStatefulSubstitutionExtension faz com que o Adaptador de Log Genérico aloque apenas uma instância dessa classe para analisar todos os registros no arquivo de log.
  • A classe de usuário deve ser incluída no caminho de classe do tempo de execução do Adaptador de Log Genérico.
  • Se o Adaptador de Log Genérico estiver sendo executado em um ambiente Eclipse, a classe poderá ser criada como uma extensão de plug-in eclipse do Adaptador de Log Genérico, utilizando o ponto de extensão substitutionExtension do plug-in org.eclipse.hyades.logging.adapter.
Formato de Hora cadeia Este campo se aplica apenas às regras de substituição do elemento creationTime e é utilizado para simplificar a análise de data e hora. Por exemplo, alguns arquivos de log contêm time stamps que incluem o nome do mês em vez de sua representação numérica. Isso dificulta a criação de regras de substituição para gerar o valor de cadeia na forma do tipo de dados dateTime do Esquema XML requerido pelo elemento creationTime do CBE. Neste caso, o usuário pode especificar um formato de data simples do java, conforme documentado no javadoc para java.text.SimpleDateFormat (java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html) no campo Formato de Hora. O valor correspondido pelas especificações Posições, Corresponder e Substituir da regra será analisado com base na cadeia de Formato de Hora e o valor resultante será utilizado para gerar o valor creationTime do CBE.

Formatador

O formatador obtém os mapeamentos de atributos para seus valores fornecidos pelo analisador e constrói a instância correta do objeto Java. O tempo de execução do adaptador contém um único formatador que cria objetos Common Base Event em conformidade com especificação Common Base Event versão 1.0.1.

O formatador contém as propriedades a seguir:

Propriedade Tipo Comportamento
ID Exclusivo cadeia Um identificador exclusivo para este componente. O formatador refere-se a esta cadeia para identificar a instância do componente a ser utilizada.
Descrição cadeia Uma descrição de texto para o formatador. Este valor é utilizado apenas pelo Editor de Configuração de Adaptador.

Emissor de Saída

O emissor de saída externaliza os registros resultantes do Common Base Event fornecidos pelo formatador. Os emissores de saída fornecem, ou agrupam, o mecanismo para armazenar as saídas finais do contexto. O Adaptador de Log Genérico Hyades fornece os emissores de saída a seguir:

Propriedades do emissor de saída:

Propriedade Tipo Comportamento
ID Exclusivo cadeia Um identificador exclusivo para este componente. O emissor de saída refere-se a esta cadeia para identificar a instância do componente a ser utilizada.
Descrição cadeia Uma descrição de texto para o emissor de saída. Este valor é utilizado apenas pelo Editor de Configuração de Adaptador.
Tipo de Emissor de Saída enumeração O tipo do emissor de saída.

Tipos de emissores de saída e as propriedades obrigatórias:

Tipo de Emissor de Saída Propriedades Obrigatórias
StandardOutOutputter Nenhuma
SingleFileOutputter directory, fileName
LoggingAgentOutputter agentName - nome fornecido ao agente de log quando ele é criado
waitUntilLoggingTime (opcional) - o tempo que o emissor de saída aguardará para o usuário anexar e iniciar a monitoração do agente, antes de iniciar a gravação no agente. Se esta propriedade não for especificada, o emissor de saída não aguardará o agente ser monitorado, antes de gravar nele.
NotificationOutputter resourceURL - URL do Depósito de Notificações que receberá os eventos

 

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
Criando um Adaptador Estático

Referências Relacionadas
Estrutura do Arquivo de Configuração do Adaptador
Especificação do Formato Common Base Event
Editor de Configuração de Adaptador
Gramática de Expressão Comum