• /
  • ログイン
  • 無料アカウント

NRQLアラート条件を作成する

NRQLクエリを使用してアラート条件を作成できます。信号を定義した後、警告と危険閾値のレベルさらに定義できます。これでアラート違反を作成するタイミングが決定されます。

この操作の詳細については、以下をお読みください。

NRQL条件および生成された結果の例のスクリーンショット。

one.newrelic.com に移動し、Alerts & AIをクリックし、左側のサイドバーでPoliciesをクリックしてポリシーを選択し、Add a conditionを選択します。NRQLNext, define thresholdsの順にクリックします。

ヒント

NRQLアラート条件とストリーミングアラートに関連する主要な概念の詳細については、「ストリーミングアラート:主要な用語と概念」を参照してください。

NRQLアラート条件を作成する

ポリシーについてNRQLアラート条件を作成するには:

  • one.newrelic.com で、ヘッダーにあるAlerts & AI(アラート & AI)をクリックし、左側のサイドバーでPolicies(ポリシー)をクリックします。
  • 既存のポリシーを選択するか、New alert policy(新規アラートポリシー)をクリックして新しいポリシーを作成します。
  • Add a conditionをクリックします。
  • 条件を作成するときは、[Select a product(製品の選択)]の下でNRQLをクリックしてから、[Next, define thresholds(次に、閾値を定義)]をクリックします。

NRQLアラートの構文

すべてのNRQLアラート条件を作成するための基本的な構文は、以下のとおりです。FACETは、外れ値の閾値タイプに必須であり、静的オプションであるため、ベースラインには許可されていません。

SELECT function(attribute)
FROM Event
WHERE attribute [comparison] [AND|OR ...]

メモ

SELECT function(attribute)

必須

サポートされている数字を返す関数には、以下が含まれます。

  • apdex

  • average

  • count

  • latest

  • max

  • min

  • percentage

  • percentile

  • sum

  • uniqueCount

    ヒント

    多くのファセットを含むファセットアラート条件にpercentile集計を使用すると、以下のエラーメッセージが表示される可能性があります。

    An error occurred while fetching chart data.

    このエラーが表示された場合は、代わりにaverageを使用してください。

FROM data type

必須

ひとつのデータタイプのみをターゲットにすることが可能です。

サポートされるデータタイプ:

  • Event
  • Metric(RAWデータポイントが返されます)

WHERE attribute [comparison] [AND|OR ...]

1つ以上の一連の条件を指定するには、WHERE句を使用します。すべての演算子がサポートされます。

FACET attribute

外れ値条件には必要ですが、ベースラインまたは静的ではありません

オプションのFACET句をNRQL構文に含めるかどうかは、閾値タイプによって決まります。静的、ベースライン、または外れ値。

属性ごとに結果を区切り、各属性に個別のアラートを設定するには、FACET句を使います。LIMIT句は許可されていませんが、すべてのクエリは可能な限り最大数のファセットを受け取ります。ファセットクエリは、静的コンディションには最大5000の値を、 外れ値コンディションには最大500の値を返せます。

重要

クエリが最大数を上回る値を返した場合、アラート条件は作成できません。条件を作成した後、クエリがこの個数以上の値を返した場合、アラートは失敗します。返される値の数が少なくなるようにクエリを変更します。

NRQLアラート閾値の例

以下に示すのは、NRQLアラート条件の一般的なユースケースです。これらのクエリは、静的およびベースラインの閾値タイプで正常に動作します。外れ値の閾値タイプには、FACET句が追加で必要になります

ネスト構造の集計NRQLアラート

ネスト構造の集計クエリは、データに対してクエリを実行する強力な方法です。ただし、注意すべき重要な制限がいくつかあります。

NRQL条件作成のヒント

ここに、NRQL条件の作成と使用のヒントをいくつか示します。

トピック

ヒント

条件閾値のタイプ

NRQLの条件閾値タイプには 静的、ベースライン、外れ値が含まれます。

説明を作成する

NRQL条件の場合、各違反に追加されるカスタムの説明を作成できます。これらの説明は、特定の違反に関連付けられたメタデータに基づく変数置換を強化します。

詳細については、説明をご覧ください。

クエリの結果

クエリは数値を返す必要があります。条件は、返された数値とお客様が設定した閾値を比較することで評価されます。

期間

すべてのアラート条件同様、NRQL条件は1回に1分の評価を行います。どの1分を評価するかを指定する暗黙的なSINCE ... UNTIL句は、評価オフセット設定により制御されています。直近のデータは不完全なことがあるため、特に次のような場合について、3分以上前のデータのクエリを行う場合があります。

  • 複数のホスト上で動作するアプリケーション。

  • SyntheticCheckデータ:タイムアウトは3分かかる場合があるため、5分以上前のデータをクエリするとよいでしょう。

    さらに、クエリによって生成されるデータが断続的な場合、sum of query resultsオプションの利用を検討してください。

信号喪失の閾値
(信号喪失検出)

信号損失検出を使用すると、データ(テレメトリ信号)が失われたと見なされる時点でアラートを出力できます。サービスまたはエンティティがオンラインではなくなったか、定期的なジョブの実行に失敗した可能性を示しています。エラーカウントなどの散発的なデータ違反が、信号を受信していないときに確実に終了するためにも使用できます。

ヒント

信号の喪失とアクセスを要求する方法の詳細については、この発表を参照してください。

高度な信号設定

この設定で、場合によってはない継続的なストリーミングデータシグナルの取り扱いを改善するオプションを使用できます。この設定には、集計ウィンドウと評価オフセット、データギャップを埋めるオプションが含まれます。これらの使用の詳細については、高度なシグナル設定をご覧ください。

条件設定

条件設定を使用することで:

条件の制限

最大値を参照します。

稼働ステータス

NRQLアラート条件は、エンティティの稼働ステータス表示には影響を与えません。

詳細については、以下をご覧ください。

アラートの閾値タイプ

NRQLアラートを作成する際、異なる閾値タイプを選択することができます。

NRQLアラートの閾値タイプ

説明

静的

これは、最もシンプルなNRQL閾値のタイプです。数値を返すNRQLクエリに基づいた条件を作成できます。

オプション:FACET句を含める。

ベースライン
(動的)

監視対象値の過去の動作に基づいた自己調整型の条件を使用します。FACET句を使用できない点を除いて、静的タイプと同じNRQLクエリ形式を使用します。

外れ値

グループの外れ値になるそのグループの動作と値を検索します。静的タイプと同じNRQLクエリ形式を使用しますが、FACET句が必要です。

クエリ結果の合計(制限または間欠データ)

重要

静的(基本)閾値タイプのみで使用できます。

クエリが間欠的、または限定的なデータを返す場合、有意義な閾値の設定が困難になる可能性があります。欠落したデータや限定的なデータがあると、誤検出または検出漏れを生じることがあります。これらの誤った通知を最小限に抑えるため、信号喪失、集計期間、およびギャップ充填設定を使用できます。

この問題を回避するために、静的閾値タイプを使用する際は、セレクタをクエリ結果の合計値に設定できます。こうすることで、単一の収集サイクルからの値の代わりに、集計された合計数に対してアラートを設定できるようになります。1分間のデータ確認は、最長で2時間まで集計できます。移動合計の幅は選択する期間で決まり、それに従ってプレビューチャートが更新されます。

信号喪失の閾値を設定

信号損失は、特定の期間にわたってNRQL条件に一致するデータがない場合に発生します。信号喪失の閾値期間と、閾値を超えたときに何が起こるかを設定できます。

signal-loss-ui.png

one.newrelic.com に移動し、Alerts & AIをクリックし、左側のサイドバーでPoliciesをクリックしてポリシーを選択し、Add a conditionを選択します。信号喪失は、NRQL 条件でのみ使用できます。

これらの設定は、GraphQL API(推奨)またはREST APIを使用して管理することもできます。特定のGraph QL APIの例については、こちらをご覧ください。

信号喪失の設定:

信号喪失の設定には、継続時間と2つの可能なアクションが含まれます。

  • 信号損失の有効期限
    • UI ラベル:次の期間が経過すると信号が喪失する:
    • GraphQL ノード:expiration.expirationDuration
    • 有効期限は、ストリーミング アラート パイプラインでデータポイントを受信すると開始およびリセットされるタイマーです。「有効期限」が切れる前に別のデータポイントを受信しないと、その信号は喪失したと見なされます。これは、New Relicにデータが送信されていないか、アラートパイプラインにストリーミングされる前にNRQLクエリのWHERE句によってデータが除外されている可能性があります。
    • 閾値の有効期限に関係なく、タイマーが期限切れになるとすぐに信号喪失がトリガーされます。
    • 最長の有効期限は48時間です。これは、頻度の低いジョブの実行をモニタリングするときに役立ちます。最小は30秒ですが、少なくとも3〜5分に設定することをお勧めします。
  • 信号喪失アクション
    信号が喪失したと見なされると、未解決の違反を閉じるか、新しい違反を開くか、またはその両方を行うことができます。
    • 現在、未解決の違反をすべて終了します。これにより、特定の信号に関連する未解決の違反がすべて終了します。必ずしも、条件のすべての違反が終了するとは限りません。一時的なサービスまたは散発的な信号で警告している場合は、違反が適切に終了するように、このアクションを選択することをお勧めします。この場合、GraphQLノード名は "closeViolationsOnExpiration " です。
    • 未解決の新しい違反:これにより、信号が喪失した見なされると、新しい違反が発生します。これらの違反は、信号の損失が原因であることを示します。インシデントプリファレンスに基づいて、通知がトリガーされます。この場合、graphQLノード名は、"openViolationOnExpiration" です。
    • 両方のアクションを有効にすると、最初に未解決の違反がすべて終了します。次に、信号が喪失すると、新しい違反が発生します。

UIで信号喪失検出を使用して設定されたNRQLアラートを作成するには:

  1. ポリシーについて条件を作成するときは、Select a productの下でNRQLをクリックしてから、Next, define thresholdsをクリックします。
  2. アラートする値を返すNRQLクエリを作成します。
  3. 閾値タイプには、静的またはベースラインを選択します。
  4. [+失われた信号の閾値を追加]をクリックし、[信号が失われた後]フィールドで信号の有効期限を分または秒で設定します。
  5. 信号が失われたときに実行する操作を選択してください。[現在未解決の違反をすべて閉じる][新しい信号喪失の違反を開く]の一方または両方を確認できます。これらのアクションによって、該当する状態に対して信号損失違反がどのように処理されるかを制御されます。
  6. 必ず、条件に名前を付けてから保存します。

ヒント

信号喪失検出は、ネスト型の集計またはサブクエリを使用するNRQLクエリでは機能しません。

高度な信号設定

screenshot_advanced_signal_settings.png

NRQLアラート条件を作成すると、高度なシグナル設定により、ストリーミングアラートデータの管理が改善し、誤検出を防止できます。

NRQL条件を作成する際の高度なシグナル設定は次のとおりです:

  • 集計ウィンドウ
  • 評価オフセット
  • データのギャップを埋める

この設定の内容と、相互の関係の説明を読むには、ストリーミングアラートのコンセプトをご覧ください。設定方法の説明とヒントは次のとおりです。

集計ウィンドウ

データが集計される前に、ストリーミング時間枠に蓄積されるデータの長さを選択する集計ウィンドウを設定できます。1秒から15分の間で設定できます。デフォルトは1分です。

ヒント

ベースラインアラート条件閾値は、集計ウィンドウの編集をサポートしていません。デフォルトでは1分が使用されます。

評価オフセット

評価オフセットを調整して、データのレイテンシに合わせてストリーミングアルゴリズムを調整できます。データが到着するまでに時間がかかる場合は、評価オフセットを増やす必要があります。

サポートされているレイテンシの合計は、集計ウィンドウ期間と評価オフセットの積になります。上のスクリーンショットの例では、サポートされているレイテンシは3分です(1分の集計ウィンドウが3つ)。

データタイプがAPMの言語エージェントから供給されており、多数のアプリケーションインスタンス(例:TransactionsTransactionErrorsなど)から集計されている場合は、1分間の集計ウィンドウで3分の評価オフセットを使用することをお勧めします。

重要

AWS CloudwatchやAzureなどのInfrastructure クラウドインテグレーションから収集されたデータのNRQL条件を作成する場合、15分の評価オフセットから始めて、データの収集にかかる時間に応じて上下に調整することをお勧めします。

データのギャップを埋める

ギャップの充填を使用すると、信号にデータがない場合に使用する値をカスタマイズできます。次の設定の1つを使用して、データストリームのギャップを埋めることができます:

  • None(なし):(デフォルト)空の集計ウィンドウでアクションを実行したくない場合は、これを選択します。評価時に、空の集計ウィンドウは閾値期間タイマーをリセットします。たとえば、すべての集計ウィンドウに5分間の閾値を超えるデータポイントが必要であり、5つの集計ウィンドウの1つが空であるという条件が設定されている場合、条件に違反することはありません。
  • カスタム静的値:評価する前に空の集計ウィンドウにカスタム静的値を挿入する場合は、これを選択します。このオプションには、(APIで指定されたとおり)使用する静的値を指定する追加の必須fillValueパラメーターがあります。この値はデフォルトで0になります。
  • Last known value(最後に既知の値):このオプションは、評価が行われる前に最後に表示された値を挿入します。最後に表示された値の状態は2時間維持されます。

データギャップ設定を編集するオプション:

  • NRQL条件UIで、条件設定 > 高度なシグナル設定 > データギャップを埋めるの順に移動し、オプションを選択します。
  • Nerdgraph API(推奨)を使用している場合、このノードは次の場所にあります:actor : account : alerts : nrqlCondition : signal : fillOption | fillValue
  • NerdGraphは推奨APIですが、REST APIを使用している場合、この設定はアラートNRQL条件API"シグナル"セクションの下にあるREST APIエクスプローラーにあります。

その他のヘルプ

さらに支援が必要な場合は、これらのサポートと学習リソースを確認してください:

問題を作成するこのページを編集する
Copyright © 2020 New Relic Inc.