A coleta incremental tradicional de logs não consegue coletar arquivos estáticos existentes em uma única execução. A coleta única permite implantar configurações de coleta em lote para um grupo de máquinas por meio do console ou API, coletar o conteúdo de arquivos estáticos especificados uma única vez e encerrar a tarefa automaticamente após a conclusão.
Aplicabilidade
LoongCollector versão 3.3 ou posterior.
O LoongCollector oferece suporte à coleta em hosts Linux e Windows, mas não à coleta em contêineres.
Configuração de coleta
Preparation: Crie um Project e um Logstore. Um Project isola logs de diferentes services. Um Logstore armazena os logs.
Configure a machine group (Install LoongCollector): Instale o LoongCollector de acordo com o tipo do seu servidor e adicione-o a um grupo de máquinas. Gerencie os nós de coleta, distribua configurações e monitore a integridade do servidor usando o grupo de máquinas.
-
Create and configure a one-time file collection rule:
Global and input configuration: Nomeie a configuração de coleta e especifique a source e o escopo do log.
-
Log processing and structuring: Configure as definições de processamento com base no formato do seu log.
Logs multilinha: Lida com entradas de log que abrangem várias linhas, como stack traces do Java ou tracebacks do Python. Use uma regex de início de linha para identificar o começo de cada entrada de log, mesclando as linhas subsequentes em um único registro.
Análise estruturada: Configure um plugin de parser (como regex, delimitador ou modo NGINX) para analisar strings brutas em pares de chave e valor estruturados. Isso permite consultar e analisar cada campo de forma independente.
Log filtering: Configure listas de bloqueio de coleta e regras de filtragem de conteúdo para selecionar apenas logs relevantes, o que reduz a transmissão e o armazenamento de dados redundantes.
Log categorization: Configure tópicos de log para categorizar de forma flexível logs de diferentes services, servidores ou caminhos de source.
Query and analysis configuration: O índice de texto completo é ativado por padrão e oferece suporte a pesquisas por palavras-chave. Para campos estruturados, ative um índice de campo para melhorar a eficiência da pesquisa e oferecer suporte a consultas e análises precisas.
Verify collection results: Após concluir a configuração, verifique se os logs foram coletados com sucesso. Se você encontrar problemas, como logs não coletados, falhas de heartbeat ou erros de análise, consulte o FAQ.
Pré-requisitos
Crie um Project e um LogStore para gerenciar e armazenar seus logs antes de coletá-los. Se você já tiver esses recursos, pule esta etapa e prossiga para Configure a Machine Group (Install LoongCollector).
Criar um Project
Criar um LogStore
Etapa 1: Configurar um grupo de máquinas
Instale o LoongCollector em seus servidores e adicione-os a um grupo de máquinas.
Estas etapas de instalação se aplicam apenas se a source do log for uma instância ECS na mesma conta e região do Alibaba Cloud que o Project do Log Service.
Se a sua instância ECS e o Project não estiverem na mesma conta ou região, ou se a source do seu log for um servidor on-premises, consulte Install and configure LoongCollector.
Procedimento:
Na página
Logstores, clique em
ao lado do nome do logstore de destino para expandi-lo.Clique em . Na aba One-time Logtail Configuration, clique em Add Logtail Configuration.
Na caixa de diálogo Quick Data Import, clique em Integrate Now no cartão One-Time File Collection - Host.
-
Na página Machine Group Configurations, configure os seguintes parâmetros:
Scenario: Servers
Installation Environment: ECS
-
Selecione o grupo de máquinas: Selecione uma ação com base no status do LoongCollector e do grupo de máquinas no servidor de destino:
Se o LoongCollector estiver instalado e tiver sido adicionado a um grupo de máquinas, selecione-o na lista Source Machine Group e adicione-o à lista Applied Machine Group. Você não precisa criar um novo.
-
Se o LoongCollector não estiver instalado, clique em Create Machine Group:
As etapas a seguir descrevem o processo em um clique para instalar o LoongCollector e criar um grupo de máquinas.
O sistema lista automaticamente as instâncias ECS que estão na mesma região do Project. Selecione uma ou mais instâncias das quais deseja coletar logs.
Clique em Install and Create Machine Group. O sistema instala automaticamente o LoongCollector nas instâncias ECS selecionadas.
Insira um Name para o grupo de máquinas e clique em OK.
NotaSe a instalação falhar ou permanecer em estado pendente, verifique se a instância ECS está na mesma região do Project.
Para adicionar um servidor com o LoongCollector já instalado a um grupo de máquinas existente, consulte How do I add a server to an existing machine group?
-
Verifique o status do heartbeat: Clique em Next. Quando a seção Heartbeat Status of Machine Group aparecer, verifique o Heartbeat. Se o status for OK, o grupo de máquinas estará conectado corretamente. Clique em Next para prosseguir para a página de configuração do Logtail.
Se o status for FAIL, o estabelecimento do heartbeat inicial pode levar algum tempo. Aguarde cerca de dois minutos e atualize o status do heartbeat. Se o status ainda for FAIL após a atualização, consulte Machine group heartbeat connection fails para solucionar o problema.
Etapa 2: Configurar uma regra de coleta de arquivo de execução única
Após instalar o LoongCollector e configurar o grupo de máquinas, acesse a página Logtail Configurations para definir as regras de coleta e processamento de logs.
1. Configurações globais e de entrada
Defina o nome da configuração de coleta e especifique a origem e o escopo da coleta de logs.
Global Configurations:
-
Configuration Name: especifique um nome personalizado para a configuração de coleta. O nome deve ser único no projeto (Project) e não pode ser modificado após a criação. As regras de nomenclatura são as seguintes:
Pode conter apenas letras minúsculas, dígitos, hifens (-) e sublinhados (_).
Deve começar e terminar com uma letra minúscula ou um dígito.
-
Execution Timeout: o padrão é 600s (10 minutos), e o tempo limite pode ser definido de 600 a 604.800 segundos (10 minutos a 7 dias). Caso uma tarefa de coleta exceda esse tempo limite, o sistema a interrompe à força e os dados restantes não são coletados.
ImportanteNota sobre atualizações de configuração: ao atualizar uma configuração, o período de validade é redefinido. Para evitar a execução duplicada de tarefas ou o envio inesperado de dados, certifique-se de que o escopo do grupo de máquinas esteja correto e que o tempo de execução da tarefa anterior não tenha excedido o Execution Timeout.
-
Force rerun on update: desativado por padrão.
-
Desativado:
Ao atualizar parâmetros da configuração de coleta que não sejam Execution Timeout ou Input Configurations, o sistema retoma o progresso atual da coleta em vez de reiniciar a tarefa. Isso garante uma coleta ininterrupta.
Se você modificar o Execution Timeout ou as Input Configurations, o sistema executa a tarefa de coleta novamente.
Ativado: ao atualizar a configuração de coleta, a tarefa é reiniciada à força. Isso garante que todos os dados sejam processados e enviados de acordo com as configurações mais recentes. Nota: os dados coletados antes da atualização não são excluídos. Para limpar os dados coletados anteriormente, consulte Soft deletion in Simple Log Service.
-
Input Configurations:
Type: One-time File Collection (LoongCollector 3.3+ required).
-
File Path: o caminho de onde os logs são coletados.
NotaO LoongCollector determina a lista de arquivos a serem coletados e seus tamanhos no momento em que recupera a configuração. Ele não coleta novos arquivos nem conteúdos adicionados aos arquivos existentes após esse momento.
Linux: o caminho deve começar com uma barra (
/). Por exemplo,/data/mylogs/**/*.logcoleta todos os arquivos com a extensão.logem todos os subdiretórios de/data/mylogs.Windows: o caminho deve começar com a letra da unidade. Por exemplo,
C:\Program Files\Intel\**\*.Log.
Maximum Directory Monitoring Depth: a profundidade máxima de diretório que o caractere curinga
**no File Path pode corresponder. O valor padrão é 0, o que significa que apenas o diretório atual é monitorado.
2. Processamento e estruturação de logs
Configure as regras de processamento de logs para converter logs brutos e não estruturados em dados estruturados e pesquisáveis. Primeiro, adicione uma amostra de log para obter os melhores resultados.
Na área Processor Configurations da página Logtail Configurations, clique em Add Sample Log e insira o conteúdo do seu log. O sistema usa essa amostra para identificar o formato do log e ajuda a gerar uma expressão regular e regras de análise, o que simplifica o processo de configuração.
Cenário 1: Processamento de logs de várias linhas
Uma entrada de log, como um stack trace de exceção Java ou um objeto JSON, geralmente abrange várias linhas. Por padrão, cada linha é tratada como um registro separado, o que divide as entradas de várias linhas em fragmentos incompletos. Para evitar isso, ative o modo de várias linhas e configure uma expressão regular de início de linha para mesclar linhas consecutivas em uma única entrada de log.
Exemplo:
|
Log bruto |
Modo padrão |
Modo de várias linhas |
|
Nos resultados da consulta, cada entrada de log carrega metadados duplicados, como o endereço IP |
No console do Simple Log Service, um log de exceção Java contendo o erro |
Procedimento: na área Processor Configurations da página Logtail Configurations, ative o Multi-line Mode:
-
Type: selecione Custom ou Multi-line JSON.
-
Custom: use esta opção para logs com formato inconsistente. É necessário configurar uma Regex to Match First Line para identificar o início de cada entrada de log.
-
Regex to Match First Line: você pode gerar essa expressão automaticamente ou inseri-la manualmente. A expressão regular deve corresponder a uma linha completa de dados. Por exemplo, a expressão para o log de amostra é
\[\d+-\d+-\w+:\d+:\d+,\d+]\s\[\w+]\s.*.Para gerar a expressão automaticamente, clique em Generate, selecione o conteúdo de log desejado na caixa de texto Log Sample e, em seguida, clique em Generate Regular Expression.
Para inserir a expressão manualmente, clique em Manually Enter Regular Expression, forneça sua expressão e clique em Validate.
-
Multi-line JSON: se seus logs brutos estiverem no formato JSON padrão, o Simple Log Service lida automaticamente com as quebras de linha dentro de uma única entrada de log JSON.
-
-
Processing Method If Splitting Fails:
Discard: se um bloco de texto não corresponder à regra de início de linha, o sistema o descarta.
Retain Single Line: o texto que não corresponde à regra é processado no modo de linha única, em que cada linha é tratada como um log separado.
Cenário 2: Processamento de logs estruturados
Consultar e analisar logs não estruturados ou semiestruturados, como logs de acesso do NGINX ou saídas de aplicativos, pode ser ineficiente. O Simple Log Service fornece plugins de processamento de dados que convertem logs brutos em dados estruturados para análise, monitoramento e alerta.
Exemplo:
|
Log bruto |
Log estruturado |
|
|
Procedimento: na área Processor Configurations da página Logtail Configurations:
Adicione um plugin de processador: clique em Add Processor e configure um plugin como regex, delimiter, or JSON parsing com base no formato do seu log. Este exemplo usa um log do NGINX e seleciona .
-
NGINX Log Configuration: copie toda a definição
log_formatdo arquivo de configuração do seu servidor NGINX (nginx.conf) e cole-a nesta caixa de texto.Exemplo:
log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$request_time $request_length ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent"';ImportanteA definição de formato aqui deve corresponder exatamente ao formato usado para gerar o log no seu servidor. Caso contrário, a análise falha.
-
Parâmetros comuns: os parâmetros a seguir são comuns a vários plugins de processamento de dados e têm a mesma finalidade.
Original field: especifica o campo de origem a ser analisado. O padrão é
content, que é toda a entrada de log coletada.Retain original field if parsing fails: recomendado. Se o plugin não conseguir analisar um log, por exemplo, devido a uma incompatibilidade de formato, esta opção retém o conteúdo original do log no campo original especificado.
Retain original field if parsing succeeds: esta opção retém o conteúdo original do log mesmo após uma análise bem-sucedida.
3. Filtragem de logs
Coletar grandes volumes de logs de baixo valor ou irrelevantes, como entradas DEBUG ou INFO, desperdiça armazenamento, aumenta custos, prejudica a eficiência das consultas e apresenta riscos de vazamento de dados. Use regras de filtragem refinadas para coletar apenas os logs necessários.
Filtragem de conteúdo
Filtre logs com base no conteúdo do campo, por exemplo, coletando apenas logs em que o level seja WARNING ou ERROR.
Exemplo:
|
Logs brutos |
Coletar apenas |
|
|
Procedimento: na área Processor Configurations da página Logtail Configurations:
Clique em Add Processor e selecione :
Field Name: o campo de log pelo qual filtrar.
Field Value: a expressão regular usada para filtragem. Apenas a correspondência de texto completo é suportada; a correspondência parcial de palavras-chave não é.
Lista de bloqueios de coleta
Use uma lista de bloqueios para excluir diretórios ou arquivos especificados e evitar o envio de logs irrelevantes ou confidenciais.
Procedimento: na página Logtail Configurations, acesse a área , ative a Collection Blacklist e clique em Add.
A correspondência exata e a correspondência com curingas são suportadas para diretórios e nomes de arquivos. Os únicos curingas suportados são o asterisco (*) e o ponto de interrogação (?).
-
File Path Blacklist: os caminhos de arquivo a serem ignorados. Exemplos:
/home/admin/private*.log: ignora todos os arquivos no diretório/home/admin/que começam comprivatee terminam com.logdurante a coleta./home/admin/private*/*_inner.log: ignora arquivos que terminam com_inner.logem diretórios que começam comprivatedentro do diretório/home/admin/.
-
File Blacklist: os nomes de arquivos a serem ignorados durante a coleta. Exemplo:
app_inner.log: ignora todos os arquivos chamadosapp_inner.logdurante a coleta.
-
Directory Blacklist: os caminhos de diretório não podem terminar com uma barra (
/). Exemplos:/home/admin/dir1/: a lista de bloqueios de diretório não tem efeito./home/admin/dir*: durante a coleta, ignora arquivos em todos os subdiretórios de/home/admin/cujos nomes começam comdir./home/admin/*/dir: ignora todos os arquivos em qualquer subdiretório de segundo nível chamadodirsob o diretório/home/admin/. Por exemplo, os arquivos no diretório/home/admin/a/dirsão ignorados, mas os arquivos no diretório/home/admin/a/b/dirsão coletados.
4. Categorizar logs
Quando logs de vários aplicativos ou instâncias compartilham o mesmo formato, mas possuem caminhos diferentes, como /apps/app-A/run.log e /apps/app-B/run.log, pode ser difícil distinguir suas origens após a coleta. Configure um tópico de log para diferenciar logs de vários aplicativos, serviços ou caminhos, permitindo consultas precisas em um destino de armazenamento unificado.
Procedimento: na área , selecione um método de geração de tópico. Os seguintes tipos são suportados:
Tópico do grupo de máquinas: ao aplicar uma configuração de coleta a vários grupos de máquinas, o LoongCollector usa automaticamente o nome do grupo de máquinas do servidor como valor para o campo
__topic__. Isso é útil para categorizar logs por host.Custom: use o formato
customized://<custom-topic-name>, por exemplo,customized://app-login. Este método é adequado para tópicos estáticos com identificadores de negócios fixos.-
Extração de caminho de arquivo: extrai informações essenciais do caminho completo de um arquivo de log para marcar dinamicamente a origem do log. Isso é útil quando vários usuários ou aplicativos compartilham o mesmo nome de arquivo de log, mas residem em caminhos diferentes. Por exemplo, quando vários usuários ou serviços gravam logs em diretórios de nível superior diferentes, mas usam o mesmo caminho de subdiretório e nome de arquivo, não é possível distinguir a origem apenas pelo nome do arquivo:
/data/logs ├── userA │ └── serviceA │ └── service.log ├── userB │ └── serviceA │ └── service.log └── userC └── serviceA └── service.logNesse caso, você pode configurar a extração de caminho de arquivo e usar uma expressão regular para extrair informações essenciais do caminho completo. O resultado correspondente é então enviado para o Logstore como o tópico do log.
Regras de extração de caminho de arquivo
Ao configurar a expressão regular, o sistema determina automaticamente o formato do campo de saída com base no número e nos nomes dos grupos de captura. As regras são as seguintes:
Em uma expressão regular para um caminho de arquivo, você deve usar escape para as barras (
/).Tipo de grupo de captura
Caso de uso
Campo gerado
Exemplo de regex
Exemplo de caminho correspondente
Exemplo de campo gerado
Grupo de captura único (apenas um
(.*?))Quando você precisa de apenas uma dimensão para distinguir origens, como por nome de usuário ou ambiente.
Gera o campo
__topic__.\/logs\/(.*?)\/app\.log/logs/userA/app.log__topic__: userAVários grupos de captura - Sem nome (vários
(.*?))Quando você precisa de várias dimensões para distinguir origens, mas não requer rótulos semânticos.
Gera o campo de tag
__tag__:__topic_{i}__, em que{i}é o índice do grupo de captura.\/logs\/(.*?)\/(.*?)\/app\.log/logs/userA/svcA/app.log__tag__:__topic_1__:userA;__tag__:__topic_2__:svcAVários grupos de captura nomeados (usando
(?P<name>.*?)Quando você precisa de várias dimensões para distinguir origens e deseja nomes de campos claros e significativos para facilitar a consulta e a análise.
Gera o campo de tag
__tag__:{name}\/logs\/(?P<user>.*?)\/(?P<service>.*?)\/app\.log/logs/userA/svcA/app.log__tag__:user:userA;__tag__:service:svcA
Etapa 3: Consulta e análise
Após concluir o processamento de logs e a configuração do plugin, clique em Next para acessar a página Query and Analysis Configurations.
O full-text index vem ativado por padrão e permite a busca por palavras-chave no conteúdo bruto dos logs.
Para consultar por campo, assim que os dados em Preview Data forem carregados, clique em Automatic Index Generation. O Log Service gera então um field index com base na primeira entrada da visualização.
Após concluir a configuração, clique em Next para finalizar o processo de coleta.
Etapa 4: Verifique os resultados da coleta
Depois que a configuração entrar em vigor, na página de consulta e análise do Logstore de destino, clique em Search & Analyze para visualizar os dados de log.
Perguntas frequentes
Ciclo de vida da coleta única
Após a criação de uma configuração de coleta única, ela segue o ciclo de vida abaixo:
Janela de distribuição de configuração: o LoongCollector (Logtail) pode baixar a configuração em até 5 minutos após a sua criação. Passados 5 minutos, novas instâncias do LoongCollector (Logtail) não conseguem mais obter essa configuração.
Exclusão automática da configuração: é esperado que o Log Service exclua a configuração 7 dias após a criação.
Execução da tarefa: a tarefa de coleta precisa terminar dentro do tempo limite de execução. Caso a tarefa exceda esse tempo, o sistema a interrompe forçadamente.
Coleta única de arquivos versus coleta legada
O método legacy historical file collection não é mais recomendado. Em comparação com aquele método, que exigia a criação manual de arquivos de configuração em cada servidor, a coleta única de arquivos melhora a eficiência, a confiabilidade e a observabilidade da configuração. A tabela a seguir traz uma comparação detalhada:
|
Item de comparação |
Método legado |
Coleta única de arquivos |
|
Método de configuração |
Crie um arquivo |
Crie uma configuração no console ou via API e implante-a em um grupo de máquinas em lotes. |
|
Correspondência de arquivos |
Insira manualmente os caminhos e os nomes dos arquivos. |
Oferece uma configuração simplificada, semelhante a |
|
Monitoramento de progresso |
Sem relatórios de status ou logs locais. |
Usa um checkpoint para rastrear o progresso da coleta, com granularidade até o offset atual de cada arquivo. |
|
Confiabilidade |
Baixa. Executa como um processo separado, sem controles de recursos ou mecanismo de checkpoint. |
Alta. Utiliza o gerenciamento de recursos padrão no nível do pipeline, oferece suporte a controle de fluxo para evitar impactos em outras tarefas de coleta e possibilita a transferência retomável. |
|
Flexibilidade |
Baixa. É obrigatório usar uma configuração de coleta existente. |
Alta. Orquestre a configuração de coleta e modifique-a durante a tarefa. |
Falha no heartbeat do grupo de máquinas
-
Verifique o ID do usuário. Se o seu servidor não for uma instância ECS, ou se a sua instância ECS e o Projeto pertencerem a contas Alibaba Cloud diferentes, verifique se o arquivo correto de ID de usuário existe no diretório especificado. Caso não exista, crie-o manualmente usando um dos seguintes comandos.
Linux: Execute o comando
cd /etc/ilogtail/users/ && touch <uid>para criar um arquivo identificador de usuário.Windows: Acesse o diretório
C:\LogtailData\users\e crie um arquivo vazio chamado<uid>.
-
Verifique o identificador do grupo de máquinas: se você usou um identificador definido pelo usuário quando criou o grupo de máquinas, verifique se o arquivo
user_defined_idexiste no diretório especificado. Se existir, verifique se o conteúdo do arquivo corresponde ao identificador definido pelo usuário configurado para o grupo de máquinas.-
Linux:
# Configure the user-defined identifier. If the directory does not exist, create it manually. echo "user-defined-1" > /etc/ilogtail/user_defined_id Windows: Crie um arquivo
user_defined_idno diretórioC:\LogtailDatae grave o identificador definido pelo usuário nele. (Se o diretório não existir, crie-o manualmente.)
-
Se tanto o ID do usuário quanto o identificador do grupo de máquinas estiverem corretos, consulte Troubleshoot LoongCollector (Logtail) machine group issues para obter as etapas de solução de problemas.
Adicionar um servidor a um grupo de máquinas
Para adicionar um novo servidor, como uma instância ECS recém-implantada ou um servidor autogerenciado, a um grupo de máquinas existente, associe-o ao grupo para que a configuração de coleta seja aplicada automaticamente.
Se um servidor for adicionado a um grupo de máquinas mais de 5 minutos após a criação da configuração de coleta única, ele não receberá a configuração. Verifique o cronômetro regressivo na parte superior da página de configuração de coleta para ver o tempo restante.
Pré-requisitos
Um grupo de máquinas existente.
O LoongCollector (Logtail) está installed no novo servidor.
Procedimento
-
Visualize o identificador do grupo de máquinas de destino.
No Projeto de destino, clique em
no painel de navegação à esquerda.Na página Machine Groups, clique no nome do grupo de máquinas de destino.
Na página de configuração do grupo de máquinas, visualize o identificador do grupo de máquinas.
-
Execute uma das seguintes ações com base no tipo de identificador.
NotaUm único grupo de máquinas não pode conter servidores Linux e Windows simultaneamente. Não configure o mesmo identificador definido pelo usuário em servidores Linux e Windows. Para configurar vários identificadores definidos pelo usuário em um único servidor, separe-os com uma quebra de linha.
-
Tipo 1: O identificador do grupo de máquinas é um endereço IP
-
No servidor, execute o seguinte comando para abrir o arquivo
app_info.jsone visualizar o valor deip.cat /usr/local/ilogtail/app_info.json Na página de configuração do grupo de máquinas de destino, clique em Modify e insira o endereço IP do servidor. Se você tiver vários endereços IP, separe-os com quebras de linha.
-
Após concluir a configuração, clique em Save e confirme o status do heartbeat. Se o status for OK, o servidor aplica automaticamente a configuração de coleta do grupo de máquinas.
Se o status do heartbeat for FAIL, consulte Machine group heartbeat is FAIL para obter instruções de solução de problemas.
-
-
Tipo 2: O identificador do grupo de máquinas é um identificador definido pelo usuário
Com base no sistema operacional, grave a string do identificador definido pelo usuário que corresponde ao grupo de máquinas de destino no arquivo especificado:
Se o diretório não existir, crie-o manualmente. O caminho e o nome do arquivo são fixos no Log Service e não podem ser personalizados.
Linux: Grave uma string personalizada no arquivo
/etc/ilogtail/user_defined_id.Windows: Grave uma string personalizada em
C:\LogtailData\user_defined_id.
-
Apêndice: Plugins de processamento nativo
Análise com expressões regulares
Extraia campos de log com expressões regulares e converta os logs em pares chave-valor. É possível consultar e analisar cada campo de forma independente.
Exemplo:
Log bruto sem nenhum processamento | Usando o plugin de análise com expressões regulares |
| |
Procedimento: Na página Logtail Configuration, na área Processor Configurations, clique em Add Processor e selecione :
-
Regular Expression: Usada para corresponder aos logs. Gere-a automaticamente ou insira-a manualmente:
-
Geração automática:
Clique em Generate Regex Automatically.
No Log Sample, selecione o conteúdo do log a ser extraído.
Clique em Generate Regex.
Entrada manual: insira a expressão regular manualmente com base no formato do log.
Após concluir a configuração, clique em Validate para testar se a expressão regular consegue analisar corretamente o conteúdo do log.
-
Extracted Field: Defina o nome do campo correspondente (chave) para o conteúdo do log extraído (valor).
Para obter informações sobre outros parâmetros, consulte as descrições gerais de parâmetros em Scenario 2: Structured Logs.
Análise com delimitadores
Estruture o conteúdo do log usando um separador, convertendo-o em vários pares chave-valor. Há suporte para separadores de um ou vários caracteres.
Exemplo:
Log bruto sem nenhum processamento | Dividir campos pelo caractere especificado |
| |
Procedimento: Na página Logtail Configuration, na área Processor Configurations, clique em Add Processor e selecione :
-
Delimiter: Especifique o caractere usado para dividir o conteúdo do log.
Exemplo: Para um arquivo CSV, selecione Custom e insira uma vírgula (,).
Quote: Quando o valor de um campo contém o separador, é necessário especificar aspas para envolver o campo e evitar divisões incorretas.
-
Extracted Field: Defina o nome do campo correspondente (chave) para cada coluna na ordem de separação. As regras são as seguintes:
Os nomes dos campos podem conter apenas letras, dígitos e sublinhados (_).
Devem começar com uma letra ou um sublinhado (_).
Comprimento máximo: 128 bytes.
Para obter informações sobre outros parâmetros, consulte as descrições gerais de parâmetros em Scenario 2: Structured Logs.
Análise de JSON
Estrutura um log JSON do tipo objeto, convertendo-o em pares chave-valor.
Exemplo:
Log bruto sem nenhum processamento | Extração automática de pares chave-valor JSON padrão |
| |
Procedimento: Na página Logtail Configuration, na área Processor Configurations, clique em Add Processor e selecione :
Original Field: O valor padrão é content. Este campo é usado para armazenar o conteúdo bruto do log a ser analisado.
Para obter informações sobre outros parâmetros, consulte as descrições gerais de parâmetros em Scenario 2: Structured Logs.
Análise de JSON aninhado
Analisa logs JSON aninhados em pares chave-valor ao especificar a profundidade de expansão.
Exemplo:
Log bruto sem nenhum processamento | Profundidade de expansão: 0, usando a profundidade de expansão como prefixo | Profundidade de expansão: 1, usando a profundidade de expansão como prefixo |
| | |
Procedimento: Na página Logtail Configuration, na área Processor Configurations, clique em Add Processor e selecione :
Original Field: O nome do campo de origem a ser expandido, por exemplo,
content.JSON Expansion Depth: O nível de expansão do objeto JSON. 0 significa expansão total (padrão), 1 significa o nível atual, e assim por diante.
Character to Concatenate Expanded Keys: O separador para nomes de campos durante a expansão JSON. O padrão é um sublinhado _.
Name Prefix of Expanded Keys: Especifique o prefixo para os nomes dos campos após a expansão JSON.
-
Expand Array: Ative esta opção para expandir um array em pares chave-valor com índices.
Exemplo:
{"k":["a","b"]}é expandido para{"k[0]":"a","k[1]":"b"}.Para renomear os campos expandidos, por exemplo, de prefix_s_key_k1 para new_field_name, adicione um plugin Rename Fields posteriormente para concluir o mapeamento.
Para obter informações sobre outros parâmetros, consulte as descrições gerais de parâmetros em Scenario 2: Structured Logs.
Análise de arrays JSON
Use a função json_extract function para extrair objetos JSON de um array JSON.
Exemplo:
Log bruto sem nenhum processamento | Extrair estrutura de array JSON |
| |
Procedimento: Na página Logtail Configuration, na área Processor Configurations, altere o Processing Method para SPL, configure a SPL Statement e use a função json_extract para extrair objetos JSON do array JSON.
Exemplo: Extraia elementos do array JSON no campo de log content e armazene os resultados nos novos campos json1 e json2.
* | extend json1 = json_extract(content, '$[0]'), json2 = json_extract(content, '$[1]')
Análise de logs do Apache
Estrutura o conteúdo do log com base na definição do arquivo de configuração de log do Apache, convertendo-o em vários pares chave-valor.
Exemplo:
Log bruto sem nenhum processamento | Análise do formato de log comum do Apache |
| |
Procedimento: Na página Logtail Configuration, na área Processor Configurations, clique em Add Processor e selecione :
Log Format: combined.
-
APACHE LogFormat Configuration: O sistema preenche automaticamente a configuração com base no Log Format.
ImportanteVerifique o conteúdo preenchido automaticamente para garantir que seja exatamente igual ao LogFormat definido no arquivo de configuração do Apache do seu servidor, geralmente localizado em /etc/apache2/apache2.conf.
Para obter informações sobre outros parâmetros, consulte as descrições gerais de parâmetros em Scenario 2: Structured Logs.
Análise de logs do IIS
Estrutura o conteúdo do log com base na definição do formato de log do IIS, convertendo-o em vários pares chave-valor.
Exemplo de comparação:
Log bruto | Adaptação de formato específico para servidor Microsoft IIS |
| |
Procedimento: Na página Logtail Configuration, na área Processor Configurations, clique em Add Processor e selecione :
-
Log Format: Selecione o formato de log usado pelos logs do seu servidor IIS.
IIS: Formato de arquivo de log do IIS.
NCSA: Formato de log comum NCSA.
W3C: Formato de arquivo de log estendido W3C.
-
IIS Configuration Fields: Ao selecionar IIS ou NCSA, o Simple Log Service define o campo de configuração do IIS por padrão. Ao selecionar W3C, defina-o como o conteúdo do parâmetro
logExtFileFlagsno seu arquivo de configuração do IIS. Por exemplo:logExtFileFlags="Date, Time, ClientIP, UserName, SiteName, ComputerName, ServerIP, Method, UriStem, UriQuery, HttpStatus, Win32Status, BytesSent, BytesRecv, TimeTaken, ServerPort, UserAgent, Cookie, Referer, ProtocolVersion, Host, HttpSubStatus"
Para obter informações sobre outros parâmetros, consulte as descrições gerais de parâmetros em Scenario 2: Structured Logs.
Mascaramento de dados
Mascare dados sensíveis nos logs.
Exemplo:
Log bruto sem nenhum processamento | Resultado do mascaramento |
| |
Procedimento: Na página Logtail Configuration, na área Processor Configurations, clique em Add Processor e selecione :
Original Field: O campo de origem que contém o conteúdo do log antes da análise.
-
Data Masking Method:
const: Substitui o conteúdo sensível pela string especificada.
md5: Substitui o conteúdo sensível pelo seu hash MD5 correspondente.
Replacement String: Ao selecionar const para Data Masking Method, insira uma string para substituir o conteúdo sensível.
Content Expression that Precedes Replaced Content: Usada para localizar conteúdo sensível. Configure usando a sintaxe RE2.
Content Expression to Match Replaced Content: A expressão para o conteúdo sensível. Configure usando a sintaxe RE2.
Análise de tempo
Analisa o campo de tempo no log e define o resultado da análise como o campo __time__ do log.
Exemplo:
Log bruto sem nenhum processamento | Análise de tempo |
| Na visualização de detalhes de log do SLS, o log JSON é analisado corretamente em campos estruturados. Cada campo ( |
Procedimento: Na página Logtail Configuration, na área Processor Configurations, clique em Add Processor e selecione :
Original Field: O campo de origem que contém o conteúdo do log antes da análise.
Time Format: Defina o formato de tempo correspondente com base no conteúdo de tempo no log.
Time Zone: Selecione o fuso horário do campo de tempo do log. Por padrão, o fuso horário da máquina é usado, que é o fuso horário do ambiente onde o processo LoongCollector (Logtail) está em execução.