プレビュー
この機能はまだ開発中ですが、ぜひお試しください。
この機能は現在、弊社のプレリリース ポリシーに従ってプレビュー プログラムの一部として提供されています。
概要
NRQL Predictions New Relicは、メトリクスの履歴データ パターンを使用して将来の傾向を予測し、メトリクスが将来どのように動作するかをサイトに提供します。 このプロアクティブなアプローチにより、傾向を視覚化し、潜在的な問題を予測して、タイムリーな介入により最適なシステム パフォーマンスを維持できるようになります。この機能は現在、季節性(一定のリズムで繰り返されるパターンを持つデータ)と非季節性の両方の時系列の予測をサポートしています。強い傾向または定義された季節パターンを示すメトリクスは、 NRQL予測に最適です。 これらの予測は、メトリクスがどこに向かっているのかを簡単に視覚的に示すために、既存のダッシュボードに追加すると最もよく活用されます。
チャートに予測を追加したい状況の例:
- 過去数時間にわたってアプリケーションがより多くのログを生成しており、ディスク容量が不足しています。
- アプリケーションのメモリが徐々に不足し、コンテナ全体がクラッシュする恐れがあります。
- 観察された季節や傾向のパターンに基づいて将来の収益を予測する必要があります。
NRQL Predictions自体は潜在的な問題を特定しませんが、傾向を評価し、将来の課題に備えるために必要な情報を提供します。予測によって差し迫った問題が示されたときにアラートを生成するには、現在パブリック プレビューで利用可能なPredictive Alerts機能に登録できます。Predictive Alerts 、 NRQL Predictionsと連携してメトリクスの予測を生成し、それらの予測が静的閾値を超えた場合に集計します。
価格
プレビュー期間中のNRQL Predictionsの使用は、お客様のアカウントに関連付けられた価格モデルに適用される注文に従って課金されます。この機能の使用に関連するNew Relic書き込み言語は、コア計算製品として課金されます。 この機能が一般に利用可能になった場合、ご注文に応じて使用料が請求されます。
価格に関する詳細については、弊社の営業チームにお問い合わせいただくか、ご注文を参照してください。
使用方法
NRQL Predictions すでに作成したチャート上で直接生成するか、 PREDICT
句を使用して NRQL クエリを記述するかの 2 つの方法で生成できます。
予測は、折れ線グラフや面グラフなど、時系列を表すグラフにのみ追加できます。既存のグラフに予測を追加するには、次の手順に従います。
予測を追加する
予測を追加するには、 メニューで、 Predict trendを選択します。Data Explorer [データ エクスプローラー]では、予測がグラフに表示されます。予測範囲はクエリ ウィンドウの 20% に自動的に設定されます。予測がグラフ上のどこにあるかを示すために、その領域は灰色で強調表示され、予測値は破線で接続されます。
PREDICT
句がクエリに追加され、 NRQL 予測のデフォルトの動作を使用して予測が生成されます。要件に応じて微調整することでクエリを絞り込み、再実行して更新された予測を取得できます。
ヒント
面グラフに予測を追加すると、予測を含む折れ線グラフに変わります。
ダッシュボードに追加
予測を含むグラフをダッシュボードに追加するには:
- Add to dashboardをクリックします。
- ウィジェット名を入力します。
- 既存のダッシュボードを選択するか、新しいダッシュボードを作成します。
NRQL 構文には、NRQL 予測の使用を効率化するためのPREDICT
句が含まれています。使用方法の詳細と例については、 NRQL 構文ドキュメントを参照してください。
NRQL クエリでPREDICT
使用する例:
FROM Transaction SELECT count(*) WHERE error IS TRUE TIMESERIES PREDICT
チャート上のデフォルトの予測は次のように表示されます。

one.newrelic.com > All capabilities > dashboards: デフォルトの予測。
デフォルトの動作
現在、 NRQL predictions季節性時系列と非季節性時系列の両方に対して、指数平滑法とも呼ばれるHolt-Wintersアルゴリズムのみをサポートしています。これは、予測および予言タスクで一般的に使用される標準アルゴリズムです。Holt-Winters モデルの季節の長さを時間ごと、日ごと、週ごとにサポートします。
一般に、NRQL 予測の使用例の大部分ではデフォルトの動作で十分です。
クエリ内のPREDICT
句には、次のデフォルトの動作が付属しています。
- 季節性: 履歴データに季節性が存在するかどうかを自動的に検出します。季節性が検出されると、識別された季節の長さが Holt-Winters 季節アルゴリズムで使用されます。季節性が見つからない場合は、非季節モデルを構築します。
- ハイパーパラメータ: 季節性と履歴データに基づいて、Holt-Winters アルゴリズムのハイパーパラメータを設定します。
- 予測ウィンドウ: クエリ ウィンドウで指定された合計時間範囲の 20% に等しい範囲を予測します。
- トレーニング用の履歴データ: 現在の書き込みウィンドウと 2 つ前のウィンドウからの履歴データを使用して予測を生成します。
- 時間間隔: クエリ ウィンドウ内の時系列のデータ ポイント間隔に合わせて、データ投影の一貫性を確保します。
予測モデルのカスタマイズ
トレーニング モデルのハイパーパラメータを手動で設定し、 USING
およびBY
キーワードを追加することで、予測をカスタマイズできます。NRQL とその構文の詳細については、 NRQL ドキュメントを参照してください。一般的に、ほとんどのユーザーが調整したい唯一のハイパーパラメータは季節性です。アルゴリズムは、既知の季節性 (または既知の非季節性) がユーザーによって指定された場合に最も効果的に機能します。Holt-Winters アルゴリズムの他のハイパーパラメータはアクセスおよび変更可能ですが、デフォルト値はメトリクスの履歴データに基づいて決定されます。
現在、サポートされている予測アルゴリズムはHolt-Wintersのみであり、予測を微調整するために調整できるハイパーパラメータがいくつかあります。ハイパーパラメータは、クエリのPREDICT
句の後にholtwinters(<hyperparameter>: <value>)
を追加することで変更できます。次の懸念の任意の組み合わせを追加して、予測の結果を変更できます。
seasonality
既知の季節の長さ、季節性の自動検出、季節性なし ( <season length>
、 AUTO
、 NONE
) のいずれを使用するかを指定します。
<season length>
時間のinteger unit
である必要があります (つまり、 1 day
または3 hours
)
alpha
レベル平滑化係数( [0, 1.0]
)。値が大きいほど最近の値に重みが増します。
beta
トレンド平滑化係数( [0, 1.0]
)。値が大きいほど最近の値に重みが増します。
gamma
季節平滑化係数( [0, 1.0]
)。値が大きいほど最近の値に重みが増します。
- 非季節性モデルは
gamma
ハイパーパラメータを使用しないため、 seasonality: NONE
オプションと互換性がありません。クエリはエラーを返します。 holtwinters(seasonality: NONE, gamma: <value>)
phi
トレンドの減衰( [0.98, 1.0]
)ここで値が小さいほどトレンドの減衰が大きく、平坦化すると予測されます。
ハイパーパラメータを変更したクエリの例:
FROM Transaction SELECT count(*) WHERE error IS TRUE TIMESERIES PREDICT holtwinters(seasonality: 1 hour, alpha: 0.2, beta: 0.5, gamma: 1.5, phi: 0.99)
BY
キーワードを使用して、モデルでどのくらい先の時間を予測するかを設定します。たとえば、 PREDICT BY 3 hours
時系列の最新の時点から最大 3 時間先の予測を生成します。時間範囲がinteger unit
であることを確認してください。予測できる最大量は 360 個の時間ウィンドウ (つまり、時系列ウィンドウ サイズ × 360) です。
今後 30 分間の予測を生成するBY
キーワードを使用したクエリの例:
FROM Transaction SELECT count(*) WHERE error IS TRUE TIMESERIES PREDICT BY 30 minutes
USING
キーワードを使用して、モデルのトレーニングに使用する履歴データの量を指定します。たとえば、 PREDICT USING 1 day
クエリ ウィンドウと前日のデータを使用してモデルをトレーニングします。時間範囲がinteger unit
であることを確認してください。モデルのトレーニングに使用できるデータの量には制限があり、制限を超える量を指定すると、エラー メッセージが表示されます。 この制限は 3,660 データ ポイントであり、時系列ウィンドウを使用すると、それがどのくらいの時間であるかを把握できます。たとえば、1 分間の時間ウィンドウで時系列をクエリする場合、指定できるトレーニング データ量は最大 3,660 分、つまり 61 時間、つまり約 2.5 日になります。
2 日間の履歴データを使用するUSING
キーワードを使用したクエリの例:
FROM Transaction SELECT count(*) WHERE error IS TRUE TIMESERIES PREDICT USING 2 days
カスタム ハイパーパラメータを指定するPREDICT
句と、 BY
およびUSING
キーワードを追加したクエリの例:
FROM Transaction SELECT count(*) WHERE error IS TRUE TIMESERIES PREDICT holtwinters(seasonality: AUTO, alpha: 0.2) BY 1 hour USING 2 hours
このクエリは季節性を自動検出に設定し、レベル平滑化係数を調整して履歴データを強調します。今後 1 時間を予測し、クエリ ウィンドウの長さと過去 2 時間の履歴データを使用してモデルをトレーニングします。チャートには、カスタマイズされた予測が次のように表示されます。

one.newrelic.com > All capabilities > dashboards: カスタマイズされた予測。