はじめに
オブザーバビリティプラットフォームのNew Relicでは、インフラからアプリケーション、ユーザー体験までシステムのあらゆるデータを収集してグラフで可視化することできます。さらにダッシュボード機能を利用することでシステムの構成や運用に必要なグラフを集約して可視化することができます。
例えば、ダッシュボード上のグラフからアプリケーションでエラーが大量に発生していることを把握し、詳細の原因分析をApplication Performance Monitoring(APM)やInfrastructure、Browserの分析画面にドリルダウンして見ていくことができますが、グラフから関連するアプリケーションやインフラストラクチャの分析画面に数クリックでドリルダウンできる機能アップデートがありましたのでご紹介いたします。
どういうアップデートか
APM
例えば、アプリケーションでエラーが発生している状況をグラフで確認し、グラフ上に表示される「Clik to learn more」をクリックすると、関連するエンティティ(New Relicにデータを送信するアプリケーションやホストなど)の分析サマリー画面やログ、トレースの画面に数クリックで遷移し、エラーの原因分析を進めることができます。
Infrastructure
インフラの場合は、例えばCPUなどサーバーリソースの消費が激しい傾向がグラフから見られた時に、関連するホストの詳細分析画面とホストが出力しているログの分析画面に数クリックで遷移して、原因分析を進めることが可能です。
Browser
Browserでは例えば、ページのロードが遅い傾向がグラフで見えた時に、ブラウザーの分析画面やフロントエンドアプリケーション起点でのトレースの分析画面、ブラウザのバックエンドで稼働しているアプリケーションのログの分析画面に遷移することができます。
設定方法
NRQLクエリのWHERE句で以下のどれかを使用してエンティティを明示的に指定する必要があります。
属性名 | 内容 |
---|---|
entityGuid,entity.guid | 各エンティティに割り当てられる一意のID |
entityName,entity.name | 各エンティティのアプリケーション名やホスト名など |
appName | APMやBrowserのアプリケーション名 |
また、時系列のグラフである必要があるため、NRQLクエリ内でTIMESERIES句を使用する必要があります。幾つかNRQLの例を紹介します。
SELECT
average(host.cpuPercent) AS 'CPU'
FROM
Metric
WHERE
entity.guid in (
'MTYwNjg2MnxJTkZSQXxOQXwtMjEzNDk0NzA2ODYzMTY5NjE5NQ',
'MTYwNjg2MnxJTkZSQXxOQXwtNzkwMTMwMzYxNDk4OTM1OTA1Nw',
'MTYwNjg2MnxJTkZSQXxOQXw1NTMwODEwNDI3Mjg4NTg1MDI0',
'MTYwNjg2MnxJTkZSQXxOQXwtNDY3NDMwNTc2NzYyNTA5ODkyMg',
'MTYwNjg2MnxJTkZSQXxOQXw2NjIxODI5NTUyNzg4MjI4NTY2',
'MTYwNjg2MnxJTkZSQXxOQXwyOTMzNzA2ODkyODk5NzIzMDAz',
'MTYwNjg2MnxJTkZSQXxOQXwyMjU5MzE3NjcxNDM5MDU5ODQy'
)
FACET entity.name
TIMESERIES SINCE 30 minutes ago
SELECT
sum(apm.service.error.count['count']) / count(apm.service.transaction.duration) AS 'Web errors'
FROM
Metric
WHERE
appName = 'WebPortal'
AND transactionType = 'Web'
SINCE 30 minutes AGO TIMESERIES
SELECT
average(queueDuration) AS 'Request queueing',
average(webAppDuration) AS 'Web application',
average(networkDuration) AS 'Network duration',
average(domProcessingDuration) AS 'DOM processing',
average(pageRenderingDuration) AS 'Page rendering'
FROM
PageView
WHERE
entityGuid = 'MTYwNjg2MnxCUk9XU0VSfEFQUExJQ0FUSU9OfDQzMTkyMzEx'
SINCE 30 minutes AGO TIMESERIES
まとめ
今回のアップデートで時系列のグラフから数クリックで各詳細分析の画面に遷移することができるようになりました!これにより以下の効果が期待できます。
- トラブルシューティングの迅速化
- 適切なデータをこれまで以上に簡単にドリルダウンして分析
NRQLのWHERE句の条件を設定するだけで簡単に設定できますので是非お試し下さい!
無料のアカウントで試してみよう!
New Relic フリープランで始めるオブザーバビリティ!
New Relic株式会社のQiita Organizationでは、
新機能を含む活用方法を公開していますので、ぜひフォローをお願いします。