JavaアプリケーションAPI+OpenAI(gpt5-nano)+github MCP+n8nを組み合わせてアラート解析運用してみた

に公開

今年6月にOmiaiサーバーチームに中途入社したサーバーサイドエンジニアの大森と申します。
現在、生成AIを使ったコーティング自動生成が盛んに行われています。
エンジニアの日常業務にはDevOpsインフィニティ図をみてみるとわかる通り、コーディング以外に様々な開発業務があります。


DevOpsインフィニティ図
MonitorとOpearationに該当するアラート解析や問い合わせ対応を生成AIを使って自動化できないかと考えました。
業務で扱うアラートや問い合わせの種類

  • CSからの問い合わせ
  • トラブル発生報告
  • AWSアラートが発生した時
  • Sentryアラートが発生した時
  • Firebase Clashlitycsアラートが発生した時

アラートや問い合わせが多岐に渡るため汎用性を重視したアーキテクトを行えるツールとしてn8n[1]での構築を選択しました。
現在Sentry[2]ではSeer機能がリリースされており、アラート解析やgithubへのPR作成まで行ってくれますが、今回は検証としてSentryアラート解析をn8n上でOpenAI(gpt5-nano)とgithub MCPを組み合わせて本当のアラートエラーで実施してみました。
1次アラート解析結果としては十分な結果が返ってきたのでtipsも交えて紹介させてもらえればと思います。
今回は入力と出力を手動で行う半自動での検証ですが、最終的には全自動化を目指してn8nを利用しているため今後も知見共有していきたいと思ってます。

今回の検証範囲

今回の検証ではgithub MCPサーバー[3]を利用して実コードを参照することで的外れなアラート解析をしないかを確認します。
JavaアプリケーションでOpenAI(gpt5-nano)とgithub MCPを組み合わせてアラート解析させてみました。

今回の構成

検証にフォーカスした構成をn8n上に構築しました。
まずはアラートが起きたらスタックトレースなどを私自身でチャットに質問して返答が返ってくる構成にしています。
github MCPもMCP Clientとして配置しているためスタックトレースから実コードも確認して回答してくれることを期待しています。

n8n上で構築した内容

プロンプト内容

github MCPを利用する際には、プロンプトに工夫が必要です。
検証してわかりましたがリポジトリやタグを絞った質問にしないとトークンを大幅に消費します。
今後AI運用を考えているのであれば日頃からタグ運用できるようにしておいた方がいいです。

プロンプトに入力する内容

対象レポジトリの最新タグ資源を取得して以下のエラーレポートを作成してください。

*アラートで報告されたスタックトレース

結果

MCPを経由して対象レポジトリを取得して回答を生成してくれました。

今回実コードを解析したため詳細内容はお伝えできませんがエラーレポートも以下の項目が記載され今のところ実装の問題であればかなり正確な回答を返してくれている印象です。
以下の内容を出力してくれます。
1.最新タグ資源の取得結果
2.エラーレポート(提示いただいたスタックトレースに基づく分析)

  • 事象の概要
  • 発生箇所の要点
  • 予測される根本原因(現時点では確定していませんが、以下が有力候補)
  • 影響範囲
  • 再現手順の案(推定)
  • 推奨される調査・対処手順
  • 追加で伺いたい情報(より正確な対応のため)


github MCPを利用して最新タグからレポート作成していることの確認

今後の展望

最終的には全自動化して対応できるを目指しています。
現在手動入力していた部分を各トリガーサービスに置き換えてアラート発生を検知してAI解析レポートをslackに通知するところを目指しています。

実現したいこと

アラート監視のために作成したn8n上のAI Agent構成を複製してトリガー部分やMCPサーバーなど目的に合わせた変更をした複数のAI Agentをn8nで構築していく予定です。
例としてSentryの場合は以下のような構成予定
Sentryでアラート検知→n8nでSentryのアラートをトリガーに動作→openAI+github MCPで解析→結果をslackに通知

n8n上での実現イメージ構成

まだアラート解析を始めたばかりのため構築をしていく上でのはまりポイントや工夫など今後も知見共有していければと思います。

脚注
  1. n8nとは
    ノーコードで様々なサービスを連携できるワークフローツールです。生成AIや各種MCPサーバーとの連携もサポートされています。
    公開されているソースコードとdockerを利用すれば無料で構築可能です。 ↩︎

  2. Sentryとは
    Sentryはアプリのモニタリングツールです。
    最近AIによるアラート解析やアラート対応のための自動PR作成を行うSeer機能が出ました。 ↩︎

  3. github MCPとは
    githubが公開しているMCPサーバーになります。
    MCPサーバーを使って生成AIからgithub上のリポジトリにアクセスできます。
    プライベートリポジトリの情報を取得するにはgithub MCPにアクセスするためのPersonal access tokensを発行する際にプライベートリポジトリへのアクセス権をつけて発行してください。 ↩︎

Omiai Tech Blog

Discussion