• ログイン

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 is an acronym of New Relic query language. It's a query language similar to ANSI SQL (see the syntax). You can use NRQL to retrieve detailed New Relic data and get insight into your applications, hosts, and business-important activity.

NRQLを使用する理由としては、次の点があります。

  • トラブルシューティングやビジネス分析目的で質問に答える
  • 新規チャートを作成する
  • (例えば当社のNerdGraph APIを使用して)New RelicデータのAPIクエリを行うには

NRQL queries can be as simple as fetching rows of data in a raw tabular form to inspect individual events. NRQL can also be used to run powerful calculations on the data before it's presented to you, such as crafting funnels based on how end users are using your site or application.

NRQL is used behind the scenes to generate many of the charts and dashboards in our curated UI experiences:

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

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

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

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

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

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

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

ヒント

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

NRQLを使い始めるには

NRQLを使い始めて、どのデータを利用できるのか理解するには、NRQLインタフェース(例:クエリビルダー)から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の条件

詳細

必須の値

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株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.