Gere queries GraphQL com o MCP server
Peça a um agente de código conectado ao MCP server de observe da Azion uma query GraphQL que responda a um objetivo de dados e execute-a com a GraphQL API.
Você pode pedir a um agente de código conectado ao servidor de observe dos MCP servers da Azion uma query da GraphQL API que responda a um objetivo, como o tráfego dos seus workloads por localização ou o status de cache das suas imagens. Em seguida, você executa a query com a GraphQL API e lê as linhas que ela retorna. Para escrever e executar uma query sem um agente, consulte Primeiros passos com a GraphQL API.
Pré-requisitos
- Um agente de código conectado ao servidor de observe,
https://observe-mcp.azion.com/mcp. Para conectar um, consulte Primeiros passos com o MCP server. - Um personal token, para executar a query com a GraphQL API. Para criar um, consulte Gerencie personal tokens.
Gere uma query com o seu agente
O servidor de observe escreve queries com a ferramenta create_graphql_query. A ferramenta recebe duas entradas: query, o objetivo em palavras simples, e dataSource, os dados que a query lê. Um modelo de linguagem escreve a query, e a ferramenta a executa na GraphQL API da sua conta, com o seu token, para validá-la. Essas queries de validação apenas leem dados. Para gerar uma query:
Descreva os dados que você quer, a janela de tempo e como agrupar as linhas. Informe a fonte de dados que o objetivo lê: real-time-metrics, real-time-events, accounting ou consumption. O agente ajusta os intervalos de datas e os filtros aos seus requisitos.
A ferramenta retorna uma query que executa na sua conta, ou este texto quando nenhuma tentativa produz uma:
Em seguida, o texto aponta para a documentação da GraphQL API. Um modelo de linguagem escreve cada query, então duas chamadas com o mesmo objetivo podem retornar queries diferentes. Quando a ferramenta retornar esse texto, consulte Solucionar problemas do MCP server.
Envie a query ao endpoint da GraphQL API do dataset dela com o seu personal token, ou cole-a no GraphiQL. Para os dois caminhos, consulte Primeiros passos com a GraphQL API e GraphiQL Playground.
A chave data da resposta contém um array por dataset, com um objeto por linha. Para o que cada campo traz, consulte Campos do Real-Time Metrics e Campos do Real-Time Events.
A resposta traz as linhas que respondem ao seu objetivo. As duas seções a seguir trazem, cada uma, um objetivo, o pedido ao agente e uma query que o responde, para que você confira uma proposta ou execute a query quando a ferramenta não retornar nenhuma.
Consulte o tráfego dos seus workloads por localização
Este objetivo pede as requisições dos últimos sete dias, agrupadas pela localização da Azion que as recebeu. Peça ao seu agente:
Uma query que responde a este objetivo lê workloadMetrics, um dataset de métricas, então ela executa no endpoint de métricas, https://api.azion.com/v4/metrics/graphql. Ela soma requests por sourceLocPop, a localização do servidor da Azion que recebeu a requisição, e retorna até 10 localizações, primeiro as que têm mais requisições. Antes de executá-la, substitua as duas datas de tsRange pelos últimos sete dias:
O endpoint retorna HTTP 200 e uma linha por localização, com o total de requisições em sum. A resposta abaixo está cortada após a terceira linha:
Consulte o status de cache das suas imagens
Este objetivo pergunta como o cache respondeu às requisições de arquivos de imagem. Peça ao seu agente:
Uma query que responde a este objetivo lê workloadEvents, um dataset de eventos, então ela executa no endpoint de eventos, https://api.azion.com/v4/events/graphql. Ela mantém as requisições cuja URI corresponde a %.jpg, %.png ou %.webp em requestUriLike e as conta por upstreamCacheStatus. Datasets de eventos guardam registros por cerca de sete dias, então substitua as datas de tsRange por uma janela dentro da última semana:
O endpoint retorna HTTP 200 e uma linha por status de cache, com a contagem de requisições em count. A resposta contém:
Compare a contagem de cada status com o total de todas as linhas. Para cada valor de status de upstreamCacheStatus, como HIT e MISS, consulte Campos do Real-Time Events.