はじめに

システムの安定稼働には監視が不可欠ですが、アラート対応後の復旧通知が負担になることはありませんか?
手動での通知は、手間や見落としのリスクも伴います。
本記事では、New Relic と Backlog を連携させ、復旧通知を自動化する方法をご紹介します。

前提

  • New Relic で AWS 環境を監視している。
  • Backlog を使用している。

復旧通知フロー

New Relic はアラートを検知すると Issue を作成します。
この Issue は、監視リソースがアラート状態から復旧すると自動的に Close されますが、
このときの Closed 通知を Backlogプロジェクトのメールアドレスに送信するようにします。
そして、Backlog のメールから課題登録する機能を使用し、 Closed 通知を課題起票、復旧通知とします。

設定方法

ステップ1. Backlogプロジェクトのメールアドレスを発行

まず、New Relic から通知を受け取る、 Backlogプロジェクトのメールアドレスを発行します。
このメールアドレスは、プロジェクト管理者しか発行できません。

  1. Backlog にログインし、通知を受け取りたいプロジェクトを開きます。
  2. プロジェクト設定の「インテグレーション」から「課題登録用メールアドレスの追加」を選択します。
  3. 下記の項目は記載の内容を設定し、それ以外は任意の設定値でメールアドレスを発行してください。
項目 設定値 備考
課題の件名 メールに記載された件名で登録 メールの件名にコンディション名や検知時刻などアラート情報が記載されるため
登録対象外文字列 ACTIVATED CLOSED通知のみを起票したいため

↓課題の件名

↓登録対象外文字列

ステップ2. New Relic で Destinations を作成

New Relic がメールを送信するための宛先を設定します。

  1. New Relic にログインし、左側のナビゲーションメニューから「Alerts & AI」>「Destinations」へ移動します。
  2. 「Add a destination」をクリックし、「Email」を選択します。
  3. 「Email Addresses」に、ステップ1で発行した Backlogプロジェクトのメールアドレスを入力します。
  4. 「Name」に任意の名前(例: Backlog Recovery Notification)を入力します。
  5. 「Save destination」をクリックして保存します。

ステップ3. New Relic でワークフローを作成

New Relic のアラートが「クローズ」された際に、ステップ2で作成した Destination にメールを送信するワークフローを設定します。

  1. New Relic にログインし、「Alerts & AI」>「Workflows」へ移動します。
  2. 「Create a workflow」をクリックします。
  3. 「Workflow name」に任意の名前(例: Backlog Recovery Notification Workflow)を入力します。
  4. 「Filter data」に送信する Issue の種類を設定します。
  5. 「Notify」で Email を選択します。

  • 「Email destination」は、ステップ2で作成した Destination(例: Backlog Recovery Notification)を選択します。
  • 「Email subject」は、Closed 通知の件名で、登録される課題のタイトルになります。そのため、New Relic が提供する変数を使用し、タイトルで復旧通知であること、何のコンディションか、検知時刻、対象リソースが分かるようにします。
    【{{ state }}】{{ accumulations.conditionName }} {{ issueActivatedAtUtc }} (UTC+09:00) {{ accumulations.tag.tags.Name }}
    
  • 「Custom Details (optional)」は、登録される課題の本文に [Custom details] という項目で追記されます。デフォルトのフォーマットは全て英語で記載されるため、わかりやすいようアラートの詳細情報を日本語でまとめて記載するようにします。
    # アラート詳細
    ### 監視項目名
    {{ accumulations.conditionName }}
    ### 検知時刻
    {{ issueActivatedAtUtc }} (UTC+09:00)
    ### リージョン
    {{ accumulations.tag.aws.region }}
    ### 対象リソース
    {{ accumulations.tag.tags.Name }}
    

上記のペイロードで使用している New Relic の変数には、以下の値が入ります。

変数名 説明
{{ state }} アラートの現在の状態を示します。今回の場合は CLOSED が入ります。 CLOSED
{{ accumulations.conditionName }} アラートのコンディション名を示します。 CPU使用率監視
{{ issueActivatedAtUtc }} アラートがアクティブになったUTC時刻を示します。 2025-07-12T03:00:00Z
{{ accumulations.tag.aws.region }} アラート対象の AWS リージョンを示します。 ap-northeast-1
{{ accumulations.tag.tags.Name }} アラート対象リソースの Name タグの値を示します。 web-server-01

これらの変数を使用すると、動的な情報をメールに含めることができ、復旧通知の内容がより明確になります

使用できる変数は下記の公式ドキュメントを参考にしてください。
New Relic Docs: Custom variables for incident workflows

ステップ4. 動作確認

設定が完了したら、実際に New Relic でアラートを発生させ、それが復旧した際に Backlog に課題が起票されるか確認します。
一時的に閾値を下げてアラートを意図的に発生させ、その後正常状態に戻すことでテストできます。

「Email subject (メールの件名)」が課題タイトルに記載され、「Custom Details (optional)」 が課題本文のCustom details セクションに記載されていることがわかります。

おわりに

New Relic と Backlog の連携により、システム復旧通知の自動化をご紹介しました。
この仕組みが、手動通知による運用負荷やヒューマンエラーの軽減に貢献できれば幸いです。

参考となる公式ドキュメント