ChatGPTにKubernetesのアラート対応を教えてもらう。監視ツールとChatGPTをつなげる「Kubernetes ChatGPT Bot」登場
今回は「ChatGPTにKubernetesのアラート対応を教えてもらう。監視ツールとChatGPTをつなげる「Kubernetes ChatGPT Bot」登場」についてご紹介します。
関連ワード (会話、大規模、現在稼働中等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
オープンソースで開発されているKubernetesのモニタリングツール「Robusta」の開発者Natan Yellin氏は、AIを利用して人間とチャットで会話をする能力を備える「ChatGPT」をRobustaと統合した「Kubernetes ChatGPT Bot」を公開しました。
Kubernetes ChatGPT Botは、発生したアラートの内容を自動的に受け取り、対処方法をAIがチャットで教えてくれるというものです。Natan Yellin氏は「もう、一人でやみくもにアラートの対応をしなくて済む。インターネットがあなたの味方だ」(No more solving alerts alone in the darkness – the internet has your back.)と説明しています。
We wrote a ChatGPT bot to solve your Kubernetes issues.
Alerts arrive by Prometheus webhook. ChatGPT speaks. Results go to your alerting channel in Slack.https://t.co/yHNIHJQJwG
— Natan Yellin (@aantn) January 10, 2023
Kubernetes ChatGPT Botの仕組みはYellin氏の下記のツイートで説明されているように、Prometheusで受け取ったKubernetesからのさまざまなアラートをAlert Managerが受け取り、それをRobustaが集約しつつSlackのチャットへ送ります。アラートの内容をChatGPTに送信するのもRobustaが行っています。
To summarize:
Prometheus -> AlertManager -> Robusta -> Slack
Within Robusta, it's just a few lines of YAML to define the ChatGPT functionality.
— Natan Yellin (@aantn) January 11, 2023
下記は、実際にRobustaからSlackへ送られたKubernetesのアラート画面です(デモ動画のキャプチャ)。あるPodがクラッシュして「KubePodNotReady」アラートが発生。関連する情報が表示されています。
ここで「Ask ChatGPT」ボタンをクリックすると、下記の答えが表示されます。
Yellin氏は、ここに示された6種類の回答には、適切なものもそうでないものも混じっていると説明。
今後の改良点として、現時点では単純にアラート名(今回の場合は「KubePodNotReady」)を質問のテンプレートに組み込んだ、「How to solve アラート名 on Kubernetes?」の文字列をChatGPTに送信しているだけであり、今後はPodのステータスや関連イベントなどの情報をさらに組み合わせた「How To solve アラート名 on Kubernetes when Pod status is Podの状態 and the Kubernetes events are 関連イベント?」といった、詳細を含んだ文字列で質問することで、よりよい回答が得られるのではないかとしています。
AIに質問しながら原因の切り分けや問題開発をしていく
Publickeyでは先日、IDEにChatGPTを統合することで「この関数のテストコードはどこ?」などの開発中のプログラムの内容をAIに聞くと教えてくれるという「qqbot」を紹介しました。
参考:IDEにChatGPTを統合、「この関数のテストコードはどこ?」「XXXを実装するならどう書けばいい?」など、AIでコードと対話できる「qqbot」登場
将来のIDEでは、コード全体をAIに解析してもらうことで「あの機能はコードのどこで実装されている?」「この変数の値を変更したときに影響する場所は」といったことを質問しながら、いまより効率的に開発が進められるようになるかもしれません。
同じように、運用監視ツールにChatGPTを統合し、現在稼働中のシステム全体をAIに解析したもらうことで、「このアラートの意味と原因の切り分け方法は?」「あのサービスの性能が低下した理由は?」など、AIと相談しながら原因を切り分けたり、問題解決を図っていくことになるのではないでしょうか。
特に簡単には把握できないような大規模なコードベースや複雑なシステムになるほど、人間より高い記憶力と検索能力を備えた対話型AIとの連係は欠かせないものになっていくはずです。