やりたいこと
NewRelicで特定のメトリクスに対してアラートを発令させる閾値を設定し、アラート状態になったらSlackで通知させる。
前提
-
アラート作成対象のメトリクスのダッシュボードはすでに作成されている
-
今回例として使用するメトリクスは「アプリケーションに対する1分間あたりのHTTPリクエスト数」とする。
アラート概要
アラートを設定するにあたって、ポリシー・コンディション・インシデントの三つの概念を理解しておく。
ポリシー
複数のコンディションをグループ化したもの
コンディション
アラート状態にする条件・閾値の設定。(例: 5分間に1回エラーが出たらアラート出す)
インシデント
設定したコンディションの閾値を超えると発生する
イシューの設定について
イシューとは
イシューは、1つ以上のインシデントの集合です。
イシューが作成されるタイミングは以下の三つから設定できる。
-
ポリシーごとに1つのイシュー
-
コンディションごとに1つのイシュー
-
インシデントごとに1つのイシュー
イシューが作成されるたびにSlackに通知を送信するなどの設定が可能。
アラート設定の手順
1. ダッシュボードの3点リーダからCreate alert conditionを選択
ここからコンディションの作成が行える
2. Set your condition threshold で閾値を設定する
閾値の設定タイプにはStaticとAnomalyの2種類がある。
- Static
- CPU使用率が80%を超えた時など、設定した閾値を超えた際にアラートを出すことができる
- Anomaly
- コンテナのタスク数が増減した時など、一定を保っていた数値が変化した際にアラートを出すことができる。
今回はStaticタイプを選択してアラートを作成する。
今回は1分間に5回HTTPリクエストが来たら警告状態、10回以上きたらアラート状態になる設定にする。
3. ポリシー / イシューの設定をする
作成したコンディションにポリシーを紐付ける or 新規に作成する
また、ポリシー・コンディション・インシデントごとにイシューを作成する設定を行う

4. Save Conditionをクリックし、保存
5. 作成したConditionの確認
メニューのAlert & AI > Alert Conditionsから作成したConditionを確認できる
6. 通知設定の作成
任意のConditionを選択した後、Nortification settings > Create Workflowから通知設定を作成する.
Slackチャンネルへの通知のほか、メールでの通知などの設定もできる。
(注: Slackで通知できるのはパブリックチャンネルのみ。)
アラートの設定ができると、閾値を超えた時にSlackへ通知が来るのが確認できる。