LoginSignup
7
5

New Relicのクエリ言語でJSONの解析が簡単にできるようになった!!

Last updated at Posted at 2024-03-26

はじめに

New Relicのクエリ言語NRQLの2024年1月のアップデートで、JSONを柔軟に解析できる新しい関数が登場しました!この記事ではそれぞれの関数の使い方を紹介します!

このアップデートの詳細はこちら
What's new
その他アップデートの詳細はこちら
New Relic アップデート(2024年1月)
New Relic アップデート一覧

新関数の使い方を確認

今回、登場した関数は以下になります。

関数名 機能内容
jparse() JSONを解析し、値のマップ/リスト(またはネストされた構造)を生成します
mapKeys() 解析されたJSONからキーを返します
mapValues() 解析されたJSONから値を返します

各関数の使い方を見ていきます!

jparse()

jparse() は、 文字列値を受け取り、値のマップまたはリスト (またはネストされた構造) を生成します。

例えば、下記のクエリでは、指定されたJSONデータから ID、名前、および特定の値を抽出します。

WITH '{"users": [{"name": "Hello", "id": 435}, {"name": "World", "id": 436}, {"name": "GetThisName", "id": 500}]}' as jsonString, 
     jparse(jsonString, 'users[*].id') as ids, 
     jparse(jsonString, 'users[*].name') as names, 
     jparse(jsonString, 'users[2].name') as getSpecificValue
SELECT ids, names, getSpecificValue

aparse() を使って、ログのmessageからJSONデータを抽出し、jparse()で特定の値を抽出してみます。

WITH '1693242121842: value=\'{"user": {"name": "John", "id": 5}}\', useless=stuff' as logMessage,
       aparse(logMessage, '%: value=\'*\'%') AS jsonString
SELECT jparse(jsonString, 'user.name') AS Name

mapKeys()

mapKeys()は、 マップが渡されると、すべてのキーのリストを抽出します。

WITH '{"Field1": "exampleString", "Field2": false, "Field3": 100}' AS jsonString 
SELECT mapKeys(jparse(jsonString)) AS keys

ネストされたキーを含むJSONデータからキーのリストを抽出します。

WITH '{"value1": "test", "value2": {"nestedValue1": [1, 2, 3], "nestedValue2": 100}}' as jsonString
SELECT mapKeys(jparse(jsonString)) AS keys

mapValues()

mapValues() は、マップが入力として渡されると、すべての値のリストを抽出します。

WITH '{"Field1": "exampleString", "Field2": false, "Field3": 100}' AS jsonString 
SELECT mapKeys(jparse(jsonString)) as values

ネストされたキーを含むJSONデータから値のリストを抽出します。

WITH '{"value1": "test", "value2": {"nestedValue1": [1, 2, 3], "nestedValue2": 100}}' as jsonString
SELECT mapValues(jparse(jsonString)) AS values

まとめ

今回、2024年1月の機能アップデートで登場したjparse()mapKeys()mapValues()のNQRLクエリ関数の使い方を紹介させていただきました。ログに含まれるJSONから必要なデータを簡単に抽出して、ダッシュボードで分析したり、アラート条件に指定するなどできますのでご活用ください!!

このアップデートの詳細はこちら
What's new
その他アップデートの詳細はこちら
New Relic アップデート(2024年1月)
New Relic アップデート一覧

New Relic株式会社のQiita OrganizationOrganizationでは、
新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。

7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5