プレビュー
この機能はまだ開発中ですが、ぜひお試しください。
この機能は現在、弊社のプレリリースポリシーに従ってプレビュープログラムの一部として提供されており、期間限定のプロモーションです。この期間が終了すると、次の変更が行われます。
- 予測アラートイベントはUIで利用できなくなります。
- アラート条件は、閾値の静的部分のみで再登録されます。この再登録により集計ウィンドウがリセットされ、プロセス中に条件の閾値を超えた場合にアラートの検出が遅れる可能性があります。
あなたがスループット、レイテンシ、エラー率などの重要なアプリケーションメトリクスの監視を担当するエンジニアであるとします。これらのメトリクスが設定した上限に近づき始めた際に通知を受け取り、アプリケーションがスムーズに実行されるように予防措置を講じる方法が必要です。あるいは、ディスク容量が限界に近づいたときに事前に通知を受け取り、アップグレードを計画し、ダウンタイムを防ぐことを望んでいるデータセンター管理者であるとします。ビジネスストラテジストとして、財務計画の課題に取り組むために収益傾向を予測することを目指しているとします。これらのシナリオのいずれにおいても、潜在的な問題を予測し、問題が発生する前にアラートを受信する機能があれば、生産性と意思決定が大幅に向上します。
Predictive Alerts機能は、問題が発生する前に検出できるようにすることで、こうした問題を解決します。イベントの発生後に通知するほとんどのアラートとは異なり、 Predictive Alerts、信号が設定した静的閾値に違反すると予測されるときに、アラートをトリガーします。
Predictive Alerts機能は、履歴データを使用して、信号に予測モデルを適合させます。モデルは、入力されるデータポイントごとに、この履歴データを使用して最大360個の将来のデータポイントを予測できます。各データポイントは、 1つのウィンドウ期間内のデータグループを表します。予測されたデータポイントが静的閾値設定に違反した場合は、アラートを受け取り、潜在的な問題が発生する前に予防措置を講じることができます。
予測アラートは多くの状況で役立ちますが、「フェイルファスト」またはスパイク状の動作を示す信号には適していません。たとえば、一般的には安定しているが、一時的に急増するエラーカウントは、この機能では予測できません。このような場合、静的閾値条件の方が適切であり、必要なアラート範囲が提供されます。
サポートされているアルゴリズム
現在、Predictive Alerts季節性時系列と非季節性時系列の両方に対して、指数平滑法とも呼ばれるHolt-Wintersアルゴリズムをサポートしています。この機能は、予測および予報タスクのアルゴリズムに基づくモデルを使用します。予測モデルをデータに適合させる場合、履歴データの動作に基づいて季節性モデルまたは非季節性モデルのいずれかが自動的に選択されます。
季節モデル
季節モデルは、履歴データ内の繰り返されるパターンを特定して利用し、将来の値を予測します。この繰り返されるパターンは季節性と呼ばれ、1つのサイクルを完了するのに必要な期間は季節の長さと呼ばれます。履歴データに季節性の兆候が見られる場合、アルゴリズムは季節の長さを自動的に検出し、季節モデルを適用します。
Predictive Alerts機能は、時間単位、日単位、週単位の季節の長さをサポートしていますが、月単位や年単位の季節の長さはサポートしていません。季節パターンを使用して予測を生成するには、季節の長さの3倍以上の履歴データ(時間単位の場合は3時間、日単位の場合は3日、週単位の場合は3週間)が必要です。利用可能な履歴データが季節の長さの3倍に満たない場合、モデルは予測を生成せず、十分なデータが利用可能になるまで待機します。
季節の長さを手動で選択することはできません。モデルは、履歴データの季節性と信号のウィンドウ期間に基づいて季節の長さを自動的に決定します。ウィンドウ期間を調整すると、モデルによって検出される季節の長さに影響します。以下は、さまざまなウィンドウ期間と、その結果として生じる季節の長さの相関関係です。
Window duration | 季節の長さ |
---|---|
最大2分 | 時間単位 |
2分から10分 | 時間単位または日単位 |
10分から1時間 | 時間単位、日単位、週単位 |
1時間から6時間 | 日単位または週単位 |
6時間以上 | サポートされていない |
非季節モデル
履歴データに繰り返しパターンが検出されない場合、アルゴリズムは非季節モデルを使用します。このモデルはデータの傾向とレベルのみに基づいており、季節パターンに依存せずに予測を行うことができます。
例:ウィンドウ期間に基づいて予測モデルを選択する方法
ウィンドウの期間を1分に設定した場合、季節の長さは時間単位になります。この機能は、履歴データで時間単位の季節パターンが検出された場合、季節モデルをアラート条件に適用し、3時間の履歴データ(季節の長さの3倍)を使用して予測を生成します。
- 季節パターンが検出されない場合、この機能は非季節モデルを使用して予測を行います。
- 十分な履歴データが利用できない場合、モデルは十分なデータが蓄積されるまで待機してから予測を生成します。
enable Predictive Alerts
Predictive Alerts機能を有効にするには、 one.newrelic.com > Administration > Preview & Trialsに移動して、Predictive Alerts機能を有効にします。
の設定 Predictive Alert
Predictive Alertを設定するには、他のアラート条件と同じ手順に従い、その後、閾値の設定中に予測機能を有効にします。次の手順は、NRQLクエリを通じて信号を定義して、Predictive Alert条件を作成する方法を示しています。チャートを作成したり、ガイドモードを使用したりして信号を定義することもできます。信号を定義した後、アラート条件を作成するための以降の手順は同じです。
信号の定義
新しいアラート条件を作成するには、Alert conditions (policies)からNew alert conditionを選択します。
アラート信号を定義するには、 Write your own queryを選択し、 NRQLクエリを作成します。以下は、
MyAwesomeApp
アプリケーションのスループットを示す参考用のクエリ例です。ヒント
NRQLとその構文の詳細については、NRQLドキュメントを参照してください。
SELECT rate(count(apm.service.transaction.duration), 1 minute)FROM MetricWHERE appName = 'MyAwesomeApp'クエリのチャートをプレビューするには、Runをクリックします。
詳細設定で信号を微調整する
信号を微調整するには、Nextをクリックし、要件に応じて次の詳細設定を行います。
Advanced setting | 説明 |
---|---|
分析のためにデータをグループ化または集計する方法を定義します。これは、トレーニングに使用するデータ量と許容される季節の最大期間を決定するため、 Predictive Alertsにとって重要です。詳細については、上記の例を参照してください。 | |
信号の変動を平滑化します。AdvancedおよびCore Compute価格設定の顧客には、これを利用する際に追加のCCU料金が発生する場合があります。詳細については、スライディングウィンドウの価格設定セクションを参照してください。 | |
評価される前にデータの収集方法を制御します。データに最も適したオプションを選択してください。 | |
各評価ウィンドウに属するイベントの待機時間を設定します。遅延時間を長くするとアラートの精度は向上しますが、通知が遅れる場合があります。 | |
分析で欠損データをどのように処理するかを定義します。 | |
信号に対する閾値の評価を開始する前にNew Relicを特定の期間待機するようにしたい場合は、この機能を有効にして、必要な待機時間を設定します。 |

条件閾値の設定
Predictive Alertを作成するには、タイプをStaticに設定する必要があります。詳細については、静的閾値のドキュメントを参照してください。
予測機能を実装するには、 Predict future behaviorトグルを有効にします。
先読み時間を調整して、どのくらい先の将来を予測するかを設定します。
- 最小先読み時間:ウィンドウ期間の2倍
- 最大先読み時間:ウィンドウ期間の360倍
実際の信号が閾値を超えた場合のPredictive Alertの動作を設定します。Predictive Alertを閉じて実際のアラートを開くか、ノイズを減らすためにPredictive Alertを開いたままにするかを選択できます。
条件閾値の設定が完了したら、Nextをクリックします。
アラート条件の詳細を追加する
アラート条件に名前を付け、アラートポリシーに添付します。詳細については、アラート条件の詳細を参照してください。
上記の手順をすべて完了すると、予測機能を備えたアラート条件が正常に設定されます。