はじめに
システムの安定稼働には監視が不可欠ですが、アラート対応後の復旧通知が負担になることはありませんか?
手動での通知は、手間や見落としのリスクも伴います。
本記事では、New Relic と Backlog を連携させ、復旧通知を自動化する方法をご紹介します。
前提
- New Relic で AWS 環境を監視している。
- Backlog を使用している。
復旧通知フロー
New Relic はアラートを検知すると Issue を作成します。
この Issue は、監視リソースがアラート状態から復旧すると自動的に Close されますが、
このときの Closed 通知を Backlogプロジェクトのメールアドレスに送信するようにします。
そして、Backlog のメールから課題登録する機能を使用し、 Closed 通知を課題起票、復旧通知とします。
設定方法
ステップ1. Backlogプロジェクトのメールアドレスを発行
まず、New Relic から通知を受け取る、 Backlogプロジェクトのメールアドレスを発行します。
このメールアドレスは、プロジェクト管理者しか発行できません。
- Backlog にログインし、通知を受け取りたいプロジェクトを開きます。
- プロジェクト設定の「インテグレーション」から「課題登録用メールアドレスの追加」を選択します。
- 下記の項目は記載の内容を設定し、それ以外は任意の設定値でメールアドレスを発行してください。
項目 | 設定値 | 備考 |
---|---|---|
課題の件名 | メールに記載された件名で登録 | メールの件名にコンディション名や検知時刻などアラート情報が記載されるため |
登録対象外文字列 | ACTIVATED | CLOSED通知のみを起票したいため |
↓課題の件名
↓登録対象外文字列
ステップ2. New Relic で Destinations を作成
New Relic がメールを送信するための宛先を設定します。
- New Relic にログインし、左側のナビゲーションメニューから「Alerts & AI」>「Destinations」へ移動します。
- 「Add a destination」をクリックし、「Email」を選択します。
- 「Email Addresses」に、ステップ1で発行した Backlogプロジェクトのメールアドレスを入力します。
- 「Name」に任意の名前(例:
Backlog Recovery Notification
)を入力します。 - 「Save destination」をクリックして保存します。
ステップ3. New Relic でワークフローを作成
New Relic のアラートが「クローズ」された際に、ステップ2で作成した Destination にメールを送信するワークフローを設定します。
- New Relic にログインし、「Alerts & AI」>「Workflows」へ移動します。
- 「Create a workflow」をクリックします。
- 「Workflow name」に任意の名前(例:
Backlog Recovery Notification Workflow
)を入力します。 - 「Filter data」に送信する Issue の種類を設定します。
- 「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 の連携により、システム復旧通知の自動化をご紹介しました。
この仕組みが、手動通知による運用負荷やヒューマンエラーの軽減に貢献できれば幸いです。
参考となる公式ドキュメント
- Backlog ヘルプ: メールからBacklogの課題を登録する
https://support-ja.backlog.com/hc/ja/articles/360034367294-%E3%83%A1%E3%83%BC%E3%83%AB%E3%81%8B%E3%82%89Backlog%E3%81%AE%E8%AA%B2%E9%A1%8C%E3%82%92%E7%99%BB%E9%8C%B2%E3%81%99%E3%82%8B - New Relic Docs: Destinations
https://docs.newrelic.com/jp/docs/alerts/get-notified/destinations/ - New Relic Docs: Workflows
https://docs.newrelic.com/jp/docs/alerts/get-notified/incident-workflows/