Consulta dados de log em um Logstore especificado de um projeto. **[Descontinuado]** Use a operação GetLogsV2 em seu lugar.
Descrição da operação
Descrição da operação
O Simple Log Service oferece suporte à criação de nós SQL agendados. Para obter mais informações, consulte Criar um nó SQL agendado.
O Host na sintaxe da solicitação consiste no nome do projeto e no endpoint do Simple Log Service. Você deve especificar o projeto no Host.
Um par de AccessKey foi criado e obtido. Para obter mais informações, consulte Pares de AccessKey.
O par de AccessKey de uma conta Alibaba Cloud tem permissões de acesso a todas as operações de API. O uso desse par de AccessKey para realizar operações é altamente arriscado. Crie e use um usuário do Resource Access Management (RAM) para invocar operações de API ou realizar O&M de rotina. O usuário do RAM deve ter permissões para gerenciar recursos do Simple Log Service e logs de operação. Para obter mais informações, consulte Criar um usuário do Resource Access Management (RAM) e autorização.
-
O nome do projeto, a região e o nome do Logstore ao qual os logs pertencem foram identificados. Para obter mais informações, consulte Gerenciar um projeto e Gerenciar um Logstore.
-
Limites se aplicam ao consultar logs no Simple Log Service. Projete instruções de consulta e análise apropriadas e configure intervalos de tempo de consulta adequados. Para obter mais informações, consulte Limites em consultas de log e Limites na análise de log.
-
Os índices são configurados antes de você consultar os logs. Para obter mais informações, consulte Criar índices.
-
Quando o número de logs envolvidos em uma consulta flutua significativamente, a API do Simple Log Service não pode prever quantas vezes esta operação deve ser invocada para obter resultados completos. Verifique o valor de status x-log-progress na resposta de cada solicitação para determinar se deve invocar repetidamente esta operação para obter os resultados completos finais. Cada invocação repetida consome o mesmo número de CUs de consulta.
-
Depois que os logs são gravados em um Logstore, a latência para as operações de consulta (GetHistograms e GetLogs) do Simple Log Service recuperarem os logs varia com base no tipo de log. O Simple Log Service classifica os logs nos dois tipos a seguir com base nos carimbos de data/hora UNIX do log:
Dados em tempo real: O carimbo de data/hora UNIX do log está dentro do intervalo de (-180 segundos, 900 segundos] em relação à hora atual do servidor. Por exemplo, se a hora do log for UTC 2014-09-25 12:03:00 e o servidor receber o log às UTC 2014-09-25 12:05:00, o log será processado como dados em tempo real. Isso normalmente ocorre em cenários normais.
Dados históricos: O carimbo de data/hora UNIX do log está dentro do intervalo de [-7 × 86.400 segundos, -180 segundos) em relação à hora atual do servidor. Por exemplo, se a hora do log for UTC 2014-09-25 12:00:00 e o servidor receber o log às UTC 2014-09-25 12:05:00, o log será processado como dados históricos. Isso normalmente ocorre em cenários de backfill de dados. A latência desde quando os dados em tempo real são gravados até quando se tornam consultáveis é de aproximadamente 3 segundos.
O Simple Log Service calcula a diferença entre a hora do log (nome do campo: time) e a hora de recebimento do servidor (nome do campo: tag:receive_time). Se a diferença estiver dentro do intervalo de (-180 segundos, 900 segundos], o log será dados em tempo real. Se a diferença estiver dentro do intervalo de [-7 × 86.400 segundos, -180 segundos), o log será dados históricos.
O Simple Log Service fornece exemplos de consulta GetLogs para os SDKs Java e Python. Para obter mais informações, consulte Exemplo GetLogs em Java e Exemplo GetLogs em Python.
Recursos de autenticação
A tabela a seguir lista as informações de autenticação para esta operação de API. Você pode adicionar essas informações ao elemento Action de uma instrução de política de acesso do RAM para conceder a um usuário do Resource Access Management (RAM) ou função do RAM as permissões para invocar esta operação de API.
| Action | Formato do recurso nas políticas de autorização |
log:GetLogStoreLogs | acs:log:{#regionId}:{#accountId}:project/{#ProjectName}/logstore/{#LogstoreName} |
Experimente agora
Testar
Autorização RAM
Sintaxe da solicitação
POST /logstores/{logstore}/logs HTTP/1.1
Parâmetros de caminho
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| logstore |
string |
Sim |
O Logstore do qual consultar dados. |
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 |
| Accept-Encoding |
string |
Não |
O método de compactação. |
lz4 |
| body |
object |
Não |
A estrutura da solicitação. |
|
| from |
integer |
Sim |
A hora de início da consulta. Esta hora refere-se à hora do log especificada quando os dados de log são gravados. O intervalo de tempo definido pelos parâmetros de solicitação from e to segue o princípio de fechado à esquerda e aberto à direita. O intervalo de tempo inclui a hora de início, mas exclui a hora de término. Se os valores de from e to forem iguais, o intervalo de tempo será inválido e a função retornará um erro. O valor é um carimbo de data/hora UNIX, que representa o número de segundos decorridos desde 00:00:00 UTC em 1º de janeiro de 1970. |
1627268185 |
| to |
integer |
Sim |
A hora de término da consulta. Esta hora refere-se à hora do log especificada quando os dados de log são gravados. O intervalo de tempo definido pelos parâmetros de solicitação from e to segue o princípio de fechado à esquerda e aberto à direita. O intervalo de tempo inclui a hora de início, mas exclui a hora de término. Se os valores de from e to forem iguais, o intervalo de tempo será inválido e a função retornará um erro. O valor é um carimbo de data/hora UNIX, que representa o número de segundos decorridos desde 00:00:00 UTC em 1º de janeiro de 1970. |
1627268185 |
| line |
integer |
Não |
O número máximo de logs a serem retornados. Este parâmetro é válido apenas quando o parâmetro query é definido como uma instrução de consulta. Valor mínimo: 0. Valor máximo: 100. Valor padrão: 100. |
100 |
| offset |
integer |
Não |
A linha inicial da consulta. Este parâmetro é válido apenas quando o parâmetro query é definido como uma instrução de consulta. Valor padrão: 0. |
0 |
| reverse |
boolean |
Não |
Especifica se os logs devem ser retornados em ordem decrescente de carimbos de data/hora de log, com precisão de minutos. Valores válidos:
Nota Quando o parâmetro query é definido como uma instrução de consulta, o parâmetro reverse é válido e especifica a ordem de classificação dos logs retornados. Quando o parâmetro query é definido como uma instrução de consulta e análise, o parâmetro reverse é inválido. A ordem de classificação é especificada pela cláusula ORDER BY na instrução de análise SQL. Se a cláusula ORDER BY estiver definida como ASC (padrão), a ordem de classificação será crescente. Se a cláusula ORDER BY estiver definida como DESC, a ordem de classificação será decrescente. |
false |
| powerSql |
boolean |
Não |
Especifica se o SQL aprimorado deve ser ativado. Valor padrão: false. |
false |
| session |
string |
Não |
Os parâmetros de consulta. |
mode=scan |
| topic |
string |
Não |
O tópico do log. |
topic |
| query |
string |
Não |
A instrução de consulta ou instrução de análise. Para obter mais informações, consulte Visão geral da consulta e Visão geral da análise. Para usar o Dedicated SQL, adicione set session parallel_sql=true; à instrução de análise no parâmetro query. Exemplo: * | set session parallel_sql=true; select count(*) as pv. Nota: Quando o parâmetro query contiver uma instrução de análise (instrução SQL), os parâmetros line e offset desta operação serão inválidos. Defina-os como 0 e use a cláusula LIMIT na instrução SQL para paginação. Para obter mais informações, consulte Paginar resultados de consulta e análise. |
status: 401 | SELECT remote_addr,COUNT(*) as pv GROUP by remote_addr ORDER by pv desc limit 5 |
| forward |
boolean |
Não |
Especifica se deve paginar para frente ou para trás em uma consulta de varredura ou de frase. |
false |
| highlight |
boolean |
Não |
Especifica se o realce deve ser ativado. |
false |
| isAccurate |
boolean |
Não |
Especifica se a ordenação em nível de nanossegundo deve ser ativada. |
true |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
A matriz de logs. Cada elemento na matriz é um log. |
||
| meta |
object |
Os metadados. |
|
| progress |
string |
Indica se o resultado da consulta está completo. |
Complete |
| aggQuery |
string |
A parte SQL após a barra vertical (|) na instrução de consulta. |
select * |
| whereQuery |
string |
A parte antes da barra vertical (|) na instrução de consulta. |
* |
| hasSQL |
boolean |
Indica se a consulta é uma consulta SQL. |
false |
| processedRows |
integer |
O número de linhas processadas nesta consulta. |
10000 |
| elapsedMillisecond |
integer |
O tempo consumido por esta consulta, em milissegundos. |
5 |
| cpuSec |
number |
As horas-núcleo consumidas pelo Dedicated SQL. |
0.002 |
| cpuCores |
integer |
O número de núcleos de CPU usados. |
3 |
| keys |
array |
A lista de nomes de colunas de resultado. |
|
|
string |
A lista de nomes de colunas de resultado. |
key |
|
| terms |
array<object> |
Os tipos e informações de agregação das colunas. |
|
|
object |
Os tipos e informações de agregação das colunas. |
{term=*, key=} |
|
| limited |
integer |
O limite no número de entradas. Isso é retornado se a instrução SQL não contiver uma cláusula LIMIT. |
100 |
| mode |
integer |
O modo de consulta. Valores válidos:
|
0 |
| phraseQueryInfo |
object |
As informações da consulta de frase. |
|
| scanAll |
boolean |
Indica se todos os logs foram escaneados. |
true |
| beginOffset |
integer |
O deslocamento inicial após a filtragem de índice para o resultado da varredura atual. |
0 |
| endOffset |
integer |
O deslocamento final após a filtragem de índice para o resultado da varredura atual. |
0 |
| endTime |
integer |
A hora de término após a filtragem de índice para o resultado da varredura atual. |
1760530000000 |
| scanBytes |
integer |
A quantidade de dados escaneados retornados durante uma varredura, em bytes. |
1024 |
| highlights |
array<object> |
O conteúdo realçado. |
|
|
object |
O conteúdo realçado. |
||
| count |
integer |
O número de linhas de log retornadas por esta solicitação de consulta. |
6 |
| processedBytes |
integer |
A quantidade de dados de log processados pela consulta. |
10000 |
| isAccurate |
boolean |
Especifica se a ordenação em nível de nanossegundo deve ser ativada. |
true |
| columnTypes |
array |
O campo meta.columnTypes fornece um mapeamento de nomes de colunas para tipos de dados (string, long, double ou json). |
|
|
string |
O tipo de dados. |
long |
|
| telementryType |
string |
O tipo de dados observável. |
None |
| data |
array<object> |
Os dados retornados. |
|
|
object |
Os dados retornados. |
||
|
string |
The returned data. |
[] |
Exemplos
Resposta de sucesso
JSON formato
{
"meta": {
"progress": "Complete",
"aggQuery": "select *",
"whereQuery": "*",
"hasSQL": false,
"processedRows": 10000,
"elapsedMillisecond": 5,
"cpuSec": 0.002,
"cpuCores": 3,
"keys": [
"key"
],
"terms": [
{
"test": "test",
"test2": 1
}
],
"limited": 100,
"mode": 0,
"phraseQueryInfo": {
"scanAll": true,
"beginOffset": 0,
"endOffset": 0,
"endTime": 1760530000000
},
"scanBytes": 1024,
"highlights": [
{
"test": "test",
"test2": 1
}
],
"count": 6,
"processedBytes": 10000,
"isAccurate": true,
"columnTypes": [
"long"
],
"telementryType": "None"
},
"data": [
{
"key": "[]"
}
]
}
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.