O alibabacloud-sls-query é um Agent Skill que permite consultar e analisar dados de log do Simple Log Service (SLS) em linguagem natural dentro de um AI Agent. Após a instalação, o Agent converte sua intenção de consulta em instruções de consulta do SLS, executa essas instruções e retorna resultados estruturados.
Cenários
|
Cenário |
Descrição |
Exemplo de prompt |
|
Recuperação de logs |
Consulte detalhes de logs com base em condições como palavras-chave, campos, códigos de status, Trace IDs ou IDs de usuário. |
Consulte os detalhes dos logs de acesso do NGINX em que o status seja maior ou igual a 500 nos últimos 10 minutos. |
|
Análise estatística SQL |
Execute agregação, agrupamento, ordenação, análise Top-N, análise de tendências ou projeção de campos em logs. |
Encontre as 10 APIs com mais erros 5xx na última hora. |
|
Geração de instruções de consulta |
Converta solicitações em linguagem natural em instruções de consulta por índice do SLS, instruções SQL ou instruções SPL (Structured Process Language). |
Gere uma instrução de consulta para calcular a latência média e a latência P95 por minuto. |
|
Otimização de consultas |
Otimize consultas existentes com base nas configurações de índice e nos tipos de campo para reduzir varreduras desnecessárias de dados. |
Otimize a instrução de consulta existente para priorizar o uso de índices de campo e reduzir varreduras desnecessárias de dados. |
Pré-requisitos
Crie um projeto e um Logstore do Simple Log Service e colete dados de log.
Crie um índice para o Logstore de destino. Consultas do SLS, análises SQL e consultas SPL exigem um índice.
-
Obtenha as credenciais da conta Alibaba Cloud necessárias para acessar o projeto e o Logstore de destino.
AvisoPara evitar vazamento de credenciais, não cole seu AccessKey ID ou AccessKey secret no chat do Agent. Gerencie as credenciais usando variáveis de ambiente ou um arquivo de configuração da CLI do Alibaba Cloud.
Instale o skill
O alibabacloud-sls-query está disponível no Alibaba Cloud Skill e no ClawHub. Escolha um dos métodos abaixo para instalá-lo.
Método 1 (recomendado): Instalação via comando npx
O comando npx vem incluído no Node.js. Antes de instalar o skill, execute os comandos abaixo para verificar se seu ambiente local está pronto:
node -v
npx -v
Caso o terminal indique que node ou npx não foi encontrado, acesse o site oficial do Node.js para baixá-lo e instalá-lo.
Execute o comando a seguir para instalar o skill alibabacloud-sls-query:
npx skills add aliyun/alibabacloud-aiops-skills --skill alibabacloud-sls-query --full-depth
Após concluir a instalação, verifique se a pasta alibabacloud-sls-query existe na pasta de skills e reinicie o Agent para que o skill entre em vigor.
Método 2: Baixe e instale manualmente
Baixe o pacote de instalação do alibabacloud-sls-query na página de GitHub Releases, extraia o conteúdo e copie os arquivos para a pasta de instalação de skills do Agent.
Após a cópia, confirme que a pasta alibabacloud-sls-query está presente na pasta de skills e reinicie o Agent para carregar o skill.
As pastas de instalação de skills para os Agents mais comuns são:
|
Agent |
Pasta de instalação no nível do projeto |
Pasta de instalação no nível do usuário |
|
Claude Code |
|
|
|
Codex |
|
|
|
Qoder |
|
|
|
QwenCode |
|
|
|
OpenClaw |
|
|
Consulte e analise logs
Depois da instalação, acione o skill descrevendo sua solicitação de consulta ou análise do SLS diretamente no Agent. O Agent executará automaticamente as etapas a seguir:
Verifica o ambiente de execução, incluindo a CLI do Alibaba Cloud e o plugin do SLS.
Lê a configuração de índice do Logstore de destino.
Gera uma instrução de consulta (consulta por índice, SQL ou SPL) com base na sua solicitação.
Executa a consulta utilizando a CLI do Alibaba Cloud.
Retorna resultados formatados e estruturados.
Na primeira execução de uma consulta, o Agent orienta a instalação da CLI do Alibaba Cloud e a configuração das credenciais. Siga as instruções na tela para conceder as permissões de execução e concluir a configuração.
Melhores práticas para prompts
A qualidade do prompt impacta diretamente a precisão dos resultados da consulta. Um bom prompt deve conter as seguintes informações:
Nome do projeto e nome do Logstore.
Intenção clara de consulta ou análise. Por exemplo: "Analise a variação período a período na latência das requisições e calcule a latência média por minuto."
Intervalo de tempo da consulta. Exemplos: "últimos 15 minutos" ou "das 10:00 às 11:00 de 24 de abril de 2026, UTC+8".
Formato de saída desejado. Exemplos: "retorne os logs brutos", "calcule o top 10", "mostre a tendência por minuto" ou "retorne apenas estes campos".
Para aumentar a eficiência das consultas e reduzir custos:
Reduza ao máximo o intervalo de tempo para evitar varreduras completas.
Especifique nomes exatos de campos, como
statuserequest_uri, em vez de usar descrições vagas.Caso precise de resultados Top-N, informe a quantidade no prompt, por exemplo, "Top 10".
Os projetos, Logstores, nomes de campos e resultados de consulta nos exemplos a seguir servem apenas para fins de demonstração. Substitua-os pelos nomes reais dos seus recursos e campos de log.
Cenário 1: Consultar logs de erro 5xx dos últimos 15 minutos
Prompt
Query SLS Logstore where Project=prod-web and Logstore=nginx-access for requests with status >= 500 in the last 15 minutes, sorted in descending order by time.
Exemplo de saída do Agent
Query mode: Index query.
Reason: The user requested raw logs based on a condition, which does not involve aggregation, sorting, analysis, or field projection. The status field is configured with a numeric type index, so a range query can be used directly.
Command executed:
aliyun sls get-logs-v2 \
--project prod-web \
--logstore nginx-access \
--from 1777016700 \
--to 1777017600 \
--query 'status>=500' \
--line 100 \
--offset 0 \
--reverse true
Query result:
| Time | status | request_uri | upstream_status | request_time | message |
| --- | ---: | --- | ---: | ---: | --- |
| 2026-04-24 15:59:31 | 502 | /api/order/create | 502 | 1.238 | upstream connect timeout |
| 2026-04-24 15:58:44 | 500 | /api/pay/notify | 500 | 0.412 | internal server error |
| 2026-04-24 15:57:09 | 502 | /api/order/create | 502 | 1.104 | bad gateway |
Conclusion: The 5xx raw logs from the last 15 minutes have been returned in descending order by time. The most recent errors are concentrated in /api/order/create.
Cenário 2: Encontrar as 10 APIs com mais erros 5xx
Prompt
Find the top 10 APIs with the most 5xx errors in the last hour in the SLS Logstore prod-web/nginx-access.
Exemplo de saída do Agent
Query mode: Index query + SQL.
Reason: To find the top 10 APIs with the most 5xx errors, an index query is first used to filter for status codes from 500 to 599. Then, SQL is used to group by request_uri, count the errors, and sort the results.
Command executed:
aliyun sls get-logs-v2 \
--project prod-web \
--logstore nginx-access \
--from 1777014000 \
--to 1777017600 \
--query 'status in [500 599] | SELECT request_uri, count(*) AS errors FROM log GROUP BY request_uri ORDER BY errors DESC LIMIT 10'
Query result:
| Rank | request_uri | errors |
| --- | --- | ---: |
| 1 | /api/order/create | 186 |
| 2 | /api/pay/notify | 73 |
.....
| 10 | /api/user/login | 1 |
Conclusion: The API with the highest number of 5xx errors in the last hour is /api/order/create. Its error count is significantly higher than other APIs. Investigate this API and its backend dependencies first.
Cenário 3: Comparar a tendência de latência da última hora com o mesmo período de ontem
Prompt
In the SLS Logstore prod-web/nginx-access, analyze the change in average latency over the last hour compared to the same period yesterday. Calculate the average value per minute and determine if there are any significant latency anomalies.
Exemplo de saída do Agent
Query mode: Index query + SQL
Reason: The request requires aggregating the average latency by minute for both the last hour and the same period yesterday. The results are then aligned by minute to calculate the change and the rate of change.
Command executed (for the last hour):
aliyun sls get-logs-v2 \
--project prod-web \
--logstore nginx-access \
--from 1777014000 \
--to 1777017600 \
--query "* | SELECT date_trunc('minute', __time__) AS minute, avg(request_time) AS avg_latency FROM log GROUP BY minute ORDER BY minute LIMIT 60"
Command executed (for the same period yesterday):
aliyun sls get-logs-v2 \
--project prod-web \
--logstore nginx-access \
--from 1776927600 \
--to 1776931200 \
--query "* | SELECT date_trunc('minute', __time__) AS minute, avg(request_time) AS avg_latency FROM log GROUP BY minute ORDER BY minute LIMIT 60"
Query result:
| Minute | Current average latency | Average latency (yesterday) | Change | Change rate |
| --- | ---: | ---: | ---: | ---: |
| 2026-04-24 15:00 | 0.132s | 0.118s | +14ms | +11.9% |
| 2026-04-24 15:01 | 0.141s | 0.116s | +25ms | +21.6% |
| 2026-04-24 15:02 | 0.338s | 0.129s | +209ms | +162.0% |
| 2026-04-24 15:03 | 0.351s | 0.131s | +220ms | +167.9% |
Conclusion: The overall average latency in the last hour is higher than the same period yesterday. The most significant increase occurred between 15:02 and 15:03, where the average latency increased by over 160%. Drill down by the request_uri, upstream_addr, or service dimension to identify the source of the increased latency.
Cenário 4: Fazer perguntas complementares com base nos resultados da consulta
O SLS Query Skill suporta conversas com múltiplas interações. Faça perguntas complementares com base nos resultados anteriores para refinar progressivamente sua investigação.
Primeiro prompt
Encontre as 5 APIs com mais erros 5xx na última hora no Logstore SLS prod-web/nginx-access.
Segundo prompt (complementar ao primeiro resultado)
Para a API /api/order/create, mostre a tendência de contagem de erros por minuto para identificar se os erros ocorreram em surtos ou foram distribuídos uniformemente.
Terceiro prompt (detalhamento adicional)
Mostre os logs brutos 5xx para /api/order/create entre 15:02 e 15:05, retornando os campos upstream_addr e message.
Ao fazer perguntas complementares, você consegue detalhar desde estatísticas de alto nível até logs brutos de um período específico, identificando rapidamente a causa raiz de uma falha.
Segurança e privacidade de dados
O SLS Query Skill executa consultas por meio da CLI do Alibaba Cloud. O processo de consulta segue estes princípios de segurança:
As solicitações de consulta são criptografadas e transmitidas via HTTPS. Os dados de log não passam por nenhum service de terceiros.
O Agent gera e executa os comandos de consulta localmente. Os dados de log não são transmitidos ao provedor do modelo de IA.
O arquivo de configuração da CLI do Alibaba Cloud ou variáveis de ambiente gerenciam as informações de credencial (AccessKey), que não aparecem no histórico de chat do Agent.
Não cole seu AccessKey ID ou AccessKey secret diretamente no chat do Agent. Para configurar as credenciais, execute o comando aliyun configure.
Limites
|
Limites |
Descrição |
|
Configuração de índice |
Crie um índice para o Logstore de destino. Sem um índice configurado, nenhum tipo de consulta pode ser executado. |
|
Tempo limite de consulta |
O tempo limite padrão para uma única consulta é de 60 segundos. Se a consulta atingir o tempo limite, tente reduzir o intervalo de tempo ou simplificar as condições da consulta. |
|
Volume de varredura de dados |
Os custos de consulta dependem do volume de dados examinados. Reduza o intervalo de tempo e utilize índices de campo para minimizar varreduras completas desnecessárias. |
|
Ambiente de execução |
Requer o runtime do Node.js (para instalar o skill) e a CLI do Alibaba Cloud (para executar consultas). |
Perguntas frequentes
Preciso instalar manualmente a CLI do Alibaba Cloud e o plugin do SLS?
Na maioria dos casos, a instalação manual não é necessária. Ao enviar uma solicitação de consulta, o Agent verifica automaticamente o ambiente (aliyun version), ativa o AI Mode, define o User-Agent e atualiza o plugin.
Se a CLI do Alibaba Cloud não estiver instalada ou a versão estiver desatualizada, o Agent fornecerá instruções de instalação ou atualização. Execute os comandos fornecidos pelo Agent no seu ambiente local para concluir a configuração.
Como configuro as credenciais da minha conta Alibaba Cloud?
Siga as instruções do Agent para configurar as credenciais da conta ou execute manualmente o comando aliyun configure. Vários métodos de configuração de credenciais são suportados, como AK, StsToken, OAuth e RamRole. Para mais informações, consulte Configure and manage credentials.
Endpoints internos da mesma região, endpoints de aceleração e domínios personalizados são suportados?
Sim. No seu prompt, instrua o Agent a usar um endpoint específico incluindo o parâmetro --endpoint <domain_name>.
O que devo fazer se os resultados da consulta forem imprecisos?
Verifique e otimize os seguintes pontos:
Confirme se o índice está configurado corretamente para o campo de destino e se o tipo de campo corresponde à condição de consulta. Por exemplo, o campo
statusdeve ser do tipo long, não text.Especifique nomes de campos claros, intervalos de tempo e formatos desejados no prompt para evitar ambiguidades.
Revise a instrução de consulta retornada pelo Agent para verificar se a lógica está correta. Utilize perguntas complementares para refinar as condições da consulta.
Solução de problemas
Erro IndexConfigNotExist
Este erro indica que o Logstore de destino não possui configuração de índice ou que o índice está vazio.
Solução: No console do Simple Log Service, crie um índice para o Logstore de destino. Após a criação do índice, aguarde a indexação de novos dados antes de consultar novamente.
Erro Unauthorized
Este erro indica que a conta atual ou o usuário RAM não possui as permissões necessárias.
Solução: Conceda as seguintes permissões à conta atual:
|
Nome da API |
Ação |
Recurso |
|
GetLogsV2 |
|
|
|
GetIndex |
|
|
Erro ProjectNotExist
Esse erro geralmente ocorre quando o nome do projeto está incorreto, a região está errada ou você está acessando o endpoint errado.
Solução: Confirme as seguintes informações:
Verifique se o nome do projeto está correto.
Confirme se a região corresponde à região do projeto.
Verifique se o seu ambiente de rede requer um endpoint interno da mesma região.