New Relicデータのクエリを行う1つの方法が、New Relic Query Language(NRQL)の使用です。このリソースでは、NRQLとは何か、いつ、どのように使用できるか、および基本的な構文ルールについて説明します。句と関数のリストやクエリの例など、クエリの詳細については、 NRQL の構文、句、関数を参照してください。
当社のopensource.newrelic.comサイト上にNRQLレッスンアプリケーションをご用意しており、お客様独自のデータを使用してNRQLの価値とパワーを素早く確認するのに役立ちます。NRQLレッスンアプリをインストールして使用する方法については、この短いYouTubeビデオをご覧ください(約 2分45秒)。
始める準備はできていますか?まだお持ちでない場合は、New Relicアカウントにサインアップしてください。永久無料です。
NRQLとは
NRQLは、New RelicのSQLに似たクエリ言語です。NRQLを使用して、詳細なNew Relicデータを取得し、アプリケーションやホスト、ビジネスで重要なアクティビティについての洞察を得ることができます。
NRQLを使用する理由としては、次の点があります。
- トラブルシューティングやビジネス分析目的で質問に答える
- 新規チャートを作成する
- (例えば当社のNerdGraph APIを使用して)New RelicデータのAPIクエリを行うには
NRQLは、一部のNew Relicチャートを生成する際に背後で使用するものです:
一部のNew RelicチャートはNRQLで作成されています。NRQLを使い始めるには、チャートのクエリを表示して、独自のカスタムチャートを作成できるよう編集する方法もあります。
どこでNRQLを使用可能ですか?
次の場所でNRQLを使用できます。
- New Relic Oneクエリビルダー
- NerdGraph:当社のGraphQLフォーマットのAPIで、NRQLクエリ作成のオプションを含みます
one.newrelic.com > Query your data:New Relic OneでNRQLクエリを実行できます。このNRQLクエリには、エンティティ名別にファセットしたディストリビューティッド(分散)トレーシングスパンの数が表示されます。
NRQLは、New Relicデータのクエリを行ういくつかの方法のうちの1つです。すべてのクエリオプションについて詳しくはデータのクエリ(Query your data)を参照してください。
どのデータをNRQLでクエリできるか?
NRQLを使用して、これらのNew Relic のデータタイプのクエリを実行できます:
次のものを含む、すべてのNew Relic製品からのイベントデータ:
- Transactionのような
APMイベント
- PageViewなどの
ブラウザ監視イベント
- Mobileなどの
モバイル監視イベント
- ProcessSampleのような
インフラストラクチャイベント
- SyntheticCheckのような
Syntheticsイベント
- イベントAPIによってサポートされるもののようなカスタムイベント
- Transactionのような
メトリックタイムスライスデータ(APM、ブラウザおよびモバイルによりレポートされるメトリクス)
Metric
データタイプ(Metric APIによりレポートされるメトリックおよび、そのAPIを使用するデータソース)Span
データタイプ(ディストリビューティッド(分散)トレーシングデータ)Log
データタイプ(New Relic Logsからのデータ)
ヒント
モニタリング対象エンティティ間の関係など、一部のデータは NRQL を介して利用できませんが、NerdGraph APIを介して利用できます。
NRQLを使い始めるには
NRQLを使い始めて、どのデータを利用できるのか理解するには、NRQLインタフェース(例:New Relic Oneクエリビルダー)からFROM
と入力し、スペースキーを押します。インタフェースが、利用可能なデータタイプを提案します:
どの属性を特定のデータタイプに使用できるかを理解するには、FROM DATA_TYPE SELECT
と入力し、スペースキーを押します。インタフェースで、利用可能な属性が提案されます。例:
すべての属性を含む、データタイプに関連した完全なJSONを表示するには、keyset()
属性を使用します。例:
FROM Transaction SELECT keyset()
NRQLは、一部のNew Relicチャートおよびダッシュボードを作成する際に背後で使用するものです。NRQLを学習するには、こうしたNRQLが作成したチャートを見つけて、新しい、カスタマイズしたクエリとチャートをNRQLで作成し始める方法があります:
NRQLで作成したチャートには、オプションとしてクエリを表示があります。ここからクエリを編集・カスタマイズして、変更内容が視覚的な結果にどのような影響を及ぼすのか確認できます。
重要
NRQLを使用することなくデータを探索するには、データエクスプローラーを使用します。New Relicでのデータのクエリの詳細をご覧ください。
NRQL クエリの例
以下は、APM
が報告する、TransactionデータのNRQLクエリ例になります。
FROM Transaction SELECT average(duration) FACET appName TIMESERIES auto
これによって、次のようなチャートが作成されます:
以下は、クエリの例です:
詳細については、NRQLクエリの例をご覧ください。
NRQL の構文
NRQLクエリの構文は標準的なSQLクエリとほぼ同じです。NRQLクエリの構造の内訳は次のとおりです。
SELECT function(attribute) [AS 'label'][, ...]
FROM data type
[WHERE attribute [comparison] [AND|OR ...]][AS 'label'][, ...]
[FACET attribute | function(attribute)]
[LIMIT number]
[SINCE time]
[UNTIL time]
[WITH TIMEZONE timezone]
[COMPARE WITH time]
[TIMESERIES time]
基本的なルールは以下のとおりです。
NRQLの条件 | 詳細 |
---|---|
必須の値 |
|
クエリ文字列のサイズ | クエリ文字列は4KB未満でなければなりません。 |
大文字と小文字の区別 | |
文字列の構文 | NRQLでは文字列の指定にシングルクォーテーションを使用します。例:
|
スペースの入った属性名 | バックティック
|
データタイプの型強制 | データ型「強制」はサポートしていません。詳しくはデータタイプの変換を参照してください。 |
数学関数の使用 | |
JOIN 関数 | NRQLには SQL JOIN に相当する関数はありませんが、カスタム属性を使用して JOIN をシミュレートできます。 |
NRQLの構文と関数についてさらに詳しくお読みください。