Todos os produtos
Search
Central de documentação

Simple Log Service:Tipos de dados

Última atualização: Sep 10, 2026

Ao criar índices, defina o tipo de dados de um campo como text, long, double ou JSON. Este tópico descreve os tipos de dados dos campos e fornece exemplos de configuração.

Visão geral dos tipos de dados

Recomendamos usar o console para crie indexes. O Simple Log Service (SLS) gera automaticamente um índice de campo com base na primeira entrada dos dados de visualização durante a coleta. Você também pode criar índices de campo personalizados.

  • Tipos text, long e double:

    • Para consultar e analisar campos do tipo string, defina o tipo de dados desses campos como text ao criar os índices e ative a opção Enable Analytics para eles.

      Nota

      É possível ativar a análise de forma independente para campos dos tipos text, long e double. Um campo só pode ser usado para filtragem com cláusula WHERE, análise agregada (SELECT/GROUP BY) e visualização em consultas SQL após a ativação da opção Enable Analytics. Se a análise não estiver ativada, o campo pode não ser extraível ou retornar null na análise da consulta SQL.

      Na interface de configuração Key/Value Index Attributes do console, cada linha de campo possui um seletor Enable Analytics. Esse seletor está disponível independentemente para os tipos de campo text, long e double e permanece visível mesmo quando o tipo de campo é alterado.

      Importante

      O comprimento máximo padrão do valor de campo no Simple Log Service é de 2 KB (2.048 bytes). O conteúdo que excede esse limite é truncado, não sendo indexado nem analisado. Isso não afeta a coleta ou o relatório de Raw Logs.

      Para analisar completamente campos mais longos, aumente o comprimento máximo de um campo de texto analisado para 16 KB. O impacto desse aumento no desempenho da análise SQL não está documentado. Avalie o efeito com base no seu cenário de negócios.

    • Consulte o valor de um campo usando um intervalo numérico somente se definir o tipo de dados do campo como long ou double. Caso defina o tipo de dados como long ou double, não será possível consultar o campo usando asterisco (*) ou ponto de interrogação (?), pois esses caracteres curinga servem para correspondência difusa.

      • Se o valor de um campo for um número inteiro, defina o tipo de dados do campo como long.

      • Quando o valor de um campo for um número de ponto flutuante, defina o tipo de dados do campo como double. Caso contrário, a consulta do campo não será possível.

      • Se você definir o tipo de dados de um campo como long ou double, mas o valor do campo for uma string, a consulta desse campo falhará.

      Importante

      Caso o valor de um campo seja um valor numérico inválido, consulte o campo usando a instrução de pesquisa not key > -1000000. Essa instrução retorna os logs nos quais o valor do campo é um valor numérico inválido. Substitua -1000000 por um valor numérico válido que seja menor ou igual ao menor valor numérico válido desse campo em seus logs.

  • Tipo JSON: Se o valor de um campo for do tipo JSON, defina o tipo de dados do campo como JSON ao criar índices.

    • Defina o tipo de dados de um campo em objetos JSON como long, double ou text com base no valor do campo e ative Enable Analytics para ele. Após ativar Enable Analytics, o SLS permite consultar e analisar o campo.

      Ao selecionar Automatically Index All Text Fields in JSON Field, o sistema cria índices automaticamente para todos os campos do tipo text em objetos JSON. Após a criação dos índices, o tráfego de índice é gerado.image.png

    • Para dados parcialmente válidos formatados em JSON, o SLS analisa apenas a parte válida dos dados.

      O exemplo a seguir mostra um log JSON incompleto. O SLS analisa os campos content.remote_addr, content.request.request_length e content.request.request_method.

      content: {
           remote_addr:"192.0.2.0"
           request: {
                   request_length:"73"
                   request_method:"GE
      Importante
      • É possível criar índices para nós folha em objetos JSON. Não é permitido criar índices para nós filhos que contenham nós folha.

      • Não há suporte para criação de índices em campos cujos valores sejam arrays JSON ou para campos dentro de um array JSON.

      • Quando o valor de um campo for do tipo Boolean, defina o tipo de dados do campo como text ao criar índices.

      • Uma instrução de consulta segue o formato Search statement|Analytic statement. Em uma instrução analítica, coloque o nome do campo entre aspas duplas ("") e strings entre aspas simples ('').

    • Referências

      • Para obter mais informações sobre cenários e perguntas frequentes relacionadas à consulta e análise de logs JSON, consulte FAQ about querying and analyzing JSON logs. As perguntas frequentes incluem informações sobre como criar índices, consultar e analisar campos JSON indexados, usar funções JSON e analisar arrays JSON.

      • Para detalhes sobre configurações e procedimentos relacionados à consulta e análise de logs JSON, consulte Query and analyze JSON logs.

      • Se o volume de dados dos logs JSON a serem consultados e analisados for pequeno, não crie índices para nós folha JSON. Utilize funções JSON para consultar e analisar os logs. Em casos de uso específicos, é possível usar apenas funções JSON para consulta e análise. Para obter mais informações sobre o uso de funções JSON, consulte When to use JSON functions. Para descrições e exemplos de funções JSON, consulte JSON functions.

Importante

Diferentemente dos campos regulares, intervalos de data e hora não podem ser configurados como campos indexados. Para consultar logs, especifique manualmente um intervalo de tempo usando Time Range no console.

Procedimento

  1. Crie índices no console do SLS. Para obter mais informações, consulte Create an index.

  2. Selecione os tipos de dados para os campos ao criar índices.

    Tipos text, long e double

    • Log de exemplo text日志样例

    • Configurações de índice text索引

    • Exemplos de instruções de consulta

      • Para consultar logs cuja duração da solicitação seja superior a 60 segundos, execute a seguinte instrução: request_time > 60

      • Para consultar logs cuja duração da solicitação seja maior ou igual a 60 segundos, mas menor que 200 segundos, execute uma das seguintes instruções: request_time in [60 200) ou request_time >= 60 and request_time < 200.

      • Para consultar logs cujo código de status da solicitação seja 200, execute a seguinte instrução: status = 200.

      • Para consultar logs que não registram solicitações GET, execute a seguinte instrução: not request_method : GET.

      • Para consultar logs que contêm palavras específicas começando com cn, execute a seguinte instrução: cn*.

      • Para coletar estatísticas de distribuição de clientes, execute a seguinte instrução: * | SELECT ip_to_province(client_ip) as province, count(*) AS pv GROUP BY province ORDER BY pv.

    Tipo JSON

    • Log de exemplo

      A figura a seguir fornece um exemplo de log JSON. O log contém os campos class, latency, status e info, além dos campos reservados do SLS. O valor do campo info é um objeto JSON com várias camadas.

      JSON日志样例

    • Configurações de índice 配置索引

      A lista a seguir fornece mais detalhes:

      • Os valores dos campos IP e data são arrays JSON. Portanto, não é possível criar índices para o campo IP ou data, nem consultar ou analisar dados usando esses campos.

      • Os campos region e CreateTime estão dentro de um array JSON. Por isso, não é permitido criar índices para o campo region ou CreateTime, o que impossibilita a consulta ou análise de dados por meio deles.

    • Exemplos de instruções de consulta

      • Para consultar logs nos quais o valor do campo usedTime seja superior a 60 segundos, execute a seguinte instrução: info.usedTime > 60.

      • Para consultar logs nos quais o valor do campo success seja true, execute a seguinte instrução: info.success : true.

      • Para consultar logs nos quais o valor do campo usedTime seja superior a 60 segundos e o valor do campo projectName não seja project01, execute a seguinte instrução: info.usedTime > 60 not info.param.projectName : project01.

      • Para calcular a duração média necessária para obter as informações do projeto, execute a seguinte instrução: methodName = getProjectInfo | SELECT avg("info.usedTime") AS avg_time.

Nota

Ao configurar índices, observe as seguintes regras:

  • Ative pelo menos um dos atributos FullText Index ou Key/Value Index.

  • As configurações de índice no nível do campo substituem as definições de campos com o mesmo nome no FullText Index. Por exemplo, se um campo estiver configurado para busca tokenizada de texto completo no FullText Index, mas você configurar separadamente um tipo e propriedades para esse campo no Key/Value Index, a configuração do Key/Value Index terá precedência.

  • Quando o tipo de campo for long ou double, as propriedades Case Sensitive e Token não terão efeito.

  • É possível apenas diminuir o tempo de retenção do índice.

  • As alterações na configuração do índice (incluindo adição de campos, modificação de tipos e ativação de seletores de estatísticas/consultas) entram em vigor após aproximadamente 1 minuto, mas aplicam-se apenas aos novos dados gravados depois que o índice entrar em vigor. Para consultar dados históricos, reindexe os dados. Para obter mais informações, consulte Reindex data.

  • A reindexação oferece suporte apenas a dados dos últimos 30 dias e com pelo menos 15 minutos de antiguidade.