こんにちはマネージドサービス部 大城です
先日、Xを眺めていたら New Relic Japanさんのポストをみつけました。面白そうなのでNew Relicの個人アカウントでやってみました。
新しいデータ分析画面(Query Your Data)では、自然言語を使用してクエリを生成することができるので、NRQLにまだ馴染みがないユーザーも活用いただきやすくなっています。https://t.co/y4OFRsvtxg#NewRelic #オブザーバビリティ #NRQL https://t.co/dXGHipxI0J pic.twitter.com/WuYQ70KJYk
— New Relic Japan (@NewRelicJapan) 2024年2月22日
NRQLとは
New Relic Query Language の略です。通用「ぬるくる」と呼ばれています。SQLライクにNew Relicのデータを可視化するときに使います。詳しくは公式ドキュメントをご参照ください。
準備
AIの利用をスタートするため、画面右上の「Ask AI」->「Get started」をクリックします
ついでに「Query Your Data」->「Try it out」をクリックして新しいクエリ画面にしておきます
使い方
シンプルな使い方で下のとおりです。試してみたところ日本語もOKでした。
- 自然言語を書く
- NRQLが表示される
- Runをクリックする
- 結果を確認する
やってみた
PHPのサンプルアプリケーションにAPMを入れて、負荷をかけた後、いくつか自然言語を入れて試してみました。
1ヶ月間で発生したアラートをコンディションごとに集計してください。
生成されたNRQL
SELECT count(*) FROM NrAiIncident WHERE event = 'open' SINCE 1 month ago FACET conditionName
Low Application Throughput、High CPU、High Application Response Time のアラートが数件発生していることが分かります
1ヶ月間で発生したアラートをコンディションごとに集計してください。発生した時間も知りたいです
生成されたNRQL
SELECT count(*) FROM NrAiIncident WHERE event = 'open' FACET conditionName TIMESERIES SINCE 1 month ago
時系列でアラートの推移を確認することができます
リクエストが多いトランザクションのtop10を出してください
生成されたNRQL
SELECT count(*) FROM Transaction FACET name SINCE 1 hour ago LIMIT 10
*.js
*.png
などの静的ファイルがほとんどであることが分かります。生成されたNRQLを修正して静的ファイルを除外して確認することもできます。
エラーが出ているトランザクションを時系列で名前毎に集計してください
生成されたNRQL
SELECT count(*) FROM TransactionError WHERE `error.message` IS NOT NULL FACET `transactionName` TIMESERIES SINCE 1 hour ago
WebTransaction/Action/product_add_cart が1分に1回程度エラーになっていることが分かります。
遅いトランザクションのtop10を集計してください
生成されたNRQL
SELECT average(duration) FROM Transaction SINCE 1 hour ago FACET name LIMIT 10
WebTransaction/Action/admin_homepage の平均処理時間が0.97秒かかっており、遅いことが分かります。
最後に
ここまで読んでいただきありがとうございます。この記事が誰かの役に立ったら幸いです。
「Query Your Data」の画面は以前から補完機能がついていて便利だなーと思っていましたが、今回の機能でさらに便利になりましたね。ぜひ試してみてください。
大城 慶明 (記事一覧)
マネージドサービス部
2022年10月サーバーワークスに入社、沖縄からリモート勤務。AWSを勉強中。沖縄では大城が多いので「よっさん」と呼ばれています。AWS14冠。NRUG沖縄支部運営。X @yo_ohshiro