• ログイン今すぐ開始

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クエリ言語の頭字語です。これは、ANSI SQLに似たクエリ言語です(構文を参照してください)。NRQLを使用して、詳細なNew Relicデータを取得し、アプリケーションやホスト、ビジネスで重要なアクティビティについての洞察を得ることができます。

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

  • 新規チャートを作成する
  • トラブルシューティングやビジネス分析目的で特定の質問に答えるため
  • NRQLベースのアラート(主要で最も強力なアラートタイプ)を設定するため
  • (例えば当社のNerdGraph APIを使用して)New RelicデータのAPIクエリを行うには

NRQLクエリは、個々のイベントを検査するために未加工の表形式でデータの行を取得するのと同じくらい簡単です。NRQLは、エンドユーザーがサイトやアプリケーションをどのように使用しているかに基づいてファネルを作成するなど、データが表示される前に強力な計算を実行するためにも使用できます。

NRQLは舞台裏で使用され、当社のキュレーションされたUIエクスペリエンスの多くのチャートとダッシュボードを生成します。

一部の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文でサポートされています。

サブクエリ

NRQLはサブクエリをサポートします。

JOIN

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

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

Copyright © 2022 New Relic Inc.

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