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

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

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

問題を作成する

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

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: クエリの関数が min, max, sum, count, または average である場合に使用します。

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

    • distribution: クエリの機能が percentile または histogram である場合に使用します。

      この例のクエリは、 平均 を使用していますので、使用 要約

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

      この例のクエリでは、 カウント を非数値フィールドで使用しています。

      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 に従って、メトリックに添付する属性を決定します。

    推奨: このカウントが24時間以内に50,000を超えないように、別のクエリを実行してください。例えば、以下のようになります。

    FROM ProcessSample
    SELECT uniqueCount(awsRegion, awsAvailabilityZone, commandName)
    WHERE nr.entityType = 'HOST'
    SINCE 1 DAY 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 © 2023 New Relic Inc.