NewRelicのNotification Channelは2023/6以降廃止となり、Workflow/Destinationsへと移行します。公式
そこで、Workflow/Destinationsを利用したslack通知設定を行ってみたのでメモ書きしたいと思います。
手順
まずはNewRelicでAlerts & AI --> Destinations --> Slack
を選択して利用するSlackアカウントの登録を行います。
アカウントへの認証を行い、NewRelicに登録されるとDestinationsタブの中に対象Slackアカウントが登録されます。
次に、Alert conditions(policies) --> New alaert policy
を選択してPolicyを作成します。
Policyが作成されるとPolicy欄にPolicyが追加されるので、そちらをクリックしcondition(アラートを出す条件)を作成していきます。
下記画面のAdd a condition
ボタンを押すと、conditionの作成を行えます。
このあたりは従来の設定方法と同じです。
conditionが作成できるとグレーの枠に設定値が表示されます。
今回はAWS ECSのメモリが50%を超えるとアラートが発生し、Skack通知を行うような設定を行っています。
上記画面のid
は次のWorkflowsの設定で利用するのでメモしておきましょう。
最後にWorkflowsの設定を行います。
Alerts & AI --> Workflows --> Add a workflow
を選択するとWorkflowの作成が行えます。
遷移した画面の一番上の欄にはworkflowの名前を設定します。
Filter dataはAdvanced
を選択してから下記画面のような値を設定します。
ここで、先ほどメモしておいたpolicyのidを利用します。
この設定の意味は、Closeしていないアラートでかつ、policy_idが1234567であるpolicyでアラートが上がった際は、下記で指定する方法で通知を行うといった内容です。
Notifyには通知の方法を選択します。
ここではSlackを選択します。
Slackを選択すると、最初のDestinationsで設定したSlackアカウントとそれに紐づくチャンネルがプルダウンで選択できます。
選択したら、画面下記の「Update workflow」を押下すれば設定は全て完了です。
後は、先ほど設定したconditionの状態と現在の環境が一致した場合にSlack通知が送信されるようになります。