【New Relic】設定の属人化・ミスをゼロに。NerdGraphを用いたカスタム運用ツールのススメ

記事タイトルとURLをコピーする

はじめに

こんにちは。 マネージドサービス部の福田です。

システム規模が拡大するにつれ、様々な課題が生じますが、中でも「アラート設定」の管理もそのうちの一つだと思います。
例えば、以下のような状況です。

  • 全体像が見えない:設定が増えすぎて、誰も全容を把握できていない
  • 設定工数の増加:サーバー構築のたびに、Webコンソールで同じ設定をポチポチ入力している

これらはすべて、GUIでの「手作業」に依存していると発生しやすい課題です。 手作業は時間がかかるだけでなく、ヒューマンエラーのリスクもあります。運用が複雑になればなるほど、そのリスクは高まっていきます。

こうした課題に対し、ツールによる自動化ができればどれほど楽になるでしょうか。 今回は、将来的なチーム導入を見据えた技術検証として、New Relicの NerdGraph API と生成AIを活用したWebアプリを個人開発し、監視運用をどのように「効率化・自動化」できるのか試してみました。

NerdGraphとは

NerdGraphは、New Relicが提供する GraphQLベースのAPI です。
Webコンソール(GUI)上で可能な操作のほとんどを、API経由で実行できる機能になります。

NerdGraphの主な機能

  • Query (クエリ):アラート設定、エンティティ情報など、あらゆるデータの取得
  • Mutation (ミューテーション):アラート条件の作成・更新、Muting Rule(静観)の適用などの変更操作

これを使えば、GUIでのポチポチ作業を大幅に削減できます。

docs.newrelic.com

システム構成

構成は以下の通りです。APIキーなどの機密情報はバックエンド側で管理しています。
(アプリ側でデータ自体は保存しない設計にしているため、DBは持っていません)

実装機能の詳細

実際に開発したアプリの主要機能を紹介します。

1. 設定情報の可視化と棚卸し

監視対象が増えると、「設定の全体像」は見えなくなりがちです。

本機能は、アカウント内の全アラート設定を一覧表示します。
検索・フィルタリング機能もあるので、複数の設定がある環境でも、確認したいアラートへアクセス可能です。

サマリー画面

アラートの有効/無効ステータスや現在の閾値など、監視運用に必要な重要情報をひと目で確認できるようにしました。
ここから直接New Relicの設定画面へ遷移することも可能です。

詳細・編集画面

リストをクリックすると詳細モーダルが展開され、画面遷移することなくその場で設定値を編集可能です。

また、より多くの情報を一度に閲覧したい場合のために、リスト形式(テーブル表示)での表示も可能です。

さらに、設定情報をCSV形式でエクスポートする機能も実装しました。
Excelやスプレッドシートで管理できるため、チームでの定期的な棚卸しにも活用できます。

2. 設定作業の自動化と標準化

テンプレートによる標準化

「CPU使用率」「メモリ使用率」「エラーレート」など、新サービスのリリース時に設定すべき監視項目はある程度決まっていると思います。

これらを「テンプレート」として定義しました。
監視対象名やアカウントIDを入力するだけで、標準設定のアラートを一括作成できます。

一括変更機能

運用の中で「全サービスのCPU閾値を80%から85%に見直したい」といった要件が発生することがあります。
これを手作業で行うのは時間がかかるだけでなく、設定漏れや入力ミスが発生する可能性もあります。

この機能を使えば、ポリシーやキーワードで更新対象を絞り込み、変更後の値を入力するだけで一括更新が可能になります。

Muting Rule(静観設定)作成

計画メンテナンス時のアラート静観(Muting Rule)は、静観対象を誤ると「止めるべきでないアラートまで止めてしまう(あるいは止め損ねる)」というリスクがあります。
本アプリでは、対象のポリシーやコンディションをGUI上で選択するだけでMuting Ruleを作成できるUIを実装しました。
静観対象も目視で確認できるため設定ミスの防止にもつながります。

3. 学習コストの削減

「NerdGraphは便利そうだが、GraphQLの構文を覚えるのが大変」 といった学習ハードルを下げるため、生成AI(Amazon Bedrock)をアプリに組み込みました。
専門知識がなくても直感的に操作できるよう、以下の機能を実装しています。

自然言語からのクエリ自動生成(参考程度)

「◯◯のアラート情報を取得したい」のように自然言語で指示を入力するだけで、AIが実行可能なNerdGraphクエリを自動生成してくれます。

AIへの質問(参考程度)

New Relicの公式ドキュメントを知識ベースとして持たせており、仕様に関する質問に回答してくれます。
別タブでドキュメントを検索する手間が省け、ちょっとした仕様確認に役立ちます。

4. フリー実行環境

定型化されていない複雑な操作等のクエリを書きたい場合のための機能です。

機能としてはNew Relic公式のGraphiQL explorerの簡易版ですが、外部ツールへ移動することなく、「クエリ作成→実行→結果確認」のサイクルを回すことが可能になります。

AI機能について

今回の検証ではAmazon Bedrockを組み込んでAI機能を実装してみましたが、結論としてこの機能は今後廃止する予定です。
開発中にちょうど 「New Relic MCP」 の発表があり、今後New Relic MCP自体もどんどんアップデートされるはずなので、「これがあれば、わざわざ自作する必要はないな」と判断したためです。
New Relic MCPの詳細については、以下の弊社ブログも併せてご覧ください。

blog.serverworks.co.jp

ちなみに

本アプリケーションの開発プロセス自体にも、生成AIを活用しました。今回は主に「レビュアー」として以下のように活用しましたが、非常に効果的だと感じました。

  • 設計・ドキュメント化
    • 基本設計書や仕様書などのドキュメント作成をAIに依頼しました。
  • 実装と改修
    • アプリの改修もAIと行いましたが、全て任せきりにすると余計な実装が含まれることがありました。そのため、プロンプトで「勝手な修正を禁止」するよう制約を設け、出力されたコードに問題がないか都度確認しながら作業を進めました。
  • 最終コードレビュー
    • コードの品質チェックには、Claude CodeGemini を使用しました。ダブルチェックを経て、問題がないことを確認しています。

以下は上記内容をGeminiによって画像生成した内容になります。(大体あっています)

まとめ

New Relic運用の現場で直面しがちな課題から、NerdGraph APIと自作アプリを組み合わせることで、それらをどう解決できるかを検証しました。

  • 可視化:設定のブラックボックス解消・管理効率化
  • 自動化:手作業によるヒューマンエラーの削減

今回の検証を通じて、NerdGraphを有効活用することで、日々の運用を改善できる可能性を強く感じました。
New Relicを使用していて日々の運用をより良くしていきたいと考えている方は、NerdGraphの活用も視野に入れてみてはいかがでしょうか。

関連書籍のお知らせ

本記事でご紹介した内容は、2025年11月に開催された「技術書典19」にて販売された技術同人誌『New Relicに詳しい人達が書いた本 〜Trailblazerたちの「好き」を集めてみた〜』の第4章「NerdGraph APIによる監視業務の自動化と効率化」の内容がベースとなっています。
本書は、New Relicの機能紹介のような内容ではなく各執筆者が「今書きたいネタ」を自由に持ち寄った、New Relicへの「好き」を集めてみた一冊となっています。
引き続き電子版が入手可能ですので、本記事を読んで興味を持たれた方は、ぜひチェックしてみてください。

techbookfest.org

宣伝

宣伝続きで大変恐縮ですが宣伝させてください。
弊社では、お客様環境のオブザーバビリティを加速するためのNew Relicアカウント開設を含めた伴走型のNew Relic導入支援サービスをご提供しております。
もしご興味をお持ちの方は、こちらのNew Relic導入支援サービスのページよりお問合せ頂けましたら幸いでございます。

・福田 圭(記事一覧)

・マネージドサービス部 所属

New Relic Partner Trailblazer。New Relic Trailblazer of the Year 2025受賞。New Relic User Group運営。