5
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とPagerDutyを連携して自動診断を実行してみる

Last updated at Posted at 2022-12-20

New Relic Advent Calendar 2022の21日目の記事です。

はじめに

New Relic には公式のIntegrationが用意されているため、簡単にPagerDutyと連携させることができます。
New RelicからPagerDutyにアラートを送り、自動診断ジョブを実行する流れを例に、設定方法を説明します。

2通りのIntegration方法

Account Integration:

Service Integration:

  • PagerDutyの特定のIntegration-KeyとNew Relic Destinationを1:1で紐付ける方法
  • Service Orchestrationに加えて、Global Orchestrationが利用可能
  • API Keyではなく、ServiceのIntegration Keyだけで利用できるため、AdminやAccount Owner等の権限がなくても利用可能

本記事ではService Integrationを利用します。

1) PagerDutyでIntegration-Keyを発行する

Global Orchestration(推奨)またはService Orchestrationを利用して、Integration-Keyを発行してください。

2) New RelicでDestinationを設定する

Alerts & AI > Destinations を開き、Add a destinationからPagerDutyを選択、Service Integrationタブを開きます。

  • Service name: 送り先をnew relic上で識別するためのサービス名を入力
  • Integration-Key: 1)で作成したIntegration-Keyを入力
    image.png

3) New RelicでPolicyを設定する

Alerts & AI > Alert Policies を開き、"+ New alert policy" をクリックします。
Create alert policy画面で、Policy nameを記入し、 Incident Groupingの粒度*を選択したら、"Set up notifications" をクリックします。

*: PagerDutyのAIOps(Alert Grouping機能)を利用する場合は、粒度は細かくしておくことを推奨します。PagerDuty側でインシデント全体の状況が把握し易くなり、多数のアラートが発生した場合でも集約して管理が可能です。
image.png

Add channelでPagerDutyを選択します。
Edit notification message画面で、アラートの送付先とアラートに含めるデータを設定します。

  • PagerDuty destination: 2)で作成したDestinationを選択

"Send test notification"をクリックすると、PagerDutyにテストアラートを送ることができます。
image.png

PagerDuty上で、テストアラートによるインシデントが起票されました。
image.png

4) PagerDutyでEvent Orchestrationを設定する

このアラートをPagerDutyで受信した場合に、自動診断ジョブが実行されるよう、Event Orchestrationを設定します。

Services > Service Directory からアラートを受信するServiceを選択します。
Settingタブ内のEvent Managementセクションを表示します。

  • "View Event Orchestration Rules" をクリックします。
    image.png

"+ New Rule" をクリックし、自動診断を実行するアラートの条件を指定します。

  • If events match certain conditions アラートに含まれるデータを条件に利用します。
  • event.custom_details['Alert Policy Names'] 今回はCustom Details内のAlert Policy Namesを参照します
  • matches 今回は完全一致を利用。他に部分一致や正規表現なども使えます。
  • alert policy FE - us-east-1 Alert Policy Namesの値を指定します。
    image.png

"Next" をクリックし、条件に一致した際に実行するActionを指定します。

  • Process Automationから、別途作成しておいた自動診断のジョブを選択し、Saveをクリック
    image.png
    Event OrchestrationでService Ruleが作成できました。
    image.png

動作確認

New Relicからテストアラートを送ると、PagerDutyでインシデントが起票され、自動診断ジョブが実行されました。
IncidentTimeline.jpg

参考リソース

5
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
5
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?