【New Relic】初めてのSynthetic Monitoring (外形監視)設定

こんにちは。SCSKの井上です。

WEBサイトに訪れたユーザーが不満を感じる前に、問題を検出する方法はないでしょうか?せっかく訪れたユーザーが、サイトが使えない・遅いといった理由で離れてしまうと、企業のブランド価値低下や機会損失につながります。そこで、New RelicのSynthetic Monitoring(外形監視)を使って、影響が拡大する前に継続的に監視し、問題を早期に発見する一助になれば幸いです。

 

はじめに

外形監視を導入することで、稼働率や応答速度をはじめとするデータを可視化することができます。リンク切れやページ表示の遅延で気づいていたらユーザー離れが起きていた事態を防ぐためにも、チェックを自動化して障害や問題を早期に発見することが大切になってきます。New Relicは日本だけではなく世界の拠点から外形監視を実行できるため、グローバルにアクセスされるサイトの品質管理にも対応できます。この記事では7種類の外形監視の使い方について解説していきます。

 

外形監視でできること

外形監視は、ユーザー視点でWebサイトやAPIの可用性やパフォーマンスを外部からチェックする仕組みです。実際のユーザーアクセスと同じ状況を再現することで、問題を早期に発見することができます。New Relicの外形監視では以下のような機能が実現できます。

機能 説明
可用性チェック WebサイトやAPIの稼働状況をPingやHTTPリクエストで確認
APIテスト REST APIやGraphQLのレスポンスコード・内容を検証
ブラウザ操作の再現 スクリプト化されたブラウザモニターでログインやフォーム入力を再現
パフォーマンス測定 ページロード時間やAPIレスポンス時間を計測
グローバル監視 世界中の複数ロケーションからテストを実行し、地域別の応答速度を確認
エラー検知と通知 HTTPステータスやレスポンス異常を検知し、アラートを発報

 

 

外形監視を始める前に

外形監視を設定する際に、無料で利用できる範囲や、注意すべきポイント、さらに設定時によく使われる用語について解説します。

外形監視の実行可能回数

無料枠では、外形監視の実行可能回数は月500回までです。なお、契約プランによって外形監視の実行可能枠は異なります。ただし、Ping監視については実行回数のカウント対象外です。外形監視は複数ロケーションから実行でき、1ロケーションにつき1回としてカウントされます。例えば東京とロンドンで1分間隔で監視すると、1分で2回、1時間で120回となり、ロケーションが増えるほど実行回数も増えます。そのため、優先地域に絞ってロケーションを選定することが重要です。また、外形監視のラウザ実行環境(Browser)でChromeとFirefoxを選択、デバイステスト(Device Emulation)でモバイルとデスクトップなど複数選択した場合も、それぞれに実行回数がカウントされます。実行上限を超える場合、設定時に以下の画面が表示されます。

 

外形監視の設定を保存する前に、意図した通りに外形監視が動作するかを検証する「Validate」というボタンがあります。これについては、チェックを行う前の動作確認の建付けとなっているため、実行回数のカウント対象外です。

 

 

Device Emulation(ブラウザベースのデバイステスト)

この後に説明するSimple BrowserやScripted Browserで利用できるオプション設定で、ChromeやFirefoxのエミュレーション機能を使って、モバイルやタブレットでの異なるデバイスで画面表示をテストできます。ただし、各デバイスとのネットワーク速度やOSは再現できないため、同じサイトでも表示速度やJavaScriptの実行処理の差がでます。画像やテキストが正しく読みこまれているか、ボタンは押せる位置にあるかなどは確認できます。より詳細にテストしたい場合は、実機を用いて打鍵も考慮する必要があります。

 

 

ユーザ体験の可視化指標:Apdex

アプリケーションのパフォーマンスに対するユーザー体験を数値化する指標としてApdexがあります。1.0に近いほど、ユーザー体験は問題ないとされています。以下についてはベンダーごとに評価基準は異なります。

Apdex値の範囲 評価(Rating)
0.94 ~ 1.00 Excellent(非常に良い)
0.85 ~ 0.93 Good(良い)
0.70 ~ 0.84 Fair(普通)
0.50 ~ 0.69 Poor(悪い)
0.00 ~ 0.49 Unacceptable(許容外)
 
Application Performance Index – ApdexTechnical Specificationの資料によると、計算式については以下と定義されています。
Apdex(T) = (Satisfied count + (Tolerating count ÷ 2)) ÷ Total samples
不満と感じるのは満足の閾値から4倍の値と上記資料で報告されています。計算する際は満足・許容・不満の3つのカテゴリに分けられています。
  • 満足(Satisfied)      :レスポンスタイム ≤ T
  • 許容(Tolerating)    :T < レスポンスタイム ≤ 4T
  • 不満足(Frustrated):レスポンスタイム > 4T
実際の計算式についてNew Relicの公式サイトを参考に算出します。今回、外形監視を例に、ログインからログイン完了後のページを表示する際に満足できるレスポンスタイムを3秒(=T)とします。

満足(Satisfied)      : レスポンスタイム ≤  3秒

許容(Tolerating)    :3秒 < レスポンスタイム ≤ 12秒

不満足(Frustrated):レスポンスタイム > 12秒

 

100回測定した結果が以下となったとします。
満足数:60回
許容数:30回
不満足 :10回
これらを先ほどの式に当てはめてみると、Apdex(T3)=(60+(30÷2))÷100 =0.75となりました。0.75はApdexの範囲で示すと”普通”に該当します。ただし、この基準はあくまで目安です。ユーザー体験はレスポンスタイム以外にもユーザーインタフェースのわかりやすさや、機能の充実度などにも影響します。普段とは大きくApdexスコアが下がっているなど、傾向と合わせて確認することで効率的に活用できます。
 

参考: https://www.apdex.org/index.php/documents/

 

 

外形監視の導入と設定

New Relicでは、Webサイトのパフォーマンスを多角的に検証できる 7種類のSynthetic Monitoring(外形監視) が用意されています。これらのモニターは、単純な死活確認から複雑なユーザー操作のシナリオ再現まで対応しています。ここでは、各モニターの設定方法や活用シーンを解説していきます。

種類 機能概要 主な用途
Ping(死活監視) URLにリクエストを送り、応答を確認(軽量) サイトの死活監視、基本的な可用性チェック
Simple browser(ページ表示速度監視) ページをブラウザで開き、レンダリング確認 ページ表示確認、JavaScript実行確認
Step Monitor(ノーコード監視) コード不要で複数操作を設定可能 ログインやフォーム入力など簡単なユーザーフロー確認
Scripted browser(ユーザ操作監視) JavaScriptで高度な操作をカスタマイズ ログイン確認、E2Eテスト
Scripted API(API監視) APIエンドポイントにリクエストを送りレスポンス検証 APIの正常性監視、エンドポイント監視
Certificate Check(SSL証明書監視) SSL証明書の有効期限を監視 セキュリティ維持、証明書期限切れ防止
Broken Links Monitor(リンク切れ監視) ページ内リンクの正常性を確認 UX品質維持

 

 

Availability – Ping(死活監視)

URLの死活監視など、もっとも単純な監視方法です。月内の実行可能回数枠については対象外となっています。

1.左ペインより「Synthetic Monitoring」>「Monitors」より「Create monitor」をクリックします。 2.監視種類Availability – Pingを選択します。
3.以下の設定内容※を参照の上、「Select locations」をクリックします。 4.New Relic の外形監視(Synthetic Monitoring)で監視拠点を選びます。設定後、「Save monitor」をクリックします。
5.設定した監視間隔で外形監視が実行されます。  
 

 

※設定内容
項目名 意味・用途
Name (required) 外形監視の名前。
URL (required) 監視対象のURL。
Period 監視の実行間隔。例:1分、5分、15分など。
Text validation (optional) レスポンスに含まれるべき文字列を指定。指定文字列が含まれないと失敗と判定。
ApdexTarget (optional) パフォーマンス評価指標(Apdex)の目標値。
Verify SSL SSL証明書の検証を有効にするかどうか。チェックすると証明書の有効性も確認。
Bypass HEAD request HEADに対応していないシステムに対してHEAD+Bodyを確認する。

軽量な死活監視、サーバー負荷を避けたい場合:チェックなし

特定の文字列が表示されているか検証したい場合:チェックあり

Redirect is failure リダイレクトが発生した場合に失敗とみなすかどうか。

URLがそのまま使える状態であることを確認とする場合:チェックあり

リダイレクトが仕様として許容されている(例:HTTP→HTTPS)場合:チェックなし

Custom headers リクエストに追加するカスタムHTTPヘッダー。キャッシュを無効化、APIキーなどを含める場合に使用。
Tags モニターにタグを付けて分類・検索しやすくする。形式は key:value。

 

Page load performance – Simple browser(ページ表示速度監視)

指定したURLを実際のブラウザで開き、ページの読み込みや基本的な表示を確認する外形監視です。Webページがブラウザで正常に表示されるかどうかを確認するなどに使われます。

1.左ペインより「Synthetic Monitoring」>「Monitors」より「Create monitor」をクリックします。 2.監視種類Page load performance – Simple browserを選択します。
3.以下の設定内容※を参照の上、「Select locations」をクリックします。 4.New Relic の外形監視(Synthetic Monitoring)で監視拠点を選びます。設定後、「Validate」をクリックします。
5.ページの読み込み時間がタイムラインで表示されます。外形監視を保存する場合は、「Save monitor」をクリックして完了です。  
 

 

※設定内容
項目名 説明
Name (required) 外形監視の名前。
URL (required) 監視対象のWebページのURL。
Period 外形監視の実行間隔。例:「15 mins」は15分ごとに監視を実行します。
Tags 外形監視にタグを付与して分類や検索をしやすくします。形式は key:value。
Text validation (optional) ページ内に特定の文字列が含まれているかを確認するための文字列を入力。HTTPステータスコードだけではなく、特定の文字も表示されていることをもって成功としたい場合に使用。
ApdexTarget (optional) パフォーマンス評価指標(Apdexスコア)の目標値。
Verify SSL SSL証明書の有効性を確認するオプション。チェックを入れるとHTTPS証明書の検証を行います。
Enable screenshot on failure and in script 外形監視失敗時にスクリーンショットを取得するオプション。どこで失敗したのかを確認することができる。デフォルトで有効となっています。
Custom headers HTTPリクエストに追加するカスタムヘッダー。認証や特定のAPI利用時に必要。Nameにヘッダー名、Valueに値を入力。

 

User step execution – Step Monitor(ノーコード監視)

ユーザーがサイトで行う一連の操作を、順番に自動で試して問題がないか確認する外形監視です。ログインIDとパスワードを入力して、ログインが問題なくできるかを確認などに使われます。

1.左ペインより「Synthetic Monitoring」>「Monitors」より「Create monitor」をクリックします。 2.監視種類User step execution – Step Monitorを選択します。
3.以下の設定内容※を参照の上、「Select locations」をクリックします。 4.New Relic の外形監視で監視拠点を選びます。設定後、「Define steps」をクリックします。
5.ノーコードでWebアプリのユーザー操作をGUI上からステップ形式で設定します。 6.保存前にスクリプトに問題がないか動作確認するため、「Validate」をクリックします。
7.Successが表示されていれば、スクリプトに問題なく実行できる状態です。「Save monitor」をクリックして完了です。 【補足】スクリプトに問題がある場合は、問題個所とともにエラーキャプチャが表示されます。

 

※設定内容
項目名 説明
Name (required) 外形監視の名前。
URL (required) 監視対象のWebページのURL。
Period 外形監視の実行間隔。例:「15 mins」は15分ごとに監視を実行します。
Tags 外形監視にタグを付与して分類や検索をしやすくします。形式は key:value。
ApdexTarget (optional) パフォーマンス評価指標(Apdexスコア)の目標値。
Enable screenshot on failure and in script 外形監視失敗時にスクリーンショットを取得するオプション。どこで失敗したのかを確認することができます。デフォルトで有効となっています。

 

User flow / functionality – Scripted browser(ユーザ操作監視)

ユーザ操作をスクリプトを使ってサイトの動作を監視する外形監視です。ECサイトの購入フロー(商品検索→カートに入れる→ログイン→購入等)が問題なく遷移できるか、一連のシナリオテストを確認するなどに使われます。

1.左ペインより「Synthetic Monitoring」>「Monitors」より「Create monitor」をクリックします。 2.監視種類User flow / functionality – Scripted browserを選択します。
3.以下の設定内容※を参照の上、「Select locations」をクリックします。 4.スクリプトを記載後、動作確認をするために「Validate」をクリックします。
5.Successと表示されていれば、スクリプトは正常に動作しています。「Save monitor」をクリックして完了になります。 【補足】スクリプトに問題がある場合は、Script Logから該当の行付近を確認し、修正を行います。

 

※設定内容
項目名 説明
Name (required) 外形監視の名前。
Period 外形監視の実行間隔。例:「15 mins」は15分ごとに監視を実行します。
Tags 外形監視にタグを付与して分類や検索をしやすくします。形式は key:value。
ApdexTarget (optional) パフォーマンス評価指標(Apdexスコア)の目標値。
Enable screenshot on failure and in script 外形監視失敗時にスクリーンショットを取得するオプション。どこで失敗したのかを確認することができる。デフォルトで有効となっています。

 

 

Endpoint availability – Scripted API(API監視)

外部APIの応答時間・可用性を定期的にチェックし、遅延や障害の発生有無を確認する外形監視です。Synthetics REST APIは 1秒あたり3リクエストまでの制限となっています。制限を超えた場合、429レスポンスコードを返します。

1.左ペインより「Synthetic Monitoring」>「Monitors」より「Create monitor」をクリックします。 2.監視種類Endpoint availability – Scripted APIを選択します。
3.以下の設定内容※を参照の上、「Select locations」をクリックします。 4.スクリプトを記載後、動作確認をするために「Validate」をクリックします。
5.Successと表示されていれば、スクリプトは正常に動作しています。「Save monitor」をクリックして完了になります。  
 

 

※設定内容
項目名 説明
Name (required) 外形監視の名前。
Period 監視の実行間隔。例:「15 mins」は15分ごとに監視を実行します。
ApdexTarget (optional) パフォーマンス評価指標(Apdexスコア)の目標値。
Runtime スクリプト実行環境をプルダウンメニューから選択。古いスクリプトの場合、最新Nodeで動かない場合があるので、動作確認のValidateを実行して確認。
Tags 外形監視にタグを付与して分類や検索をしやすくします。形式は key:value。

 

 

 

SSL certificate expiration – Certificate Check(SSL証明書監視)

SSL証明書の有効期限や有効性を監視する外形監視です。証明書が切れるとブラウザに警告が表示され、ユーザー離脱や企業の信頼低下につながるため、事前に検知して防ぎます。

1.左ペインより「Synthetic Monitoring」>「Monitors」より「Create monitor」をクリックします。 2.監視種類SSL certificate expiration – Certificate Checkを選択します。
3.以下の設定内容※を参照の上、「Select locations」をクリックします。 4.ロケーションを選択後、動作確認をするために「Validate」をクリックします。
5.Successと表示されていることを「Save monitor」をクリックして完了になります。 【補足】設定した有効期限を下回っている場合は、以下の画面が表示されます。

 

※設定内容
項目 意味
Name (required) 外形監視の名前。
Domain (required) チェック対象のドメイン名。SSL証明書の有効期限を確認したいURLを指定します。
Days remaining until expiration (required) アラートを出すまでの残り日数のしきい値。
例:30 → 証明書の有効期限が30日未満になったら通知
Period 外形監視の実行頻度。どれくらいの間隔でチェックするかを設定します。

 

Page link crawler – Broken Links Monitor(リンク切れ監視)

商品ページや決済ページへのリンク、掲載サイトから外部サイトへのリンクが正しく動作しているかどうかを定期的に確認する外形監視です。リンク切れによるユーザー離れやメンテナンスへの信用低下を防ぎ、ユーザー体験を損なわないようにします。

1.左ペインより「Synthetic Monitoring」>「Monitors」より「Create monitor」をクリックします。 2.監視種類Page link crawler – Broken Links Monitorを選択します。
3.外形監視の名前、対象のURL、実施間隔を入力後、「Select locations」をクリックします。ApdexとTagsは任意項目になります。 4.どのロケーションから外形監視をするかを設定し、「Validate」をクリックします。
5.リンク切れがない場合はSuccessと表示されます。 外形監視を実施する場合は、「Save monitor」をクリックします。 【補足】リンク切れがある場合は、Failedと表示され、Script Logに該当のURLが記載されています。このまま外形監視を実施する場合は、「Save monitor」をクリックします。

 

 

Secure credentials

Secure credentialsは、パスワードなどのセキュアな情報を管理し、外形監視のスクリプト内で参照できる仕組みです。セキュアな情報をスクリプト内に直接記載しないことで、漏えいリスクを低減することができます。また、複数のスクリプトを管理する場合は、変数で記述することで認証情報を一元管理ができます。一度作成したkey名は固定で、後から編集できるのは値(value)と説明(description)のみになりますので、key名を変更したい場合は、作り直す必要があります。値の変更後、個々のスクリプトで使用しているKeyの修正は不要で反映されます。この機能は、Scripted browser、Scripted API、およびStep Monitorで使用できます。

作成方法

1.Synthetic MonitoringよりSecure credentialsを選択後、Create secure credentialをクリックします。 2.変数名(Key)及び、値(Value)を入力します。必要に応じて説明を入力後、「Save」をクリックします。
3.ブラウザの更新を実施することで、作成されたSecure credentialsが一覧に表示されます。  
 

 

利用方法

1.対象の外形監視を開き、「Insert secure credential」をクリックします。 2.作成されているsecure credentialの一覧が表示されますので、使用したいkeyをクリックします。
3.スクリプト内に対象のKeyが$secure.KEY_NAMEの形式で表示されます。  
 

 

 

外形監視の見方

ここまでで、7種類の外形監視について、それぞれの利用用途と設定方法を解説してきました。次は、実際に設定した外形監視の結果をどのように確認すべきかを見ていきます。

Monitors画面

複数の外形監視を運用している場合、過去24時間の成功率や失敗したロケーションを一覧で確認できます。どのモニターで問題が発生しているかを素早く把握することができます。また、Alert statusの色分け(赤・緑・グレー)によって、障害有無を即座にわかります。この画面では以下のことが確認できます。

  • Alert status (Name欄の六角形)
    • 緑:未解決のインシデントなし
    • 赤:インシデント進行中
    • グレー:アラート条件なし
  • Monitor status:監視がEnabled(有効)、Disabled(無効)の状態確認
  • Success rate (24 hours):24時間以内のモニターチェック成功の割合
  • Locations failing:監視失敗したロケーション数
  • Period:監視の実行頻度
  • Monitor type:監視の種類

 

 

Summary画面

サマリー画面では、外形監視の実行単位で障害の特定や改善策の検討を確認する画面です。一覧画面では全体の外形監視の実行状態を確認することに対して、サマリー画面では、外形監視単位で詳細に確認する位置づけです。

この画面では、外形監視の再実行を実施することができます。ネットワークや外部サービスの一時的な不具合で外形監視が失敗しているのか、サーバの設定変更などで構成変更後、外形監視が正しく実行できているかなど、今すぐ確認したい場合は「Run check」をクリックして確認できます。

外形監視の種類によって表示されるグラフは異なりますが、主な確認できる項目は以下の通りです。

グラフ項目 意味 利用シーン
Error response codes HTTPステータスコード(200以外)を表示 エラー発生箇所を確認し、原因を特定
Average size by resource type HTML、CSS、JavaScript、画像などの平均サイズを表示 ページの重さや最適化の必要性を把握
Duration by domain 各ドメインごとの処理時間を表示 遅延の原因となるドメインを分析
Total requests by domain ドメインごとのリクエスト数を集計 過剰なリクエストなどを確認
Performance timings DNS、SSL、接続、送信、待機、受信のページ読み込みに関わる全体の流れの時間を表示 ボトルネックを特定
Request & response time リクエスト送信からレスポンス受信までの時間 ネットワーク応答速度を評価
Connection times DNS、SSL接続などの時間 接続関連の遅延要因を分析

 

 

 

Results画面

サマリー画面で全体の傾向を把握後、主に実行結果を詳細を深堀していく際に使用する画面です。どのタイミングで失敗しているのか、特定のロケーションで遅延しているのか、継続的に外形監視が失敗しているのかを確認できます。検索ボックス横のLocationより特定の場所の結果だけを表示/非表示することができます。外形監視の成功や失敗の一覧画面が表示されています。赤枠の一覧内の該当のタイムスタンプをクリックすることで、以下のことが確認できます。

  • ページ全体のパフォーマンス状況                                           (Bytes Transferred:ページサイズ、Requests:発生したHTTPリクエストの総数、Total time:読み込み完了時間)
  • 画像やJavaScriptのどのリソースが遅いか
  • エラーが発生したリソースの特定
  • ウォーターフォール形式での読み込み順序と並列性の確認

 

 

Resources画面

主にこの画面はページの読み込み速度が遅いときに詳細な深堀をするために使用します。ページ読み込みのボトルネックをHTML、CSS、JavaScript、画像などのリソース単位で確認することができます。Resource画面を開くと左側のリストに平均ダウンロード時間が遅い順にソートされています。右側では時系列でパフォーマンスの変化が表示されています。どのリソースタイプが時間がかかっているのかを確認することができます。左側のリストをクリックすると、該当のリソースのダウンロード時間に関する情報が確認できます。ロケーションの問題か、特定の時間帯に遅延が見られるのかなどを確認できます。さらにクリックすると該当のリソースのHTTPリクエストの詳細とレスポンスタイムの内訳を確認することができます。DNSやSSLの接続に問題があるのか、サーバの処理速度に問題か、ネットワーク帯域が狭い、距離が遠いなどの問題を詳細にドリルダウン形式で分析することができます。

 

 

編集画面

外形監視の編集画面では、監視対象のURLの変更、スクリプトの修正、監視実行の有効無効化、頻度、ロケーションの変更などが実施できます。

該当の外形監視を開き、「General」を開きます。編集はこの画面で行います。監視実行を無効化する場合は「Monitor enabled」のチェックを外します。編集完了後は、「Validate」を実行して、問題がいないことを確認してから、「Save monitor」をクリックします。 【補足】外形監視を複数修正した場合は、上部の外形監視名のプルダウンメニューから対象の監視名を選択することで該当の編集ページに遷移します。これにより、外形監視の一覧画面に戻らずに該当の外形監視の詳細ページを確認することができます。

 

Location status画面(各地域の障害ステータス)

該当のロケーションでネットワークの問題や障害が起きているのかを確認することができます。この画面で特定の地域のみ発生しているのか、全地域に発生しているのかを切り分けることができます。サービスは正常に起動しているが、外形監視の失敗が突然連続している場合は、下記のステータスを確認します。

 

New Relic プラットフォームに関する障害ステータス情報は以下で確認できます。
New Relic Status
Welcome to New Relic's home for real-time and historical data on system performance.

 

参考:プライベートロケーション

通常はインターネット上の公開サーバーを監視しますが、社内ネットワークやファイアウォールの内側にあるシステムは外部からアクセスできません。自分の会社のネットワーク内から監視する場合は、プライベートロケーション機能を使うことで実現できます。この機能を使うには、コンテナを使う必要があります。この記事では、概要のみの説明とし、詳細は別の記事で解説します。

 

さいごに

この記事では、Synthetic Monitoring(外形監視)について、利用できる監視方法や設定手順、結果の見方までを解説しました。New Relicには多彩な外形監視機能があります。本記事を参考に、外形監視を気軽に始めていただき、今後のUX改善やパフォーマンス最適化に役立てていただければ幸いです。

SCSKはNew Relicのライセンス販売だけではなく、導入から導入後のサポートまで伴走的に導入支援を実施しています。くわしくは以下をご参照のほどよろしくお願いいたします。

著者について

New Relicのセールスエンジニアとして2025年1月から参画。現場で得た知見や日々の学びを活かし、New Relicの価値をより多くの方に届けることを目指しています。後発ながら、わかりやすい記事を皆様に提供できるよう頑張っています。

Masao Inoueをフォローする

クラウドに強いによるエンジニアブログです。

SCSKでは、自社クラウドと3大メガクラウドの強みを活かし、ハイブリッドクラウド/マルチクラウドのソリューションを展開しています。業界の深い理解をもとに、お客様の業務要件に最適なアーキテクチャをご提案いたします。サービスサイトでは、お客様のDX推進をワンストップで支援するサービスの詳細や導入事例を紹介しています。

New Relicソリューションプロダクト運用・監視
シェアする
タイトルとURLをコピーしました