対象者
APMを使って予想外の自体が発生していることを特定したい人
効果
レスポンスタイム、スループットなど様々なメトリクスを見るときに、昨日や先週の同時刻といった一定期間前の値を比較したい場合があります。特に、曜日や時間によってスループットの変動が大きいサービスの場合、同じ程度のアクセスが期待される時間帯を基準にすることで、現在予想していない事態が発生していないか確認することができます。
New Relic 製品
New Relic APM, New Relic One
実装方法
このように過去と現在の特定時間を比較したい場合、な場合メトリクスを表示するグラフに比較対象を重ねて視覚化することができます。New Relicの場合、APMのレスポンスタイムとスループットについては、昨日および先週の同時刻との比較をチェックボックス一つで表示することができます。
これ以外のメトリクスやイベントの数値データ、あるいは任意の時間帯との比較を行いたい場合はNRQLのCOMAPRE WITH句を利用できます。COMPARE WITH句は時間範囲を指定するSINCE句やUNTIL句と一緒に指定し、SINCE句やUNTIL句で指定した時間範囲からCOMPARE WITH句で指定した相対時間だけ前の時間範囲を表示します。詳細な文法についてはこちらのドキュメントに記載があります。
実際に試してみましょう。NRQLはInsightsおよびNew Relic Oneのチャートビルダーが手早く確認できます。今回はNew Relic Oneで試してみましょう。New Relic Oneにログインして、右上の「Chart Builder」のメニューを選択し以下の画面を表示します。画面が異なる場合はBasicモードですのでチャートビルダー右上の「Advanced (NRQL)」をクリックします。
SELECTが表示されている箇所に以下のNRQLを貼り付けて「Run」をクリックして実行しみてください。なお、APMで取得できるデフォルトイベントをクエリしているため、APM agentをインストールしているアプリケーションがないと取得できません。
SELECT count(*) FROM TransactionError SINCE 1 hour ago TIMESERIES COMPARE WITH 4 hours ago
このNRQLにより、お客様のアカウントでAPMで計測している全てのアプリケーションのTransactionErrorの件数について、1時間前から現在までと5時間前から4時間前まで取得できます。もう少し複雑な条件として、3日前から2日前までと、5日前から4日前までを比較する場合は次のようになります。
SELECT count(*) FROM TransactionError SINCE 3 days ago UNTIL 2 days ago TIMESERIES COMPARE WITH 2 days ago
COMPARE WITH句の使い方としては、SINCEやUNTILと一緒に使い、SINCEやUNTILからどれくらい前のデータと比較するかという相対時間を指定することになります。
New Relic 担当者にもう少し話を聞いてみたい場合はこちらまで。
The views expressed on this blog are those of the author and do not necessarily reflect the views of New Relic. Any solutions offered by the author are environment-specific and not part of the commercial solutions or support offered by New Relic. Please join us exclusively at the Explorers Hub (discuss.newrelic.com) for questions and support related to this blog post. This blog may contain links to content on third-party sites. By providing such links, New Relic does not adopt, guarantee, approve or endorse the information, views or products available on such sites.