New Relicのデータをより深く理解したいですか? New Relic Query Language(NRQL)がお手伝いします。NRQLを使うと、リアルタイムでデータを分析できます。最初は複雑に思えるかもしれませんが、心配しないでください。この2部構成のブログでは、NRQLをより深く理解し、データからより深い洞察を得るのに役立つ、10の重要なNRQL関数と句について説明します。これらの関数と句を使用することで、パーセンテージの計算、ヒートマップの作成、条件付きウィジェットの作成などに役立ちます。NRQLを使用することで、データ分析からより多くのことを引き出すことができます。早速、NRQLを使用してデータから貴重な洞察を得る方法を学びましょう。

クエリビルダーからの自動提案を利用するには、FROM
句を使用します。たとえば、FROM Transaction SELECT transactionSubType
は、選択したデータセットの関連属性のみを提案します。

すべてのNRQLクエリは、SELECT
ステートメントまたはFROM
句で始まる必要があります。他のすべての句はオプションですが、初期クエリをさらに具体的に改善することも可能です。たとえば、時間範囲を指定したり、カスタムラベルを比較したり追加したりすることができます。以下を試してみてください:
SINCE
SINCE
句を使用して、返されるデータの時間範囲の開始を定義します。クエリにはタイムゾーンを指定できますが、結果には指定できません。NRQLの結果は、since 5 minutes ago
、since 1 months ago limit max
などのシステム時間に基づいています。注:デフォルト値は 1 時間前です。
UNTIL
デフォルト以外のエンドポイントを指定するために使用します。時間範囲を指定すると、データが保存され、時間範囲が終了した後に確認できます。注:デフォルト値はNOWです。これは、SINCE
とUNTIL
を組み合わせて、1 か月間のトランザクションのmax(duration)
から今日のデータを引いた値の時系列グラフをプロットできる便利なクエリです。

注:日付と時刻を指定することもできます:SINCE ‘2022-10-10 09:00:00’ or UNTIL ‘2022-10-10 10:00:00’
COMPARE WITH
2つの異なる時間範囲の値を比較するには、COMPARE WITH
を使用します。COMPARE WITH
にはSINCE
またはUNTIL
句が必要です。COMPARE WITH
で指定された時間は、SINCE
またはUNTIL
で指定された時間を基準とします。たとえば、SINCE 1 day ago COMPARE WITH 1 day ago
は昨日と前日を比較します。2つの異なる時間範囲の値を比較する例を次に示します:

AS
AS
句は、属性、集計、数学関数の結果にラベルを付けるために使用します。これは、関数やクエリの結果をより明確に識別できるため、グラフを作成するときに非常に役立ちます。以下は、AS
を使用してデータセットのラベルを付けたグラフの例です。このラベルにより、グラフ内のデータソースが明確に示されるため、グラフの結果を理解しやすくなります。

No2:数学関数
NRQL を使用すると、SELECT
句で単純な数学演算子と複雑な数学演算子を使用できます。個々の属性だけでなく、集計関数の出力に対しても計算できます。
-
count:利用可能なレコードの数を取得します。これは SQL の動作に似ており、指定された属性のすべてのレコードをカウントします。
-
average , min, max:ある属性の最小値、最大値、および平均値を計算します。例として、トランザクションの持続時間を確認してみましょう。
-
percentage:対象のデータセットのパーセンテージを計算します。最初の引数には、求める属性に対する集計関数が必要です。
-
percentile:必要な属性のパーセンタイルを計算します
参考資料
詳細については、集計関数 をご覧ください
No3:時系列
TIMESERIES
句を使用して、特定の時間間隔(例えば、1時間、1日など)ごとに分割された時系列データを取得します。これらの特定の時間間隔は「バケット」とも呼ばれ、秒、分、時間などで定義できます。
TIMESERIES
キーワードは、集計関数を使用して値を時系列にプロットするクエリに追加できます。
また、時系列のタイムスライスを定義することもできます。たとえば、時系列内のデータポイントを30秒間隔でキャプチャするTIMESERIES 30 seconds
、時系列のデータポイントを1分間隔でキャプチャするTIMESERIES 1 minute
、またTIMESERIES max
では定義された間隔なしで時系列内のすべてのデータポイントをキャプチャすることもできます。これにより、時系列のタイムスライスを好みの時間枠にカスタマイズできます。
参考資料
- 詳細については、TIMESERIES をご覧ください
No4:FACET(グループ化)
FACET
FACET
を使用して、結果を属性値ごとに条件付きでグループ化し、グループごとに分離します。これは、さまざまなカテゴリまたはディメンション別にデータを分析する場合に役立ちます。
以下は、FACET
句を使用した簡単な例です。データセット内に存在する各都市ごとに PageViewのカウントをグループ化できます。
このクエリの結果には、都市属性に基づいてグループ分けされた各都市のページビュー数を表示します。
FACET CASES
FACET
のもう1つのバリエーションはFACET CASES
です。キーワードCASES
をF ACET
とともに使用すると、クエリに複数の条件を追加したり、各FACET CASE
内で複数の属性を組み合わせたりすることもできます。
以下に、FACET CASES句を使用してPageViewデータをクエリし、データセットから異なる期間値の間で複数の結果を取得できる例を示します。
クエリ結果を読みやすく理解しやすくするために、ラベル付けにAS
句を使用して、FACET CASES
内の各条件にカスタムラベルを割り当てることができます。
参考資料
No5:フィルター
クエリ結果をフィルターすると、結果を最も関連性の高い情報のみに絞り込むことができます。NRQLは、データセットをフィルタリングするためのさまざまな方法を提供します。
ワイルドカードフィルター
ワイルドカードフィルターは、クエリ結果を特定のパターンでフィルタリングする場合に役立ちます。NRQLは、%
記号を使用してワイルドカードフィルターを追加する優れた機能を提供します。
以下のサンプルでは、データセット内の**.duration**で終わるすべての属性の平均を取得しています。結果には、フィルターに一致する2つの属性が表示されます。
filter()
関数
filter()
関数は、複数の属性からのクエリ結果を組み合わせる必要がある場合に役立ちます。クエリ内でコンマで区切って、複数のデータセットの結果を簡単に組み合わせることができます。
この例では、 PageView および Transaction の属性から「結合されたイベント」としてラベル付けされたデータセット内のすべてのイベントの総数を集計しています。
すべてのイベントの合計だけでなく、PageViewおよびTransactionイベントの個々の合計数を表示することで、出力をより興味深いものにすることができます。以下のクエリでfilter()
関数を使用することで、これを簡単に実現できます:
また、filter()
を使用して、WHERE
句を使い、Transactionの異なるメトリクスの数を取得する別の例です:
参考資料
- FILTER() をご覧ください
このブログでは、データのクエリに必要な基本的なNRQL関数について説明しました。次のパートでは、NRQLのもう少し高度な機能と特徴について説明します。これらは、複雑なデータのクエリと視覚化に取り組むのに役立ち、テレメトリデータを最大限に活用できるようになります。
Nächste Schritte
New Relicをまだ使用していない方は、無料アカウントに登録して、すべての機能をお試しいただけます。無料アカウントには、毎月100GBの無料データ取り込み、1名の無料のフルアクセスユーザー、および無制限の無料ベーシックユーザーが含まれます。
NRQL関数とベストプラクティスについては、このブログシリーズの次のパートをご覧ください。
Die in diesem Blog geäußerten Ansichten sind die des Autors und spiegeln nicht unbedingt die Ansichten von New Relic wider. Alle vom Autor angebotenen Lösungen sind umgebungsspezifisch und nicht Teil der kommerziellen Lösungen oder des Supports von New Relic. Bitte besuchen Sie uns exklusiv im Explorers Hub (discuss.newrelic.com) für Fragen und Unterstützung zu diesem Blogbeitrag. Dieser Blog kann Links zu Inhalten auf Websites Dritter enthalten. Durch die Bereitstellung solcher Links übernimmt, garantiert, genehmigt oder billigt New Relic die auf diesen Websites verfügbaren Informationen, Ansichten oder Produkte nicht.