Metric API を介して New Relic にメトリクスが報告された場合 (この API を使用するインテグレーションからの報告も含む)、そのデータは Metric
データタイプ として報告され、問い合わせが可能になります。
このドキュメントには
APMメトリクスのタイムスライスデータの照会
APMでは、メトリックタイムスライスデータと呼ばれる特定のタイプのデータを報告しています。このデータを照会する方法については、 Query metric timeslice data を参照してください。
他のタイプのメトリクスについては、 Metric data types を参照してください。
メトリクスの表示と照会
NRQL を使用して、 New Relic One クエリビルダー または、 NerdGraph API を使用して、メトリックデータを照会することができます。
メトリクスを照会するには、以下の照会フォーマットを使用します。
FROM Metric SELECT function(metric_name) WHERE attribute=value FACET attribute TIMESERIES
以下は、 メトリックタイプごとにサポートされている機能です。 。
メトリックタイプ | 対応機能 |
---|---|
| count、sum、min、max、average |
| sum |
| count, sum, min, max, average, and latest |
SELECT
節に、グラフ化したいメトリクスの名前を適切な値の関数とともに追加します。 WHERE
および FACET
節は、属性値で使用できます。データをグラフ化したい場合は、キーワード TIMESERIES
を忘れずに入れてください。
この例では、クラスタ foo
の CPU 使用率を秒単位でグラフ化する方法を示しています。このクエリは、 count
metric named container_cpu_usage_seconds_total
に、 containerName
と clusterName
という属性を与えて、コンテナごとの CPU 使用率を分析します。
FROM Metric select sum(container_cpu_usage_seconds_total) WHERE clusterName = 'foo' FACET containerName TIMESERIES
1分ごとのCPU使用率(変化率)を知りたい場合は、上記のクエリにrate関数を追加します。
FROM Metric select rate(sum(container_cpu_usage_seconds_total), 1 minute) WHERE clusterName = 'foo' FACET containerName TIMESERIES
メトリクスクエリの例を見る
前述の例では、メトリック・クエリの基本的な形式を示しましたが、NRQLはメトリック・データのチャート化、探索、分析にも使用できます。
ワイルドカードを使って複数のメトリクスを検索
ワイルドカードは、NRQL では %
という文字で表されます。標準的な命名規則を使用している複数のメトリックを照会したい場合、ワイルドカード機能を使用すれば、各メトリック名を個別に指定することなく、すべてのメトリックの結果を返すことができます。
ワイルドカードがあなたをサポートします。
- 指標を集約し、結果をグラフ化する
FACET
メトリック名での検索結果をチャートで表示します。- 指定された命名規則に合致するすべてのメトリクスを検索し、チャート化する。
ワイルドカードは、既存の命名規則に一致する新しいメトリクスを後から追加する場合に特に役立ちます。 %
を使用して、クエリ内の各メトリック名を書き出す代わりに、新しいメトリックを追加するときにクエリを書き直す必要はありません。
同様のタスクを実行する複数のアルゴリズムがあるとします。次のようなメトリクスを定義して、異なるアルゴリズムの持続時間を表示することができます。
myNeatProcess.algorithm1.duration
myNeatProcess.algorithm2.duration
myNeatProcess.algorithm3.duration
クエリで myNeatProcess.%.duration
を使用すると、上記の3つのアルゴリズムすべての結果が返されます。その後、 algorithm4
, algorithm5
, algorithm6
という名前の新しいアルゴリズムを作成すると、同じクエリで6つのアルゴリズムすべての結果が返されます。
getField()を使って個々のフィールドの結果を返す。
メトリクスには複数のフィールドが関連付けられており、各フィールドには固有の値が含まれています。クエリを使ってこれらの値の1つを抽出したい場合は、 getField()
で行うことができます。
たとえば、 WHERE
節で比較を行うためにメトリック内の単一の値を使用したい場合、 getField(metricName, field)
または metricName[field]
を使用することができます。
メトリクスデータを見る
NRQL keyset
and uniques
関数は、 metricName
属性(すべてのメトリックで利用可能)と一緒に使用することで、アカウント内の利用可能なメトリックをすべてリストアップしたり、特定のメトリックで利用可能な属性を発見したりするタスクを実行できます。