O blog da AWS

Sistema de gerenciamento de dashboards com IA generativa

Por Camila Câmara, Arquiteta de Soluções, Revisores; Felipe Viana de Brito, Arquiteto de Soluções Senior e Marcelo Oliveira, Arquiteto de Soluções.

Gerenciar dashboards costuma exigir tempo e conhecimento especializado em linguagens de consulta e ferramentas de visualização.

Neste blog post, vamos explorar como construir um sistema inteligente de gerenciamento de dashboards usando Amazon Bedrock e Amazon Managed Grafana. Com esta solução, as equipes podem criar, atualizar e excluir painéis de monitoramento com linguagem natural através do Slack usando IA generativa.

Visão geral da solução

A solução proposta simplifica o processo de gerenciamento de dashboards de observabilidade usando IA generativa. Para isso, a abordagem é realizar essas atividades via interação textual, usando uma ferramenta de comunicação, neste caso o Slack. Existem três componentes críticos para essa integração: geração aumentada via recuperação (RAG do original retrieval-augmented generation) com metadados de métricas, um mecanismo de extração JSON multi-padrão e o uso do Amazon Managed Grafana como nossa solução de dashboard.

RAG é usado para recuperar métricas que os modelos não conhecem previamente, como métricas customizadas armazenadas em um bucket Amazon S3 e no Amazon Bedrock Knowledge Bases. Dessa forma, permite que a solicitação do dashboard corresponda aos serviços e às métricas realmente disponíveis.

O componente de extração multi-padrão possibilita ao grande modelo de linguagem (ou large language model, LLM) gere configurações de dashboard em vários formatos JSON. Essas respostas são então processadas por múltiplos padrões regex, para lidar com os diferentes formatos de saída do modelo de IA. Usamos as respostas da API do Amazon Managed Grafana para validar e refinar nosso processo de gerenciamento de dashboard para uma geração mais eficaz.

Por fim, o gerenciamento de acesso, autenticação de API e versionamento de dashboard são todos tratados pelo Amazon Managed Grafana.

Componentes da arquitetura

O diagrama a seguir apresenta a arquitetura da solução e a interação entre os componentes:

  • Integração com Slack: Fornece uma interface amigável para as operações de dashboard.
  • AWS Lambda: Computação serverless para processamento de requisições.
  • Amazon Bedrock: Serviço de IA para processamento de linguagem natural e geração de dashboards.
  • Amazon S3: Armazenamento para metadados de métricas customizadas.
  • Amazon Bedrock Knowledge Bases: Recuperação aumentada por geração (RAG) para documentação de métricas.
  • AWS Secrets Manager: Armazenamento seguro para credenciais de API.
  • Amazon Managed Grafana: Serviço gerenciado para visualização e renderização de dashboards.

Implementando a solução

Para facilitar a replicação da solução, implementamos o projeto em AWS CloudFormation e todos os requisitos, componentes destacados na arquitetura, etapas do fluxo e informações sobre como executar podem ser implementados em uma conta AWS através da execução do repositório sample-dashboard-genai-management.

Fluxo da aplicação

A solução inclui as seguintes etapas:

  1. O usuário insere sua solicitação de dashboard via comandos do Slack. É possível usar qualquer interface de chat (os detalhes da mesma estão fora do escopo deste post).
  2. A solução usa RAG via busca por similaridade, que adiciona contexto extra dos metadados de métricas, e documentação do Amazon EKS. Este contexto é usado para encontrar métricas, namespaces e tipos de visualização corretos.
  3. A função create-dashboard recupera um template de prompt gerenciado do Amazon Bedrock Prompt Management. Este template inclui instruções do sistema para criação e dashboard do Amazon Managed Grafana e usa variáveis como context, contextEKS, base_json e user_message para gerar prompts contextuais dinamicamente.
  4. A consulta é mesclada com o contexto e enviada para o Anthropic Claude Sonnet 4.6 no Amazon Bedrock; usando o template de prompt formatado.
  5. O modelo gera a configuração JSON do dashboard e se conecta à API do Amazon Managed Grafana para validar a estrutura.
  6. Se o Amazon Managed Grafana fornecer uma mensagem de erro indicando que a configuração do JSON gerado está incorreta, o modelo usa o texto de erro da resposta e adiciona a resposta do Amazon Managed Grafana para correção.
  7.  O modelo cria a configuração corrigida do dashboard e continua o processo. Esta iteração pode ser realizada múltiplas vezes.
  8. Finalmente, criamos o dashboard usando a API do Amazon Managed Grafana e geramos a URL do dashboard. Nessa etapa, o resultado é apresentado ao usuário via Slack.

A figura mostra a interação do usuário via Slack:

Slack

Os dashboards gerados são exibidos no Amazon Managed Grafana:

Amazon Managed Grafana

Conclusão

Neste post, demonstramos como combinar o poder da IA generativa do Amazon Bedrock com os recursos de visualização do Amazon Managed Grafana para criar um sistema inteligente de gerenciamento de dashboards. Esta solução transforma a complexa tarefa de criar e manter dashboards de observabilidade em uma experiência conversacional através do Slack.

Os principais benefícios desta abordagem incluem:

  • Democratização da observabilidade: Equipes sem conhecimento profundo em PromQL ou configurações do Grafana podem criar dashboards usando linguagem natural
  • Otimização de tempo: O que antes exigia configuração manual e conhecimento de linguagens de consulta agora pode ser feito com um comando em linguagem natural.
  • Customização: O uso de RAG com metadados de métricas faz com que os dashboards sejam criados com métricas e visualizações de acordo com o negócio
  • Validação automática: O loop de validação com a API do Amazon Managed Grafana faz com que apenas configurações válidas sejam implementadas

Considerações importantes

Personalização de prompts: Os templates de prompt usados nessa solução podem e devem ser ajustados de acordo com suas necessidades específicas. Você pode modificar as instruções do sistema, adicionar exemplos específicos do seu domínio ou ajustar o nível de detalhe das respostas através do Amazon Bedrock Prompt Management.

Natureza não-determinística da IA generativa: Por se tratar de um modelo de IA generativa, as respostas podem variar entre execuções. Dependendo do seu caso de uso e dos requisitos de consistência, pode ser necessário implementar lógica adicional no código para lidar com diferentes formatos de resposta ou adicionar validações extras. Recomendamos testar extensivamente com diversos tipos de solicitações e ajustar os padrões de extração JSON conforme necessário para garantir robustez em produção.

Para mitigar o risco na criação dos dashboards, você pode adicionar mais controles e visualizações, como feedback humano ou exemplos de templates de dashboards para fine-tuning. Para colocar a solução em prática, acesse o repositório sample-dashboard-genai-management e consulte a documentação do Amazon Bedrock e do Amazon Managed Grafana para adaptá-la ao seu ambiente.

Sobre a Autora

Camila Câmara é Solutions Architect no time AWS. Apoia clientes do setor ISV (Independent Software Vendor) em sua jornada para nuvem AWS. Tem foco em projetos que envolvam arquiteturas distribuídas e escaláveis, além de grande interesse na área de Infraestrutura, Kubernetes, DevOps e Observabilidade.