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

NRQL(New Relicクエリ言語)入門

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 クエリ

一部のNew RelicチャートはNRQLで作成されています。NRQLを使い始めるには、チャートのクエリを表示して、独自のカスタムチャートを作成できるよう編集する方法もあります。

どこでNRQLを使用可能ですか?

次の場所でNRQLを使用できます。

nrql_example.png

one.newrelic.com > Query your dataNew Relic OneでNRQLクエリを実行できます。このNRQLクエリには、エンティティ名別にファセットしたディストリビューティッド(分散)トレーシングスパンの数が表示されます。

NRQLは、New Relicデータのクエリを行ういくつかの方法のうちの1つです。すべてのクエリオプションについて詳しくはデータのクエリ(Query your data)を参照してください。

どのデータをNRQLでクエリできるか?

NRQLを使用して、これらのNew Relic のデータタイプのクエリを実行できます:

ヒント

モニタリング対象エンティティ間の関係など、一部のデータは NRQL を介して利用できませんが、NerdGraph APIを介して利用できます。

NRQLを使い始めるには

NRQLを使い始めて、どのデータを利用できるのか理解するには、NRQLインタフェース(例:New Relic Oneクエリビルダー)からFROMと入力し、スペースキーを押します。インタフェースが、利用可能なデータタイプを提案します:

nrql_query01.png

どの属性を特定のデータタイプに使用できるかを理解するには、FROM DATA_TYPE SELECTと入力し、スペースキーを押します。インタフェースで、利用可能な属性が提案されます。例:

nrql_query02.png

すべての属性を含む、データタイプに関連した完全なJSONを表示するには、keyset()属性を使用します。例:

FROM Transaction SELECT keyset()

NRQLは、一部のNew Relicチャートおよびダッシュボードを作成する際に背後で使用するものです。NRQLを学習するには、こうしたNRQLが作成したチャートを見つけて、新しい、カスタマイズしたクエリとチャートをNRQLで作成し始める方法があります:

New Relic チャートを表示 NRQL クエリ

NRQLで作成したチャートには、オプションとしてクエリを表示があります。ここからクエリを編集・カスタマイズして、変更内容が視覚的な結果にどのような影響を及ぼすのか確認できます。

重要

NRQLを使用することなくデータを探索するには、データエクスプローラーを使用します。New Relicでのデータのクエリの詳細をご覧ください。

NRQL クエリの例

以下は、APMが報告する、TransactionデータのNRQLクエリ例になります。

FROM Transaction SELECT average(duration)
FACET appName TIMESERIES auto

これによって、次のようなチャートが作成されます:

nrql_example.png

以下は、クエリの例です:

詳細については、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の条件

詳細

必須の値

SELECT文とFROM句は必須です。その他のすべての句はオプションです。クエリはSELECTまたはFROMから開始することができます。

クエリ文字列のサイズ

クエリ文字列は4KB未満でなければなりません。

大文字と小文字の区別

  • データタイプ名と属性名は区別されます。
  • NRQL句関数では、大文字と小文字は区別されません。

文字列の構文

NRQLでは文字列の指定にシングルクォーテーションを使用します。例:

... where traceId = '030a573f0df02c57'

スペースの入った属性名

バックティック``を使用して、スペースが入っているカスタム属性名を引用します。例:

... FACET `Logged-in user`

データタイプの型強制

データ型「強制」はサポートしていません。詳しくはデータタイプの変換を参照してください。

数学関数の使用

基本的で高度な関数は、SELECT文でサポートされています。

JOIN 関数

NRQLには SQL JOIN に相当する関数はありませんが、カスタム属性を使用して JOIN をシミュレートできます。

NRQLの構文と関数についてさらに詳しくお読みください。

問題を作成する
Copyright © 2022 New Relic Inc.