次元メトリクスは、メトリクス データの保存とクエリの業界標準です。 New Relic はすべてのインフラストラクチャ メトリクスをイベント データとして保存しますが、ディメンション メトリクスとしてクエリを実行することもできます。
New Relic では、メトリクス API、テレメトリー SDK、一部のオープンソース統合、およびインフラストラクチャ サービスがすべて使用できる 次元メトリクス を含む、いくつかの方法で メトリクス をレポートします。
このタイプのメトリックでは、以下のことが可能です。
- インフラストラクチャ データのクエリ エクスペリエンスが向上しました。
- すべてのメトリクスを1つの場所で確認できます。
- Prometheusなど、より多くのメトリクス ソースを使用します。
たとえば、次のクエリを使用して、Lambda関数の最大継続時間を取得できます。
Query with samples |
|
Query with metrics |
|
始めましょう
これらのメトリクスを使用するために、エージェントや統合の更新は必要ありません。 クラウドインテグレーションからのデータ ( AWS ポーリング インテグレーション 、 GCP 、 Azure からのメトリクスなど) を除く、次元メトリクスに基づく NRQL アラート をサポートします。New Relic は、Amazon CloudWatch Metric Streams メトリクスを次元メトリクスとして取り込みます。このような場合は、NRQL を使用することをお勧めします。
ディメンション・メトリクスのクエリの場所と方法
New Relic は、現在のNRQL クエリ機能をすべてサポートしています。 クエリにはWHERE
、 FACET
、およびSINCE
、 UNTIL
、 COMPARE WITH
などの時間選択関数を使用できます。
メトリクスとアトリビュートの命名規則
ディメンション メトリクスのすべてのメトリクス名と属性は、見つけやすく使用しやすいように同じ命名規則に従っています。 メトリクスと属性名はドットで名前空間化されます。たとえば、 host.
プレフィックスはホスト メトリクスに使用され、 k8s.
プレフィックスは Kubernetes メトリクスに使用され、 aws.
は AWS メトリクスに使用されます。
次の図は、3つの指標( cpuPercent
、 ioTotalReadBytes
、およびioTotalWriteBytes
)を含むProcessSample
が3つの個別の指標に分割される方法を示しています。メトリックと属性の名前が更新されていることに注意してください。
ディメンショナル・メトリクスの命名規則
ディメンションメトリクスとイベントのクエリの違い
ディメンション メトリクスは、イベント データとは根本的に異なるタイプのデータです。 以下に、ディメンション メトリクスをクエリする際の顕著な違いをいくつか示します。
*
を使用したメトリック クエリは インフラストラクチャ サンプル データを返しません。例えば:SELECT * FROM MetricmetricName LIKE
を使用したメトリクス クエリはインフラストラクチャ サンプル データを返しません。例えば:SELECT uniques(metricName) FROM Metric where metricName like 'k8%'tags.
で始まる属性を選択するには、メトリック名を指定する必要があります。たとえば、これはWHERE
句なしでは機能しません。SELECT uniques(tags.environment) FROM Metric WHERE metricName='aws.lambda.function.duration'選択基準に一致するサンプルが多すぎると、結果が不完全になる可能性があります。 たとえば、次のクエリはすべてのインフラストラクチャ サンプルにマップされ、不完全な結果が返される可能性があります。
SELECT uniqueCount(entity.guid) FROM Metric新しく導入されたメトリクスのワイルドカード機能はサポートされていません。たとえば、次のとおりです。
SELECT average(host.swap%Bytes) FROM Metric複数のメトリクスで使用される関数は、 失敗したり、誤った結果を返したりする場合があります。次に例を示します。
FROM Metric SELECT latest(metricNameA + metricNameB)クエリに
RAW
を含めると、リクエストは内部で変換され、同等の集約されたイベント データが出力されます。RAW データは印刷されません。この動作を確認するには、クエリの例を参照してください。SELECT max(host.cpuPercent) FROM Metric TIMESERIES 1 MINUTE SINCE 60 MINUTES AGO RAWkeyset
とTIMESERIES
の使用はサポートされていないため、使用するとエラーが返されます。 以下の例を参照してください。FROM Metric SELECT keyset() WHERE instrumentation.provider = 'infrastructure' TIMESERIES
データ型の違いの概要については、 「New Relic データ型」を参照してください。
次元クエリの例
ここでは、次元メトリクスを使用した場合と使用しない場合のNQRLクエリの例を紹介します。