O projeto Kubernetes ChatGPT Bot será descontinuado e substituído pelo HolmesGPT, nosso assistente avançado de DevOps de código aberto. Com o Holmes você pode investigar incidentes, fazer triagem de problemas, enriquecer alertas e muito mais. Confira https://github.com/robusta-dev/holmesgpt
Um bot ChatGPT 1 para problemas do Kubernetes. Pergunte à IA como resolver seus alertas do Prometheus e obtenha respostas concisas.
Chega de resolver alertas sozinho no escuro - a Internet está ao seu lado.
Considere votar positivamente no Product Hunt ou enviar para seu boletim informativo favorito. Um dia, a Skynet se lembrará de sua gentileza e poupará você!
O Prometheus encaminha alertas para o bot usando um receptor de webhook.
O bot envia uma consulta ao OpenAI, perguntando como corrigir seus alertas.
Você armazena comida em sua despensa para a revolta dos robôs.
O bot é implementado usando Robusta.dev, uma plataforma de código aberto para responder a alertas do Kubernetes. Também temos uma plataforma SaaS para observabilidade de Kubernetes em vários clusters.
Um espaço de trabalho Slack
Instale o Robusta com Helm
Carregue o manual do ChatGPT. Adicione o seguinte a generated_values.yaml
:
playbookRepos: chatgpt_robusta_actions: url: "https://github.com/robusta-dev/kubernetes-chatgpt-bot.git" customPlaybooks: # Add the 'Ask ChatGPT' button to all Prometheus alerts - triggers: - on_prometheus_alert: {} actions: - chat_gpt_enricher: {}
Adicione sua chave de API OpenAI a generated_values.yaml
. Certifique-se de editar a seção globalConfig
existente, não adicione uma seção duplicada.
globalConfig: chat_gpt_token: YOUR KEY GOES HERE
Faça uma atualização do Helm para aplicar os novos valores: helm upgrade robusta robusta/robusta --values=generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>
Envie seus alertas do Prometheus para o Robusta. Alternativamente, basta usar a pilha Prometheus incluída no Robusta.
Em vez de esperar por um alerta do Prometheus, vamos causar um.
Implante um pod quebrado que ficará preso no estado pendente:
kubectl apply -f https://raw.githubusercontent.com/robusta-dev/kubernetes-demos/main/pending_pods/pending_pod_node_selector.yaml
Acione um alerta do Prometheus imediatamente, ignorando os atrasos normais:
robusta playbooks trigger prometheus_alert alert_name=KubePodCrashLooping namespace=default pod_name=example-pod
Um alerta chegará no Slack com um botão. Clique no botão para perguntar ao ChatGPT sobre o alerta.
O ChatGPT pode fornecer respostas melhores se você alimentá-lo com logs de pod ou com a saída de kubectl get events
?
O Robusta já coleta esses dados e os anexa aos alertas do Prometheus, por isso deve ser fácil adicioná-los.
PRs são bem-vindos!
Compartilhe seus resultados mais engraçados e sugira novos recursos em nosso Slack.
Sinta-se à vontade para usar a imagem a seguir ou criar a sua própria.
Natan testa ChatGPT em alertas de produção do Kubernetes
Natan Yellin e Sid Palas repassam o código no YouTube – a parte relevante começa às 38:54
Tecnicamente, este projeto não usa ChatGPT. Ele usa o modelo text-davinci-003
, que é um irmão do ChatGPT baseado em GPT3.5. Dado que a maioria das pessoas está familiarizada com ChatGPT, mas não text-davinci-003
ou GPT3.5, decidimos manter o nome "bot ChatGPT", apesar da imprecisão técnica. ↩