|

2025-12-24

アプリ

New Relic MCP × Claude API でアラート調査を自動化してみた

MCPNew Relic

アラートの原因調査を AI にお任せ

1年ちょっと前からNew Relicを採用して、社内のシステムのパフォーマンス監視を行っています。その中でアラートも設定して、エラー時にはSlackに通知させて異変に気付けるようにしています。

 

とはいえ、毎回アラートの度に原因調査するのも地味に面倒ですし、システムによっては属人化している部分もあったりします…

今回、New Relic MCPがプレビュー機能としてリリースされましたので、原因調査をAIに任せてみるべく、簡単にシステムを構築してみました!

 

今回構築したシステム

アーキテクチャはこんな感じです。コストを抑えるため完全サーバーレスで構築してみました。 image

ちなみに、アーキテクチャ図も前記事で紹介したMCPで自動生成しています。(ですので細かい点はご容赦ください…)

 

ざっくりの流れとしては、

  1. New RelicからSlackにアラート通知

  2. Slack AppのEvent Subscriptionsに登録されているLambdaの関数URLに対して、アラート通知内容をPOST

  3. Lambdaがアラート通知内容をSQSに渡してキューイング

  4. SQSをトリガーにLambdaがClaude APIに分析リクエスト(New Relic MCPと連携)

  5. Lambdaが分析結果をSlackに投稿

といった形で、Slackにアラートが通知されると自動で原因調査の結果が投稿されます。

 

使ってみる

Slack Appをアラート通知先のチャンネルに追加すればOKです。

アラート通知から1~2分後に返信の形で調査結果が投稿されます。 image

表示される項目はアラート種別によって、それぞれ異なります。

例えば、

  • エラー/例外系アラート:関連エラーログと発生頻度を取得、エラートランザクションの詳細を確認

  • レスポンス遅延/スループット系アラート:スループットとレスポンスタイムを確認、遅いトランザクションを特定

といった感じになります。

 

実装にあたってハマった点

実際に構築する中でハマった箇所がいくつかあるので、紹介します。

 

その1:Claude APIとNew Relic MCPの連携

現在Claude APIのMCP Connectorでサポートされている認証方式はOAuth Bearer Tokenのみですが、New Relic MCPの方はドキュメントを見ると、OAuth方式もしくはAPIキー方式しか対応していません。

 

今回は対策として、プロキシLambda関数を用意して、Claude APIからのBearerトークンをapi-keyヘッダーに変換してNew Relic MCPに転送しております。

これで両者の認証方式の違いをクリアできました!

 

その2:Slack上でうまく表示されない

SlackではMarkdown記法は対応しておらず、独自のmrkdwnフォーマットを使用しています。そのため、強調の仕方や書式の認識方法などをMarkdown記法で出力しているとうまく変換されずにそのまま * だったりが表示されてしまいます…

 

今回は、プロンプト内でmrkdwnフォーマットのルールを詳細に定義しておく形で、通常のMarkdownと記法の違いをカバーしました。

 

その3:429 (Rate Limit) エラーの発生

上記の表記についてのルールもそうですが、なるべく期待に沿った回答を得ようと思うと、どんどんプロンプトが長くなってしまいます。

そして、時折429エラーが発生するようになってしまいました…

anthropic.RateLimitError: Error code: 429 - {'type': 'error', 'error': {'type': 'rate_limit_error', 'message': 'This request would exceed the rate limit for your organization (*****) of 30,000 input tokens per minute. For details, ...

 

対策として、トークン使用量削減のためプロンプトの最適化を行いました。

情報量を落としすぎて品質が落ちないようにテストしながら、レスポンステンプレートとユーザーメッセージを大幅に簡潔化しております。

また、それでも429エラーが発生した場合には、自動的に軽量モデルにフォールバックして再試行するように実装しております。

 

まとめ

New Relic MCPを使う事で、AIにシステムのメトリクスを連携できて、原因調査をある程度自動化できました。

MCPによって、New Relicに不慣れであったり、詳しくないシステムのアラートだったりしても、障害対応のハードルがかなり下がった印象です。

今回のようにサーバーレスで構築できると、コストもほとんど発生しませんので、どんどん活用していければと思います!

 


この記事の著者

プロフィール画像

金谷 洋佑

朝日放送テレビ株式会社 技術局 技術戦略部

動画・広告配信を主に取り組んでおり、その傍らでシステムのモダナイズの提案・支援や開発も担当。アプリケーションからネットワーク・セキュリティ・インフラまで幅広く励んでます!