New Relic のメトリクス API サービスを使用して、イベント、ログ、スパンなどの他の種類のデータからメトリクスを作成するためのルールを定義します。 推奨事項: 開始する前に、 ルール作成の要件とヒントを確認してください。
メトリクス・ルールの作成
イベント、ログ、またはスパンからメトリクスを作成するルールを作成するには、以下の手順に従います。
メトリクスが作成されると、NRQL を使用して クエリやチャートを作成することができます。
ステップ 1.NRQLクエリアルールの作成 [#create-nrql]
メトリクス ルールを作成する上で最も重要な部分は、イベント、ログ、またはスパンからデータのメトリクスを定義するNRQLクエリを構築することです。 次の手順に従って、1 つのNRQLクエリで最大 10 個のメトリックを作成できます。
New Relic の NRQL インターフェイスを使用して 、作成したいメトリックのクエリを構築します。例えば、以下のようになります。
FROM ProcessSample SELECT average(ioTotalReadBytes)WHERE nr.entityType = 'HOST'重要
イベント対メトリクスルールは、 NRQL クエリの
WITH ... AS
句をサポートしません。使用可能な3つのメトリックタイプのうちの1つを使用するようにクエリを編集します。
summary
: クエリの関数がmin
、max
、sum
、count
、または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 を参照してください。
Limited on unique metric-name/attribute-value combinations に従って、メトリックに添付する属性を決定します。
推奨事項: 別のクエリを実行して、30 秒間の最大カーディナリティが 50,000 を超えないようにします。 たとえば、次のクエリは、
awsRegion
、awsAvailabilityZone
、およびcommandName
属性を含めた場合、ProcessSample
イベントの過去 3 時間の 30 秒間に発生した最大カーディナリティを検索します。FROM (FROM ProcessSampleSELECT 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メトリックを集計およびフィルタリングできるようにするには、
FACET
句を使用して、メトリックに関連付ける属性を追加します。例えば:FROM ProcessSampleSELECT summary(ioTotalReadBytes) WHERE nr.entityType = 'HOST'FACET awsRegion, awsAvailabilityZone, commandNameAS
関数を使用して指標の名前を設定します。例えば: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 で新しいメトリクス データを表示することができます。データを表示するには
New Relic の NRQL クエリインターフェイス に移動します。
次のクエリを実行すると、すべてのメトリクスの名前が表示されます。
SELECT uniques(metricName) FROM Metric興味のあるメトリックを選び、次のクエリを実行して利用可能な属性を確認します。
SELECT * FROM Metric WHERE metricName = 'yourMetric'期待通りのデータが表示されない場合は、 トラブルシューティング の手順に従ってください。
利用可能な NRQL アグリゲータ関数 は、作成した メトリックタイプ によって異なります。以下に例を示します。
トラブルシューティング
NerdGraphの呼び出しが正しく構築されていない場合、以下のようなメッセージが表示されることがあります。
Cannot parse the unexpected character "\u201C”
NerdGraphコール内の引用符がスマートクォート(カーリークォート)でないことを確認してください。NerdGraph APIはストレートな引用符しか受け付けません。