Todos os produtos
Search
Central de documentação

Simple Log Service:Compatibilidade entre o Simple Log Service e o Elasticsearch

Última atualização: Jul 03, 2026

O Simple Log Service oferece uma API compatível com Elasticsearch que traduz consultas em DSL do Elasticsearch para consultas de índice do SLS e análises SQL. Este tópico aborda os princípios de compatibilidade, as operações de API compatíveis e a sintaxe DSL aceita.

Importante

Este documento é de propriedade da Alibaba Cloud. Ele descreve como os serviços da Alibaba Cloud interagem com produtos de terceiros e pode mencionar nomes de empresas ou produtos externos.

Princípio de compatibilidade

O Elasticsearch é um mecanismo de busca e análise distribuído e open-source, baseado no Apache Lucene. Ao migrar do Elasticsearch para o Simple Log Service, talvez seja necessário ajustar fluxos de trabalho e modifique programas upstream e downstream. O Simple Log Service fornece uma API compatível com Elasticsearch para simplificar essa migração.

Essa API converte consultas em DSL do Elasticsearch em consultas de índice e análises SQL do Simple Log Service e retorna os resultados no formato da API do Elasticsearch.

Nota
  • A API compatível com Elasticsearch baseia-se na especificação do Elasticsearch 7.10.

  • Essa API é compatível apenas com Logstores padrão e exige a criação de pelo menos um índice de campo.

image

Endpoints da API compatível com Elasticsearch

O formato do endpoint é https://${project}.${sls-endpoint}/es/. Por exemplo: https://etl-guangzhou.cn-guangzhou.log.aliyuncs.com/es/. ${project} representa o nome do projeto e ${sls-endpoint} corresponde ao endpoint do Simple Log Service. Para mais informações, consulte Endpoint.

Operações de API do Elasticsearch compatíveis

A API compatível com Elasticsearch aceita as seguintes operações.

Método de requisição

Caminho da API

Descrição

Post

/${index}/_search

Consulta o índice especificado. O índice mapeia para um projeto e Logstore do Simple Log Service no formato ${project}.${logstore}.

Post

/${index}/_async_search

Executa uma consulta em lote.

Post

/_msearch

Realiza uma consulta em lote.

Post

/${index}/_bulk

Grava dados no índice especificado.

Importante

A operação _bulk aceita apenas gravação de dados e não permite atualizações.

Get

/${index}/_mapping

Obtém o mapeamento do índice especificado.

DSL do Elasticsearch compatível

A API compatível com Elasticsearch aceita os seguintes elementos de DSL do Elasticsearch.

DSL relacionado a consultas

DSL

Descrição

bool

Executa uma operação booleana.

match_all

Corresponde a todos os logs.

match

Corresponde a um índice.

match_phrase

Correspondência de frase.

Traduzido para uma cláusula SQL LIKE. Retorna apenas campos indexados.

multi_match

Corresponde a múltiplos campos.

prefix

Executa uma consulta por prefixo.

range

Executa uma consulta por intervalo.

term

Executa uma consulta por termo.

Traduzido para a sintaxe de consulta de índice do Simple Log Service.

terms

Executa uma consulta por múltiplos termos.

Traduzido para a sintaxe de consulta de índice do Simple Log Service.

wildcard

Corresponde a um padrão curinga.

Traduzido para a sintaxe de análise SQL do Simple Log Service.

regexp

Corresponde a uma expressão regular.

Traduzido para a sintaxe SQL regexp_like. Retorna apenas campos indexados.

exists

Verifica se um campo existe.

ids

Consulta o campo ID.

DSL relacionado a agregações

Categoria

DSL

Descrição

Estatísticas de grupo

Date histogram

Agrupa estatísticas pelo campo @timestamp.

Histogram

Agrupa estatísticas por um intervalo numérico.

Range

Agrupa estatísticas por uma faixa numérica.

Terms

Agrupa estatísticas pelos valores únicos de um campo.

Filter

Agrupa estatísticas por uma única condição de filtro.

Filters

Agrupa estatísticas por múltiplas condições de filtro.

Estatísticas de métrica

Min

Calcula o valor mínimo.

Max

Calcula o valor máximo.

Avg

Calcula o valor médio.

Sum

Calcula a soma.

Count

Calcula a contagem.

Cardinality

Calcula a contagem de valores únicos.

Percentiles

Calcula o percentil.

Log retornado

Top hits

Retorna os principais logs correspondentes por grupo.

Diferenças em relação ao Elasticsearch padrão

  • A API compatível com Elasticsearch não aceita atualização de dados.

  • A API compatível com Elasticsearch não aceita consultas baseadas em scripts.

  • Um único Logstore aceita petabytes de dados, eliminando a necessidade de rollover de índices.

  • Os índices não são criados automaticamente. Crie-os pela API ou pelo console. Criar um índice.

  • Os campos abaixo possuem mapeamentos específicos no DSL do Elasticsearch.

    Elasticsearch

    Simple Log Service

    Descrição

    @timestamp

    __time__

    O campo @timestamp mapeia para o campo __time__ do Simple Log Service nas consultas.

    _id

    Nenhum

    Mapeia para o campo _id caso exista nos dados do Simple Log Service. Se o campo _id não existir, será preenchido automaticamente com uuid ou _pack_meta.

Autorização RAM

Conceda permissões de consulta e gravação na API compatível com Elasticsearch a um usuário do Resource Access Management (RAM) utilizando uma das políticas de acesso abaixo.

  • Políticas do sistema: fáceis de configure.

  • Políticas personalizadas: oferecem permissões granulares, mas têm configuração mais complexa.

Autorização simples

Utilize políticas do sistema para conceder permissões de consulta e gravação na API compatível com Elasticsearch a um usuário RAM. Gerencie as permissões de um usuário RAM.

Nome da política do sistema

Permissão de consulta

Permissão de gravação

AliyunLogFullAccess

Sim

Sim

AliyunLogReadOnlyAccess

Sim

Não

Políticas personalizadas

Use políticas personalizadas para obter permissões granulares. Crie uma política personalizada. Gerencie as permissões de um usuário RAM.

  • Conceda permissões de consulta e gravação para a API compatível com Elasticsearch.

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "log:GetIndex",
                    "log:GetLogStoreContextLogs",
                    "log:ListLogStores",
                    "log:GetLogStoreHistogram",
                    "log:GetLogstoreLogs",
                    "log:GetLogStoreContextLogs",
                    "log:GetCursorOrData",
                    "log:GetLogstore",
                    "log:PostLogStoreLogs"
                ],
                "Resource": "acs:log:*:*:project/*"
            }
        ]
    }
  • Conceda apenas permissão de consulta para a API compatível com Elasticsearch.

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "log:GetIndex",
                    "log:GetLogStoreContextLogs",
                    "log:ListLogStores",
                    "log:GetLogStoreHistogram",
                    "log:GetLogstoreLogs",
                    "log:GetLogStoreContextLogs",
                    "log:GetCursorOrData",
                    "log:GetLogstore"
                ],
                "Resource": "acs:log:*:*:project/*"
            }
        ]
    }
  • Conceda apenas permissão de gravação para a API compatível com Elasticsearch.

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "log:PostLogStoreLogs"
                ],
                "Resource": "acs:log:*:*:project/*"
            }
        ]
    }