O Simple Log Service (SLS) permite baixar logs ou resultados de consulta e análise para sua máquina local. Este tópico descreve os métodos de download e o procedimento correspondente.
Métodos de download
O Simple Log Service permite baixar logs ou resultados de consulta e análise pelo console, Cloud Shell, interface de linha de comando (CLI) do Simple Log Service ou SDK.
Os métodos via CLI e SDK não têm limite de volume de dados para downloads baseados em consultas. No entanto, instabilidades na rede podem interromper o processo.
O download compactado é suportado apenas no console.
O tamanho máximo de uma instrução de consulta SQL é 32 KB. Se ultrapassar esse limite, divida a consulta em vários lotes.
Se o LogStore usar o método de faturamento por dados ingeridos, o download dos resultados de consulta e análise (resultados SQL) será gratuito. Para mais informações, consulte pay-by-ingested-data.
Se o LogStore usar o método de faturamento por recurso, o download dos resultados de consulta e análise (resultados SQL) exigirá o Dedicated SQL, que gera custos. Para detalhes sobre as taxas, consulte Billable items for the pay-by-feature billing method.
|
Item de comparação |
Console (recomendado) |
OpenAPI |
CLI |
Cloud Shell |
SDK |
|
Limite de volume de dados |
|
|
|
|
|
|
Implantação |
Nenhuma |
Nenhuma |
Instale manualmente a CLI do Simple Log Service. |
Implantação automática. Aguarde a inicialização na primeira execução. |
Instale manualmente um SDK do Simple Log Service e escreva código personalizado. |
|
Autorização |
Configuração manual |
Configuração automática |
Configuração manual |
||
|
Dedicated SQL |
Necessário para baixar resultados de análise SQL. |
Necessário para baixar resultados de análise SQL. |
Não utilizado |
Não utilizado |
Configure os parâmetros conforme necessário. |
|
Tráfego de saída para internet |
Nenhum |
Nenhum |
Isento de taxas se a ferramenta estiver implantada em uma instância ECS na mesma região do projeto e usar um endpoint privado do Simple Log Service. |
Isento de taxas se o projeto estiver na região China (Shanghai). |
Isento de taxas se a ferramenta estiver implantada em uma instância ECS na mesma região do projeto e usar um endpoint privado do Simple Log Service. |
|
Integração com Network Attached Storage (NAS) |
Nenhuma |
Nenhuma |
Configuração manual, se necessário. |
Configuração automática |
Configuração manual, se necessário. |
Como alternativa, use o LogShipper para enviar logs ao Object Storage Service (OSS) e baixe-os diretamente de lá. Para mais informações sobre envio de logs, consulte Create an OSS shipping task (New).
Procedimento
Console
O console do Simple Log Service permite baixar tanto logs quanto resultados de consulta e análise. Os passos abaixo usam o download de logs como exemplo. Para baixar resultados de consulta e análise, execute uma instrução de consulta e, na aba Graph, clique em Download Log.
Se os logs excederem o limite por tarefa, apenas a quantidade máxima permitida será baixada. Para obter todos os logs, reduza o intervalo de tempo e faça o download em lotes.
Cada conta Alibaba Cloud suporta até três tarefas de download simultâneas, sem limite no número total de downloads. Se esse limite for atingido ou se vários usuários do Resource Access Management (RAM) iniciarem downloads ao mesmo tempo, aguarde a conclusão das tarefas em execução antes de tentar novamente.
Os registros de download são excluídos automaticamente após um dia.
O sistema tenta repetir automaticamente uma tarefa de download se ocorrer erro de rede ou imprecisão na consulta. Após três tentativas, o status da tarefa muda para Failed.
-
Diferença entre download online (Save As) e offline (Task Management):
Save As: baixa os resultados exibidos atualmente na página. Adequado para pequenos conjuntos de dados. A exportação de grandes volumes, como centenas de milhares de linhas, pode travar ou fechar o navegador. Nesses casos, use o recurso de download offline no Task Management ou reduza o intervalo de tempo da consulta para diminuir o volume.
Task Management (download offline): projetado para grandes conjuntos de dados. As tarefas são executadas de forma assíncrona em segundo plano. É possível fechar a página após criar a tarefa e baixar o arquivo quando ela for concluída.
O número real de linhas baixadas em uma tarefa offline pode diferir ligeiramente da contagem exibida nos resultados da consulta no frontend. Esse comportamento é esperado.
Se a atualização da página causar falhas nas operações de cópia ou no download online, utilize o recurso de download de logs em vez de copiar e colar manualmente.
Uma tarefa de download offline não tem duração fixa. O tempo necessário depende das condições da rede, da taxa de compressão dos dados, da carga atual do sistema e da necessidade de leitura de dados no armazenamento Infrequent Access ou Archive. O Simple Log Service não oferece SLA de duração nem fórmula para estimativa; portanto, uma tarefa lenta não significa necessariamente falha. Se o download estiver lento ou estagnado por muito tempo, reduza o intervalo de consulta para um dia ou uma semana, crie as tarefas em lotes e mescle os arquivos baixados para obter os logs completos. O download em lotes melhora tanto a velocidade quanto a estabilidade. Se o intervalo da consulta abranger dados no armazenamento Infrequent Access ou Archive no armazenamento em camadas, o tempo de leitura aumentará significativamente. Reduza ainda mais o intervalo de tempo ou torne a consulta mais seletiva para diminuir o volume de dados lidos dessas camadas.
-
Solução de problemas quando o download online falha, mas o offline funciona:
Verifique se a conexão de rede está estável e se a consulta não é excessivamente complexa.
Tente o download offline (Task Management) ou use CLI/SDK, pois são mais estáveis e adequados para grandes volumes de dados.
Se o download online continuar falhando, reduza o intervalo de tempo e baixe em lotes menores.
-
Se o botão Download Log estiver acinzentado e indisponível, verifique os seguintes pontos:
Confirme se você está na aba Raw Logs. Outras visualizações, como gráficos estatísticos, não suportam download.
Confirme se a consulta retornou resultados. Se o resultado estiver vazio, o botão de download ficará acinzentado. Ajuste a instrução de consulta ou o intervalo de tempo e execute novamente.
Verifique se o usuário RAM recebeu as permissões relacionadas ao download, incluindo
log:CreateDownloadJobelog:ListDownloadJobs. Para mais informações, consulte a seção Configuração de permissão de download neste documento.Certifique-se de que o número de tarefas de download simultâneas não atingiu o limite. Cada conta Alibaba Cloud suporta até três tarefas concorrentes. Se o limite for atingido, aguarde a conclusão das tarefas existentes antes de tentar novamente.
Se a consulta retornar poucos resultados, como apenas 20 linhas, as condições de filtro podem estar restritivas demais. Tente ampliar o intervalo de tempo ou ajustar a instrução de consulta.
Faça login no console do Simple Log Service.
Na seção Projects, clique em no projeto desejado.
No painel de navegação à esquerda, escolha . Na página LogStores, clique em no LogStore alvo.
Insira uma instrução de consulta e selecione um intervalo de tempo.
Na aba Raw Logs, escolha .
-
Na caixa de diálogo Download Log, configure os parâmetros a seguir e clique em OK.
Parâmetro
Descrição
Task Name
Nome da tarefa de download.
Log Quantity
Quantidade de logs a serem baixados.
Data Format
CSV ou JSON.
-
CSV: os nomes das colunas vêm dos primeiros 100 campos de log. Novos campos nos logs subsequentes são armazenados em formato JSON em uma última coluna sem nome.
-
JSON: cada entrada de log corresponde a uma única linha JSON.
Quote
Envolve campos que contêm caracteres especiais para evitar escapes indesejados.
Download Inaccurate Results
Se você selecionar No, o download falhará caso os resultados da consulta sejam imprecisos.
Compression Method
gzip, lz4, zstd ou nenhum.
A compactação reduz significativamente o tamanho do arquivo e o tempo de download para grandes conjuntos de dados.
-
-
Na caixa de diálogo Download Tasks, aguarde o Status da tarefa mudar para Successful e clique em Download para salve os logs em sua máquina local.
Alternativamente, na aba Raw Logs, escolha para abrir a caixa de diálogo Download Tasks e visualize o histórico de downloads.
OpenAPI
Chame a operação CreateDownloadJob para crie uma tarefa de download de logs.
Se os logs excederem o limite por tarefa, apenas a quantidade máxima permitida será baixada. Para obter todos os logs, reduza o intervalo de tempo e faça o download em vários lotes.
Cada conta Alibaba Cloud suporta até três tarefas de download simultâneas, sem limite no número total de downloads. Se esse limite for atingido ou se vários usuários RAM iniciarem downloads ao mesmo tempo, aguarde a conclusão das tarefas em execução antes de tentar novamente.
Os registros de download são excluídos automaticamente após um dia.
O sistema tenta repetir automaticamente uma tarefa de download se ocorrer erro de rede ou imprecisão na consulta. Após três tentativas, o status da tarefa muda para Failed.
Observações para download em lote via OpenAPI:
Requisito de configuração de índice: ao chamar a API GetLogs ou executar consultas SQL, certifique-se de que os campos consultados estejam configurados no índice do LogStore. Se um campo consultado não estiver indexado, será retornado um erro
ParameterInvalid. Para mais informações, consulte CreateIndex.Download de campos específicos: para baixar campos específicos como
message, use uma instrução SELECT para filtrar os resultados, por exemplo,* | SELECT message, antes de executar o download. Isso reduz transferências desnecessárias de dados.
Cloud Shell
O Cloud Shell está implantado na região China (Shanghai). Downloads de LogStores em outras regiões geram taxas de tráfego de saída para internet. Preços.
Exportação de logs em larga escala: para grandes volumes de logs, como centenas de milhões de entradas, utilize o Cloud Shell ou CLI/SDK em vez de baixar em lotes pelo console. O Cloud Shell não exige instalação manual de dependências e é adequado para tarefas de exportação em grande escala.
Para etapas detalhadas, consulte Use Cloud Shell to download log data.
CLI
Para grandes volumes de logs, utilize a interface de linha de comando.
Instale a interface de linha de comando. Para mais informações, consulte Install the CLI.
Obtenha o par AccessKey da sua conta. Para mais informações, consulte AccessKey pair.
-
Obtenha o comando para baixar logs. Para as etapas detalhadas, consulte get_log_all.
Exemplo: o comando abaixo baixa logs e os salva em
downloaded_data.txtno diretório de trabalho.aliyunlog log get_log_all --project="aliyun-test-project" --Logstore="aliyun-test-Logstore" --from_time="2024-07-01 15:33:00+8:00" --to_time="2024-07-09 15:23:00+8:00" --query="status:200|select request_method as method,COUNT(*) as pv group by method order by pv" --region-endpoint="cn-hangzhou.log.aliyuncs.com" --format-output=json --access-id="LT***CyGg" --access-key="8P***zi" >> ./downloaded_data.txt
Atualmente, o comando de download de logs da interface de linha de comando (CLI) do Simple Log Service não suporta --compress e --query no mesmo comando. Se precisar filtrar logs por condição e compactar o download de um grande volume de dados simultaneamente, chame a operação CreateDownloadJob para crie uma tarefa de download.
Para mais informações, consulte Use the SLS CLI.
SDK
Para grandes volumes de logs, utilize um kit de desenvolvimento de software (SDK) do Simple Log Service.
O SDK usa a mesma API tanto para baixar quanto para consultar logs.
O código a seguir é um exemplo usando o SDK Python:
import os
import time
from aliyun.log import LogClient
from aliyun.log import GetLogsRequest
# The endpoint of Simple Log Service.
endpoint = 'cn-qingdao.log.aliyuncs.com'
# This example obtains the AccessKey ID and AccessKey secret from environment variables.
accessKeyId = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
accessKey = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')
# The name of the project.
project = 'your-project-name'
# The name of the Logstore.
Logstore = 'your-Logstore-name'
client = LogClient(endpoint, accessKeyId, accessKey)
request = GetLogsRequest(project, Logstore, fromTime=int(time()-3600), toTime=int(time()), topic='', query="*", line=100, offset=0, reverse=False)
# Or
# request = GetLogsRequest(project, Logstore, fromTime="2018-1-1 10:10:10", toTime="2018-1-1 10:20:10", topic='', query="*", line=100, offset=0, reverse=False)
res = client.get_logs(request)
res.log_print()
Para mais informações, consulte SDK Reference Overview.
Perguntas frequentes
Como baixar apenas campos específicos pelo console?
Para baixar apenas campos específicos pelo console, primeiro garanta que cada campo desejado, como pod_name, time ou content, tenha um índice de campo criado no índice do LogStore e com estatísticas habilitadas. Um índice de campo aplica-se apenas aos logs gravados após a criação ou atualização do índice; portanto, logs históricos devem ser reindexados antes de poderem ser consultados e agregados por campo.
Na página de consulta e análise, execute uma instrução SQL que mantenha apenas os campos que deseja baixar. A instrução segue o formato condição de consulta | SELECT "campo1", campo2. Por exemplo:
__tag__:__container_name__: tms-prod-bp-server | SELECT "__tag__:__pod_name__", __time__, content
Após a execução da consulta, vá para a aba Graph e clique em Download Log para baixar os resultados da consulta e análise. Para exportar resultados contendo uma palavra-chave específica e aumentar o limite de linhas retornadas, adicione limit à instrução. Por exemplo:
keyword | select content limit 999999
Também é possível baixar campos específicos via OpenAPI. A seção OpenAPI deste tópico descreve o requisito de configuração de índice e o uso da instrução SELECT. O download de resultados de análise SQL utiliza o Dedicated SQL. Para um LogStore cujo método de faturamento seja pay-by-ingested-data, o download dos resultados de consulta e análise é gratuito. Para as regras de faturamento aplicáveis, consulte a seção Métodos de download deste tópico.
O que fazer quando a lista de logs do console não abre, a página expira ou um download online falha?
Se a lista de logs do console não abrir, a página expirar ou um download online falhar, primeiro limpe o cache do navegador, abra o console novamente no modo anônimo ou troque para Chrome ou Edge. Verifique também se sua conexão de rede está estável e acesse o console a partir de um ambiente de rede próximo à região do LogStore.
Se o problema persistir, verifique se o número de tarefas de download simultâneas da sua conta Alibaba Cloud atingiu o limite. Esse limite também é alcançado quando vários usuários do Resource Access Management (RAM) iniciam downloads ao mesmo tempo. O bloco de nota Importante na seção Console deste tópico descreve o limite de concorrência e as verificações a serem feitas quando um download online falha, mas o offline funciona.
Se o frontend do console continuar falhando, execute uma exportação grande de logs por meio da interface de linha de comando (CLI), Cloud Shell ou um kit de desenvolvimento de software (SDK) do Simple Log Service. Esses métodos não dependem do navegador ou da página do console.
Por quanto tempo os registros de exportação de logs do console são mantidos e como revisar o histórico de downloads?
A lista Download Tasks no console mantém registros de exportação apenas do último dia. Registros anteriores a 1 dia são excluídos automaticamente; portanto, baixe o arquivo antes que o registro expire.
Para revisar um histórico de downloads anterior, como as chamadas de API que criaram as tarefas de download, use a auditoria de operações (ActionTrail) para consultar os registros de operações da API de gerenciamento da sua conta.
Como calcular o tamanho médio de uma única entrada de log?
Utilize o recurso de download offline para calcular o tamanho médio de uma única entrada de log. Selecione um período com pico de tráfego e outro com tráfego normal, crie uma tarefa de download para cada período no console e baixe ambos os arquivos para sua máquina local. Em seguida, divida o total de bytes do arquivo pelo número de entradas de log contidas nele. Por exemplo, execute wc -c no Linux para obter a contagem de bytes do arquivo, ou use um script Python para contar bytes e entradas em uma única passagem.
Para um grande volume de dados, baixe os logs em vários intervalos de tempo e calcule cada intervalo separadamente. Um único download está sujeito aos limites descritos na tabela de comparação de métodos de download deste tópico: para consultas sem análise, até 20 milhões de linhas nas regiões China (Hangzhou), China (Shanghai), China (Beijing), China (Shenzhen) e Singapore, e até 1 milhão de linhas nas demais regiões, com volume de dados não superior a 20 GB; para análise SQL, volume de dados não superior a 2 GB. Se uma única exportação ainda não atender às suas necessidades, use o LogShipper para enviar os logs ao Object Storage Service (OSS) e baixe-os de lá. Para mais informações, consulte Create an OSS shipping task (New).
Por que Task Name e Display Name são obrigatórios na caixa de diálogo de download?
Task Name e Display Name são parâmetros obrigatórios da operação CreateDownloadJob que cria uma tarefa de download de logs. O Task Name identifica exclusivamente a tarefa de download dentro do mesmo projeto, permitindo que o console e a API enderecem exatamente uma tarefa ao consultar seu status ou exclua-a. O Display Name é o identificador exibido a você na lista do console, facilitando o gerenciamento e a localização posterior da tarefa de download.
> Download Log