NewRelicでSlack通知のテストを行なったところ、1回目のcritical violationではSlack通知が来ず、2回目のviolationで通知がくる動きをしました。
1回目のcritical violationで通知が来る設定をどうしたらできるか分からず困ったので、その際の解決方法をメモ書きします。
やっていたこと
1:「alert & AI」--> 「alert condition」でアラート設定をおこなう
2:「Channel 」--> 「new notification channel」--> 「URL」にSlackのweb hook urlを設定
3:「Channel 」--> 「2.で作ったchannel name」--> 「Alert policies」-->「Add alert policies」で1.のPolicyと、2.で作ったchannelを紐づける
4: 意図的にシステムでエラーをおこなし、「alert & AI」--> 「alert condition」--> 「対象の
原因と解決方法
メトリクスの集計方法としてEvent flowが設定されていたため。
Eventflowだとウインドウ外の次のデータが来るまでウインドウ内のデータが評価されないため、2回目から通知が出るようです。
1回目で通知を出すには、メトリクスの集計方法を「Event timer」にする必要があります。
設定するには「alert & AI」--> 「alert condition」--> 「<対象のコンディションのEdit >」をクリックして、「 Streaming method」を、「Event timer」に設定します。
「Event timer」を設定して出てきた「Timer」の時間を短めの時間に設定し、「Save condition」ボタンで設定を保存したら意図通りの設定が反映されます。
参考: https://newrelic.com/jp/blog/nerdlog/new-aggregation-methods-for-nrql-alert-conditions