• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

問題を作成する

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

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'

    重要

    イベント対メトリクスルールは、 NRQL クエリWITH ... AS句をサポートしません。

  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 © 2024 New Relic株式会社。

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