Slide 1

Slide 1 text

Grafana MCP serverで なんかし隊 @kohbis ゆるSRE勉強会 #11 2025/06/13

Slide 2

Slide 2 text

お話しすること ● オブザーバビリティ with AI ● オブザーバビリティ with MCP server ● Grafana MCP server

Slide 3

Slide 3 text

オブザーバビリティ with AI(1/2) 異常検出( Anomaly Detection) ● 機械学習と統計により「通常と異なる推移」のメトリクスを検出 ● 機械学習とパターン分析により「通常と異なる形式や値」のログを検出 自然言語クエリ生成( Natural Language Query Generation) ● サービスごとに(やたらクセがある)クエリを自動生成 自然言語要約( Natural Language Summarization) ● ログやメトリクスまたはそれらのダッシュボードを自動要約 etc.

Slide 4

Slide 4 text

オブザーバビリティ with AI(2/2) AI 周り「そのもの」のオブザーバビリティ ● リソース使用率 / モデルの出力評価 リクエスト数 / レイテンシー / セキュリティ etc. ● 各サービスやツールの対応 ○ Monitoring the performance of Amazon Bedrock ○ Cloud Monitoring metrics for Vertex AI ○ Datadog LLM Observability ○ OpenTelemetry for Generative AI

Slide 5

Slide 5 text

オブザーバビリティ with MCP Server うれしいこと ● サービスや担当者の習熟度に依存せず、誰でも再現性のある調査が可能に ● エージェントとの連携により、収集したデータを開発のワークフローに統合 ● (サービス、ツール連携、認証認可、出力整形をMCP Serverが一括して担える) 各サービスの対応 ● AWS MCP Servers ● Datadog MCP Server ● Sentry MCP Server

Slide 6

Slide 6 text

Grafana MCP Server Grafana ● “The open-source platform for monitoring and observability” ● 複数のデータソースをクエリ、可視化、アラート設定、検索できる MCP Serverでできること(一部) ● Dashboardの取得、作成、更新、パネルデータの取得 ● Datasourceへのクエリ ○ Prometheus(Metrics)、Loki(Log)をサポート ○ Tempo(Trace)やPyroscope(Profile)は未対応 ● Alertingの取得(更新は未対応) ※ ほかできることはREADME参照。PR#156 まで記載されていたものはIssueが起票されているのでそのうち対応されそう

Slide 7

Slide 7 text

なんかしたい 🤔 ゆるSREのLTに応募したものの ● ただGrafanaダッシュボードを一覧するだけは楽しくない ● PromQL(Prometheus)やLogQL(Loki)を書いてくれるのはうれしいがなんかパッ としない ● なんかトラシューっぽいことができたらよさそう? 「おうちK8sクラスタがあるけど、そんないい感じの変化はないよな〜」

Slide 8

Slide 8 text

いい感じだった

Slide 9

Slide 9 text

調査開始 Copilot Chat (Claud Sonnet 4) on VSCode + Grafana MCP server

Slide 10

Slide 10 text

ダッシュボード一覧 最初に利用するダッシュボードを選 択する 今回は準備しておいたHome Clusterというダッシュボードを使う

Slide 11

Slide 11 text

ダッシュボード詳細

Slide 12

Slide 12 text

なげぇ😇

Slide 13

Slide 13 text

ダッシュボード詳細

Slide 14

Slide 14 text

直近7日間の傾向

Slide 15

Slide 15 text

メモリ/CPU増加の原因を調査させる 👈 めっちゃ頑張ったCopilotくん ● ノードごとのPod数変化に着目し、特 定の時間から該当ノードで Pod数 が増えている ことに気づく ● この挙動から「システム全体のロー リングアップデート」 が行われた可 能性を提示

Slide 16

Slide 16 text

正解👏

Slide 17

Slide 17 text

リソース使用率が増えた時間帯にやっていたこと K8sクラスタのアップグレード ● リソース使用率が減少したノード ○ アップグレードするため 稼働しているPodを退避した ● リソース使用率が増加したノード ○ 👆の退避された Podが 稼働するように なった Grafana MCP serverを活用した 自然言語のみでトラブルシューティング に成功 🎉

Slide 18

Slide 18 text

ところで

Slide 19

Slide 19 text

ずっと異なる発生時刻を表示し続けていた ● 発生時刻は2025年6月6日1時頃 ○ Grafana MCP serverで取得した メトリクスも該当時間のUNIX time ○ 調査でクエリするときも 👆のUNIX timeを使用している ● Copilot Chatの回答だけ 2025年6月7日15時頃と表示される 何らかの理由で誤ったコンテキストを 保持し続けてしまった? なにもわからないので詳しい方教えてください🙇

Slide 20

Slide 20 text

さいごに

Slide 21

Slide 21 text

いろいろできそう ● エディタ(VSCode)でMCP serverを利用して コード修正まで Agentにお任せ ○ 例)今回特定した問題の修正 ■ リスケジューリング設定 ■ リソース調整 ● ダッシュボード要約によるモニタリング業務の効率化 ● アラート閾値に達しない範囲、中長期での傾向変化

Slide 22

Slide 22 text

ありがとうございました