ヒント
この手順は、クイックスタートを構築する方法を教えるコースの一部です。 まだご覧になっていない方は、コース紹介をご覧ください。
この手順はラボの最後の手順に基づいて構築されるため、この手順を続行する前に、アラートを作成し、 クイックスタートのディレクトリ構造を理解しておく必要があります。
前の手順では、FlashDB に問題がある場合通知するアラートを作成しました。 次に、これをクイックスタートに追加して、ユーザーも使用できるようにします。
まだ行っていない場合は、 New Relic クイックスタートリポジトリをフォークし、ローカル マシンにクローンします。
任意の IDE でプロジェクトを開き、 \_template
ディレクトリに移動します。
ここで、 alert-policies/example-alert-policy
ディレクトリとその内容をルート レベルのalert-policies
ディレクトリにコピーします。 ディレクトリの名前をflashdb
に変更します。
このディレクトリには、対応するアラートを New Relic I/O に提供するための静的アラートとベースライン アラートのサンプル YAML ファイルが含まれています。 yaml ファイルへの入力を容易にするために、New Relic のNerdGraph API エクスプローラーを使用して、各アラート条件の JSON 表現を取得できます。
ヒント
NerdGraph は New Relic の GraphQL API です。
NerdGraphで集計設定を入力する
NerdGraph を使用すると、既存のアラートを照会し、クイックスタートでそれらを構成することができます。 NerdGraph を使用して集計設定を入力するには、まずその識別子を検索する必要があります。
アラートポリシーの下で、条件をクリックして ID を取得します。
この識別子を使用すると、アラート条件を照会し、その応答を使用してクイックスタートで集計リソースを構築できるようになります。
NerdGraph のクエリアラート条件
NerdGraph エクスプローラーを開き、ドロップダウン メニューからキーを選択します。
エクスプローラーでクエリを作成するのは簡単です。 適切なボックスをチェックして GraphQL クエリを作成するか、次の GraphQL クエリをコピーしてエクスプローラーの中央のペインに貼り付け、静的アラート条件をクエリします。
{ actor { account(id: REPLACE_ACCOUNT_ID) { alerts { nrqlCondition(id: REPLACE_CONDITION_ID) { ... on AlertsNrqlStaticCondition { id name nrql { query } } terms { operator priority threshold thresholdDuration thresholdOccurrences } } } } }}
ここでは、条件の ID、名前、クエリなどをAlertsNrqlStaticCondition
に対してクエリします。 これらは、クイックスタートで同じ集計を作成するために必要な必須フィールドです。
重要
上記のクエリでは、アカウント ID と条件 ID を必ず置き換えてください。
クエリを実行して、指定された条件の JSON 表現を取得します。
次に、この応答を使用して、クイックスタートに静的集計を追加します。
ヒント
エクスプローラーにクエリを貼り付けると、左側のペインのチェックボックスがオンになることに注意してください。 このクエリは、クイックスタートに集計を追加するために必要なフィールドを返します。 カスタム フィールドを設定している場合、またはさらに詳しい情報をクエリしたい場合は、エクスプローラーの中央のペインでクエリを編集するか、左側のペインで対応するボックスをオンにしてください。
alert-policies/flashdb
ディレクトリから、 static-alert.yml
ファイルの名前をSlowReadResponse.yml
に変更し、上記のクエリから返されたデータを入力します。
# Name of the alertname: slow read response
# Description and detailsdetails: |+ This alert is triggered when read operation takes longer than 0.8.
# Type of alerttype: STATIC
# NRQL querynrql: query: "SELECT average(fdb_read_responses) FROM Metric"
# Function used to aggregate the NRQL query value(s) for comparison to the terms.threshold (Default: SINGLE_VALUE)valueFunction: SINGLE_VALUE
# List of Critical and Warning thresholds for the conditionterms:- priority: CRITICAL # Operator used to compare against the threshold. operator: ABOVE # Value that triggers a violation threshold: 0.9 # Time in seconds; 120 - 3600 thresholdDuration: 300 # How many data points must be in violation for the duration thresholdOccurrences: ALL
# Adding a Warning threshold is optional- priority: WARNING operator: ABOVE threshold: 0.8 thresholdDuration: 300 thresholdOccurrences: ALL
# Duration after which a violation automatically closes# Time in seconds; 300 - 2592000 (Default: 86400 [1 day])violationTimeLimitSeconds: 259200
ここでは、クイックスタートに静的アラート条件を追加しました。
ベースライン条件をクエリするには、次の GraphQL クエリをコピーし、エクスプローラーの中央のペインに貼り付けます。
{ actor { account(id: 3014901) { alerts { nrqlCondition(id: 28068735) { ... on AlertsNrqlBaselineCondition { id name nrql { query } baselineDirection terms { priority threshold thresholdDuration thresholdOccurrences operator } violationTimeLimitSeconds } } } } }}
ここでは、条件の名前、クエリ、 baselineDirection
、および条件をクイックスタートに追加するために必要なその他のフィールドについて、 AlertsNrqlBaselineCondition
をクエリします。
重要
上記のクエリでは、アカウント ID と条件 ID を必ず置き換えてください。
クエリを実行して、集計の設定データを取得します。 次に、この応答を使用して、クイックスタートにベースライン集計を追加します。
ヒント
エクスプローラーにクエリを貼り付けると、左側のペインのチェックボックスがオンになることに注意してください。 このクエリは、クイックスタートに集計を追加するために必要なフィールドを返します。 カスタム フィールドを設定している場合、またはさらに詳しい情報をクエリしたい場合は、エクスプローラーの中央のペインでクエリを編集するか、左側のペインで対応するボックスをオンにしてください。
alert-policies/flashdb
ディレクトリから、 baseline-alert.yml
ファイルの名前をLowCacheHitRatio.yml
に変更し、上記のクエリから返されたデータを入力します。
# Name of the alertname: low cache hit ratio
# Description and detailsdetails: |+ This alert is triggered whenever the cache hit ratio deviates 2 standard deviations from the normal.
# Type of alerttype: BASELINE
# NRQL querynrql: # Baseline alerts can use an optional FACET query: "SELECT sum(fdb_cache_hits)/sum(fdb_read_responses) FROM Metric"
# Direction in which baseline is set (Default: LOWER_ONLY)baselineDirection: LOWER_ONLY
# List of Critical and Warning thresholds for the conditionterms:- priority: CRITICAL # Operator used to compare against the threshold. operator: ABOVE # Value that triggers a violation threshold: 3 # Time in seconds; 120 - 3600, must be a multiple of 60 for Baseline conditions thresholdDuration: 300 # How many data points must be in violation for the duration thresholdOccurrences: ALL
# Adding a Warning threshold is optional- priority: WARNING operator: ABOVE threshold: 2 thresholdDuration: 300 thresholdOccurrences: ALL
# Duration after which a violation automatically closes# Time in seconds; 300 - 2592000 (Default: 86400 [1 day])violationTimeLimitSeconds: 259200
ここで、クイックスタートにベースライン条件を追加しました。
ヒント
この手順は、クイックスタートを構築する方法を教えるコースの一部です。 次のレッスン「 データ ソースの追加」に進みます。