Consulta dados de log de um Logstore no projeto especificado.
Descrição da operação
O Simple Log Service oferece suporte a trabalhos SQL agendados. Para obter detalhes, consulte Criar um trabalho SQL agendado.
-
O Host na sintaxe da solicitação consiste no nome do projeto e no endpoint do Simple Log Service. Especifique o nome do projeto no Host.
-
Crie e obtenha um par de AccessKey. Para obter detalhes, consulte Par de AccessKey.
Crie e use um usuário RAM para fazer chamadas de API ou realizar O&M de rotina. O uso de um par de AccessKey de conta Alibaba Cloud concede acesso a todas as APIs e representa um alto risco de segurança. Certifique-se de que o usuário RAM tenha as permissões necessárias para os recursos do Simple Log Service. Para obter detalhes, consulte Criar e autorizar um usuário RAM.
-
Obtenha o nome do projeto, a região e o nome do Logstore para os logs a serem consultados. Consulte Gerenciar um projeto e Gerenciar um Logstore.
-
O Simple Log Service impõe limites nas consultas de log. Crie instruções de consulta e análise apropriadas e defina um intervalo de tempo razoável. Consulte Limites de consulta de log e Limites de análise de log.
-
Configure índices antes de consultar logs. Consulte Criar índices.
-
Quando o número de logs correspondentes varia significativamente, a API não pode prever quantas chamadas são necessárias para recuperar o resultado completo. Verifique o cabeçalho
x-log-progressem cada resposta para determinar se a chamada deve ser repetida. Cada chamada repetida consome o mesmo número de unidades de capacidade de consulta (CUs). -
Depois que um log é gravado em um Logstore, a latência antes que ele se torne consultável por meio das operações GetHistograms e GetLogs depende do tipo de log. O Simple Log Service classifica os logs em dois tipos com base em seus carimbos de data/hora:
-
Dados em tempo real: o carimbo de data/hora do log está dentro de (-180 segundos, 900 segundos] em relação à hora atual do servidor. Por exemplo, se um log for gerado em UTC 2014-09-25 12:03:00 e recebido pelo servidor em UTC 2014-09-25 12:05:00, o log será classificado como dados em tempo real. Isso é típico em cenários normais. Os dados em tempo real tornam-se consultáveis em cerca de 3 segundos.
-
Dados históricos: o carimbo de data/hora do log está dentro de [-7 x 86.400 segundos, -180 segundos) em relação à hora atual do servidor. Por exemplo, se um log for gerado em UTC 2014-09-25 12:00:00 e recebido pelo servidor em UTC 2014-09-25 12:05:00, o log será classificado como dados históricos. Isso é típico em cenários de backfill de dados.
-
O Simple Log Service calcula a diferença entre a hora do log (o campo __time__) e a hora de recebimento do servidor (o campo __tag__: receive_time). Se a diferença estiver dentro de (-180 segundos, 900 segundos], o log será de dados em tempo real. Se a diferença estiver dentro de [-7 x 86.400 segundos, -180 segundos), o log será de dados históricos.
O Simple Log Service fornece exemplos de SDK em Java e Python para a operação GetLogs. Consulte Exemplos de GetLogs para Java e Exemplos de GetLogs para Python.
Autorização
A tabela a seguir descreve as informações de autorização necessárias para esta operação. Adicione essas informações ao elemento Action de uma instrução de política de acesso RAM para conceder aos usuários RAM ou funções RAM a permissão para chamar esta operação.
| Action | Resource |
log:GetLogStoreLogs | acs:log:{#regionId}:{#accountId}:project/{#ProjectName}/logstore/{#LogstoreName} |
Experimente agora
Testar
Autorização RAM
Sintaxe da solicitação
GET /logstores/{logstore}?type=log HTTP/1.1
Parâmetros de caminho
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| logstore |
string |
Sim |
O Logstore a ser consultado. |
example-logstore |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| project |
string |
Sim |
O nome do projeto. |
ali-test-project |
| from |
integer |
Sim |
O início do intervalo de tempo da consulta, com base na hora do log especificada quando os dados do log foram gravados.
Nota
Para evitar a perda de dados, alinhe o tempo da consulta ao nível de minuto. Se um intervalo de tempo for especificado na instrução analítica, esse intervalo de tempo terá precedência. Para especificar um tempo em segundos dentro de uma instrução analítica, use a função from_unixtime ou a função to_unixtime para converter o formato de tempo. Exemplos:
|
1627268185 |
| to |
integer |
Sim |
O fim do intervalo de tempo da consulta, com base na hora do log especificada quando os dados do log foram gravados.
Nota
Para evitar a perda de dados, alinhe o tempo da consulta ao nível de minuto. Se um intervalo de tempo for especificado na instrução analítica, esse intervalo de tempo terá precedência. Para especificar um tempo em segundos dentro de uma instrução analítica, use a função from_unixtime ou a função to_unixtime para converter o formato de tempo. Exemplos:
|
1627269085 |
| query |
string |
Não |
A instrução de pesquisa ou instrução analítica. Consulte Visão geral da consulta e Visão geral da análise. Para ativar o recurso Exclusive SQL, adicione Nota
Quando o parâmetro query contém uma instrução analítica (instrução SQL), os parâmetros |
status: 401 | SELECT remote_addr,COUNT(*) as pv GROUP by remote_addr ORDER by pv desc limit 5 |
| topic |
string |
Não |
O tópico do log. Valor padrão: uma string vazia. Consulte Tópico. |
topic |
| line |
integer |
Não |
Válido apenas quando o parâmetro query é uma instrução de pesquisa. Número máximo de logs a serem retornados. Valores válidos: 0 a 100. Valor padrão: 100. Consulte Paginar resultados de consulta e análise. |
100 |
| offset |
integer |
Não |
Válido apenas quando o parâmetro query é uma instrução de pesquisa. A linha inicial para a consulta. Valor padrão: 0. Consulte Paginar resultados de consulta e análise. |
0 |
| reverse |
boolean |
Não |
Especifica se os logs devem ser retornados em ordem decrescente de carimbo de data/hora, com precisão de nível de minuto.
Importante
|
false |
| powerSql |
boolean |
Não |
Especifica se o recurso Exclusive SQL deve ser ativado. Consulte Ativar o recurso Exclusive SQL.
Alternativamente, adicione |
false |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
array |
A matriz de logs. Cada elemento é uma entrada de log. |
||
|
object |
A matriz de logs. Cada elemento é uma entrada de log. |
[{'remote_addr': '198.51.XXX.XXX', 'pv': '1', '__source__': '', '__time__': '1649902984'}, {'remote_addr': '198.51.XXX.XXX', 'pv': '1', '__source__': '', '__time__': '1649902984'}, {'remote_addr': '198.51.XXX.XXX', 'pv': '1', '__source__': '', '__time__': '1649902984'}, {'remote_addr': '198.51.XXX.XXX', 'pv': '1', '__source__': '', '__time__': '1649902984'}, {'remote_addr': '198.51.100.XXX', 'pv': '1', '__source__': '', '__time__': '1649902984'}] |
Exemplos
Resposta de sucesso
JSON formato
[
{
"test": "test",
"test2": 1
}
]
Códigos de erro
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.