0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【New Relic × n8n】「止まったら業務が死ぬ」自前n8nサーバーをNew Relicで完全監視し、AIに障害原因を特定させる自律型運用術 🛡️🤖

Posted at

こんにちは😊
株式会社プロドウガ@YushiYamamotoです!
らくらくサイトの開発・運営を担当しながら、React.js・Next.js専門のフリーランスエンジニアとしても活動しています❗️

この記事は New Relicでコスト削減、障害対応の迅速化、AI活用にチャレンジ!オリジナルHHKBが当たる?! by New Relic Advent Calendar 2025 の参加記事です🎄

私は普段、ノーコードツール n8n をDockerでセルフホストし、あらゆる業務を自動化しています。
しかし、セルフホストには**「サーバーが落ちたら誰も助けてくれない」**という恐怖がつきまといます。

  • 「朝起きたらn8nが止まっていて、請求書が送られていなかった…」
  • 「メモリリークでVPSが応答不能になっていた…」

そんな悪夢を終わらせるために、New Relic を導入しました。
今回は、単なる死活監視だけでなく、「New RelicのアラートをAIが分析し、原因と対処法をSlackに即レスしてくれる」 次世代の運用フローをご紹介します。

🏗️ アーキテクチャ:監視からAI分析まで

New Relicを「監視カメラ」、n8nとAIを「警備員」として配置します。

🛠️ 手順1:Docker環境へのNew Relic導入(爆速)

「New Relicって導入が難しそう…」と思っていませんか?
Docker環境なら、docker-compose.yml に以下を追加するだけで、インフラからコンテナ内部まで丸見えになります。

docker-compose.yml (New Relic Agent)
services:
  newrelic-infra:
    image: newrelic/infrastructure:latest
    cap_add:
      - SYS_PTRACE
    network_mode: host
    pid: host
    privileged: true
    volumes:
      - "/:/host:ro"
      - "/var/run/docker.sock:/var/run/docker.sock"
    environment:
      NRIA_LICENSE_KEY: "YOUR_LICENSE_KEY"
      NRIA_OVERRIDE_HOST_ROOT: "/host"
    restart: unless-stopped

これだけで、CPU、メモリ、ディスクI/Oはもちろん、「どのコンテナがどれくらいリソースを食っているか」 が可視化されます。

📉 手順2:コスト削減のチャンスを発見

New Relicを入れて1週間後、衝撃の事実が判明しました。

「n8n、メモリを使いすぎ問題」

グラフを見ると、特定のワークフローが動く時間帯だけメモリ使用率が95%に張り付いていました。これが原因でOOM Killer(強制終了)が発動していたのです。
逆に、CPUはスカスカでした。

【カイゼン施策】

  1. プラン変更: CPU重視のVPSプランから、メモリ重視のプランに変更(月額コストは変わらず、安定性向上)。
  2. ワークフロー修正: New Relicの「Transaction Trace」で特定した重い処理を分割。

結果、サーバーダウンの回数が「月3回 → 0回」 になり、無駄なハイスペックサーバーを契約する必要もなくなりました。これぞコスト適正化!💰

🤖 手順3:AIによる「障害対応の民主化」

ここからが本番です。
New Relicのアラート通知(Webhook)を、別のn8nワークフローで受け取り、AIに分析させます。

1. New RelicでWebhookを設定

Alert Policyを作成し、Notification Channelとしてn8nのWebhook URLを指定します。

2. AIへのプロンプト(n8n内)

New Relicから送られてきたアラート情報(JSON)をAIに渡し、「SREエンジニア」 として振る舞わせます。

あなたは優秀なSREエンジニアです。
New Relicから以下の障害アラートを受信しました。

【アラート内容】
{{ $json.body }}

以下の対応を行ってください。
1. 障害の深刻度を判定(S/A/B/C)
2. 推定される原因を初心者にもわかるように解説
3. 推奨される復旧コマンド(docker restartなど)の提示

3. Slack通知の劇的ビフォーアフター

Before(New Relic標準通知):

🚨 Alert: CPU usage > 90% on host-01

After(AI分析済み通知):

🚨 【緊急】n8nサーバーで高負荷を検知しました

深刻度: A (サービス停止の可能性あり)
原因: コンテナ n8n_worker がCPUを98%消費しています。特定の無限ループ処理が発生している可能性があります。

推奨アクション:
以下のコマンドでコンテナを再起動してください。

docker restart n8n_worker

※これで直らない場合は、直近のワークフロー実行履歴を確認してください。

これなら、インフラに詳しくないメンバーでも「とりあえず再起動すればいいんだな」と判断できます。
まさに 「障害対応の民主化」 です。

まとめ:New Relicは「お守り」ではなく「攻めのツール」

New Relicを導入したことで、以下の成果が得られました。

  1. コスト最適化: 必要なリソースを見極め、無駄なサーバー代を削減(Switch 2が買えるくらい浮きました🎮)。
  2. MTTR(平均復旧時間)の短縮: AIが初動を指示してくれるので、迷う時間がゼロに。
  3. 安眠: 「何かあってもAIが教えてくれる」という安心感。

個人開発や小規模チームこそ、New Relic × AI で 「寝ている間に解決するインフラ」 を構築してみてはいかがでしょうか?

最後に:業務委託のご相談を承ります

私は業務委託エンジニアとしてWEB制作やシステム開発を請け負っています。最新技術を活用したレスポンシブなWebサイト制作、インタラクティブなアプリケーション開発、API連携など幅広いご要望に対応可能です。

「課題解決に向けた即戦力が欲しい」「高品質なWeb制作を依頼したい」という方は、お気軽にご相談ください。一緒にビジネスの成長を目指しましょう!

👉 ポートフォリオ

🌳 らくらくサイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?