Java アプリのインスタンスのいずれかが違反したときにトリガーされるアラートの しきい値 を設定できます。条件の範囲をアプリのインスタンスに限定すると、アプリのインスタンスのサブセットでのみ発生する異常を検出するのに役立ちます。
このような異常は、多数のインスタンスに渡ってメトリクスを集約するアプリケーションでは見逃されがちです。インスタンスごとに見ることで、潜在的な問題がどこから発生しているかをより迅速に特定することができます。
例
この例では、3 つのインスタンスを持つ Java アプリのポリシーを設定します。 インスタンスのエラー率の条件のクリティカル閾値が 0.02% より大きい場合にインシデントを開く必要があります。 for at least 5分。
5分間での3つのインスタンスのエラー率は以下の通りです。
App instance | 4:45pm | 4:50pm | Incident opened? |
---|---|---|---|
A | 0.00% | 0.00% | いいえ、このインスタンスはずっと目標値を下回っていました。 |
B | 0.02% | 0.03% | はい。 警告のしきい値が、このインスタンスの0.02%のしきい値を少なくとも5分間超えました。 |
C | 0.10% | 0.00% | いいえ。インシデントをオープンするには 、少なくとも 5 分間連続して しきい値を突破する必要があります。 ただし、 at least onceの閾値を 5 分に設定した場合、5 分間に閾値値を少なくとも 1 回超える必要があります。 |
インスタンスベースのアラート条件の作成
アプリの個々のインスタンスによるインシデントの通知をトリガーするポリシーを作成するには:
基本的なワークフローのプロセス に従って、ポリシーを設定します。
条件を作成するとき(手順 2)、
を選択します。
条件のタイプとして
Application metric
を選択します。
アプリの選択されたインスタンスごとに集計閾値インシデント
individually
を評価するには、
Scope to Java application instances
を選択します。
Next, select entities
を選択し、この条件に該当する 1 つ以上のアプリを特定します。
オプション:
インシデントを強制的にクローズする時間を変更します (デフォルトは 24 時間です)。
By condition
または
By condition and signal
インシデント設定を使用します。
ヒント
アプリのすべてのインスタンスのaverageに基づいてインシデントを開くには、 Scope to Java application instancesではなくScope to the applicationを選択します。
Use"By condition" incident preference
インスタンスベースの条件を含むポリシーのインシデント設定を行う場合は、 By condition and signalではなくBy conditionを選択することをお勧めします。 この条件ではアプリが選択されたテンプレートですが、各JVMは個別のテンプレートとして評価されます。
Incident preference を By condition and signal に設定すると、クリティカルしきい値を超えたJVMごとに個別のインシデントが開かれます。 複数の JVM にわたってアプリが失敗すると、「アラート疲れ」やフラストレーションにつながる可能性があります。
インスタンスアラートにREST APIを使用
New Relic REST API でインスタンスベースの アラート条件を作成するには、REST API コールに以下の項目を含めてください。
condition_id
(API エクスプローラーから入手可能:Alerts Conditions > GET > List
)
entity_type
("application"
に設定)condition_scope
(Javaアプリケーションインスタンスの場合は"instance"
に設定され、Javaアプリケーションの場合は"application"
に設定されます)
ここでは、APIリクエストフォーマットとJSONレスポンスの例をご紹介します。