• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

他のデータタイプからメトリクスを作成

New Relic の メトリクス API サービス を使用して、イベント、ログ、スパンなどの他のタイプのデータから メトリクス を作成するためのルールを定義します。 推奨: 開始する前に、 の要件とルール作成のヒント を確認してください。

メトリクス・ルールの作成

イベント、ログ、またはスパンからメトリクスを作成するルールを作成するには、以下の手順に従います。

  1. NRQLを使ってメトリクス・ルールを構築する.
  2. NRQLルールを含むNerdGraph(GraphQLフォーマット)のAPIリクエスト を構築します。
  3. APIリクエストを行ってメトリックを作成する.

メトリクスが作成されると、NRQL を使用して クエリやチャートを作成することができます。

ステップ 1.NRQLクエリアルールの作成 [#create-nrql]

メトリクス・ルールの作成 で最も重要なのは、イベント、ログ、またはスパンからのデータのメトリクスを定義する NRQL クエリを構築することです。以下の手順で、1 つの NRQL クエリ で最大 10 個のメトリックを作成できます。

  1. New Relic の NRQL インターフェイスを使用して 、作成したいメトリックのクエリを構築します。例えば、以下のようになります。

    FROM ProcessSample SELECT average(ioTotalReadBytes)
    WHERE nr.entityType = 'HOST'
  2. 使用可能な3つのメトリックタイプのうちの1つを使用するようにクエリを編集します。

    • summary: クエリの関数がminmaxsumcount 、またはaverageの場合に使用します。

    • uniqueCount: クエリの関数がuniqueCountの場合に使用します。

    • distribution: クエリの関数がpercentileまたはhistogramの場合に使用します。

      この例のクエリではaverageを使用しているため、 summaryを使用します。

      FROM ProcessSample SELECT summary(ioTotalReadBytes) 
      WHERE nr.entityType = 'HOST'

      このクエリの例では、非数値フィールドでcountを使用しています:

      FROM ProcessSample SELECT count(hostname)
      WHERE hostname LIKE '%prod%'

      非数値フィールドのsummaryにはsummary(1)を使用します。

      FROM ProcessSample SELECT summary(1) 
      WHERE hostname LIKE '%prod%'

      ヒント

      これらのメトリックタイプをルールで使用するための詳細な情報は、 Creating metric rules: requirements and tips を参照してください。

  3. Limited on unique metric-name/attribute-value combinations に従って、メトリックに添付する属性を決定します。

    推奨事項:別のクエリを実行して、最大カーディナリティが 30 秒間のウィンドウで 50,000 を超えないようにしてください。たとえば、次のクエリは、 awsRegionawsAvailabilityZone 、およびcommandName属性を含む場合、 ProcessSampleイベントの過去 3 時間の 30 秒間に発生した最大カーディナリティを検索します。

    FROM (FROM ProcessSample
    SELECT rate(uniqueCount(awsRegion, awsAvailabilityZone, commandName), 30 seconds) AS 'cardinalityRate'
    WHERE nr.entityType = 'HOST' TIMESERIES 30 seconds) SELECT max(cardinalityRate) AS 'maxCardinalityRate' SINCE 3 hours AGO
  4. メトリックを集計およびフィルタリングできるようにするには、 FACET句を使用して、メトリックに関連付ける属性を追加します。例えば:

    FROM ProcessSample
    SELECT summary(ioTotalReadBytes) WHERE nr.entityType = 'HOST' 
    FACET awsRegion, awsAvailabilityZone, commandName
  5. AS関数を使用して指標の名前を設定します。例えば:

    FROM ProcessSample SELECT summary(ioTotalReadBytes) AS 'io.totalread.bytes'
    WHERE nr.entityType = 'HOST' FACET awsRegion, awsAvailabilityZone, commandName

NRQL ルールが完成したら、それを使って API リクエストを作成します

ステップ2.APIリクエストの作成

イベント、ログ、またはスパンからのデータをメトリクスに変換するNRQLルールを構築した後、APIリクエストの構築を続けます。 NerdGraph APIツール を使用して、データ構造を調べたり、リクエストを作成したりすることができます。

ルールが正しく作成されたことを確認するには、 クエリを実行して、そのIDを使ってそのルールを返すことができます 。作成したメトリクスのクエリに関するヒントは、 Query and chart your metrics を参照してください。

Step 3.APIリクエストによるメトリクス・ルールの作成

APIリクエストの準備ができたら、 NerdGraph API を使ってリクエストを行うと、メトリクスが作成されます。

指標の照会とグラフ化

メトリクス ルールを作成してイベント、ログ、またはスパンのデータを変換すると、New Relic UI で新しいメトリクス データを表示することができます。データを表示するには

  1. New Relic の NRQL クエリインターフェイス に移動します。

  2. 次のクエリを実行すると、すべてのメトリクスの名前が表示されます。

    SELECT uniques(metricName) FROM Metric
  3. 興味のあるメトリックを選び、次のクエリを実行して利用可能な属性を確認します。

    SELECT * FROM Metric where metricName = 'yourMetric'
  4. 期待通りのデータが表示されない場合は、 トラブルシューティング の手順に従ってください。

利用可能な NRQL アグリゲータ関数 は、作成した メトリックタイプ によって異なります。以下に例を示します。

トラブルシューティング

NerdGraphの呼び出しが正しく構築されていない場合、以下のようなメッセージが表示されることがあります。

Cannot parse the unexpected character "\u201C”

NerdGraphコール内の引用符がスマートクォート(カーリークォート)でないことを確認してください。NerdGraph APIはストレートな引用符しか受け付けません。

Copyright © 2022 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.