
New RelicのSyntheticで外形監視してみた
おはようございます( ◜◡◝ )
ゲームソリューション部/業務効率化ソリューション部の きだぱん です。
今回はNew Relic Synthetic Monitoringを試していきたいと思います。
New Relicについて
New Relic は、オンプレミスやクラウドを問わず、あらゆるシステムメトリクスを収集し、ボトルネックの特定や障害対応を高速化します。
アプリやインフラの性能、ユーザー側のレスポンスまでリアルタイムで一元的にモニタリング可能で、顧客体験の向上、クラウドコストの削減、デジタルビジネスの成功に不可欠なすべてのエンジニアリングプロジェクトをサポートしてくれる製品です。
外形監視について
New Relic は、New Relic APM や New Relic Infrastructure のエージェントを利用してシステムを内部から監視するだけでなく、システムに対して実際に外部からアクセスして稼働状況を確認する「外形監視」も可能です。
そもそも、外形監視が必要な理由についても少しだけ触れておきます。
外形監視が必要な理由は、システム全体の問題を網羅的に監視するためです。
サーバー側が正常に動作していても、CDN(コンテンツデリバリーネットワーク)や DNS(ドメインネームシステム)などの外部要因によって、エンドユーザーがサービスを利用できない場合、内部の監視だけではその問題を検出することができません。
ユーザーのアクセスと同じ状況をシミュレーションし、確認を行う外形監視があってこそ、初めて問題を検知することができます。
エンドユーザーからの問い合わせで問題が発覚する前に、サービスの異常に気づくことができるのが、外形監視の最も重要な役割です。
この外形監視を行うサービスが New Relic では、New Relic Synthetic Monitoring(以下、Synthetic) です。
Synthetic では、以下のような監視処理を実行できます(New Relic Docs より)。
- Webサービスの死活監視
- 世界中からのアクセス速度測定
- クリティカルユーザージャーニーを確認するシナリオ監視
- APIエンドポイントの応答監視
- SSL証明書の期限監視
- リンク切れのチェック
設定してみる
各設定を見ていきましょう。
New Relic にログインし、Synthetic Monitoring → Create a monitor を選択します。
以下のような画面が表示されるので、監視対象の URL を入力します。
- モニター名(Name):任意の名前
- モニターの有効化:「Monitor enabled」にチェックを入れます
- URL:
監視対象のURL
- この URL に対して定期的に監視が行われます。
- 選択されたブラウザ:Chrome
- モニターは Chrome ブラウザを使用してページをチェックします。
- ※今回は Chrome のみを使用しています。
- Desktop (1366 x 768) が選択されています。
- デスクトップ表示としてページをレンダリング・監視します。
- 監視の頻度:1日ごと(1 day)
- 1日に1回の頻度で実行されます。
- タグ:今回は設定していませんが、
key:value
形式で追加可能です。
次に、ロケーションを選択します。
モニタリングを行いたいロケーションにチェックを入れることで、世界中の様々な場所から監視を実施することが可能です。
今回は東京にのみチェックを入れています。
※インターネット経由ではアクセスできないイントラネット内の社内サービスに対しては、プライベートロケーションを利用して監視を行うことができます。
監視結果を確認してみる
Summary
New Relic の Synthetic Monitoring を選択すると、モニターの Summary(サマリー)画面 が表示されます。
ここでは、設定したモニターの実行結果やパフォーマンス指標が確認できます。
項目 | 内容 |
---|---|
実行結果 | 100% 成功(過去30日) |
実行回数 | 2回(失敗なし) |
実行ロケーション | 東京(Tokyo, JP) |
パフォーマンス | First Byte: 21ms、Page Load: 3.56s |
外部リクエスト先 | Google系、DoubleClick、Hubspot など |
最終更新内容 | Validation String の追加・変更 |
-
Performance timings(左下グラフ)
→ ページの読み込み速度に関する詳細なタイミング情報が表示されます。 -
Total requests by domain(右下グラフ)
→ 外部リソースの読み込み状況を確認できます。 -
Run check ボタン
→ 手動でモニターを即時実行することができます。
個別の実行結果
次に、Synthetic Monitoring の「Results」画面から、個別の実行結果詳細を確認していきます。
任意のタイムスタンプを選択すると、個別の結果へアクセスできます。
モニター実行の基本情報が表示されています(上部)
項目 | 内容 |
---|---|
日時 | April 28, 2025 at 4:59:05 PM(Tokyo, JP) |
結果 | Success(成功) |
エラーリソース数 | 23(エラーが発生したリソース数) |
実行時間 | 7.22 秒(Execution Duration) |
ブラウザ | Chrome |
デバイス | Desktop(デスクトップ表示) |
ページロード時に発生した 各リソースの読み込み時間・順序 を視覚化しています(下部)。
- 表示されているリソース例:
- HTML:
https://classmethod.jp/
- JavaScript:
googletagmanager.com
,googleapis.com
,ajax.googleapis.com
など - CSS:
fonts.googleapis.com
,typekit.net
,classmethod.jp/wp-content/...
など
- HTML:
- ステータスコード:すべて
200 OK
(成功) - サイズ:各リソースの転送量(例:337kB、276kB など)
Resources
Synthetic Monitoring > Resources では、モニタリングによって取得された各リソースの読み込み時間や、外部サービス(サードパーティ)にかかる時間などを可視化しています。
-
左側の各行は、特定のリソースの読み込み時間を示しています。
Sort by: Average download time
により、平均ダウンロード時間が長い順に並べ替えられています。- パフォーマンスのボトルネックになっているリソースを特定するのに有効です。
-
Resources Load Time
- 各種リソース(フォント、画像、HTML、CSS、JS など)の読み込み時間の合計を時系列で表示します。
- ピーク時間帯(例:15:00、17:00)にリソース読み込み時間が増加していることが確認できます。
- 色分けでリソースの種類が区別可能です。
-
Time Spent by Third Parties
- 外部ドメイン(サードパーティ)ごとに、読み込みにかかった時間を表示します。
gstatic.com
,typekit.net
,googletagmanager.com
,twitter.com
などが含まれています。- サードパーティの影響度を確認することで、外部依存によるパフォーマンス劣化の分析が可能です。
Diagnose
Synthetic Monitoring > Diagnose では、Golden Signals を通じて、ユーザー体験やシステムの健全性を分析し、問題の兆候を早期に発見できます。
- Synthetic Monitoring の中で、異常の診断や原因分析を行います。
- Median Duration (s)
- 合成モニターでの実行時間の中央値(50%ライン)を秒単位で表示します。
- 青いスパイクが見られ、特定の時間帯(例:15:30、17:00頃)にレスポンスタイムが急激に増加していることが分かります。
- これは一時的な遅延、外部サービスの応答遅延、またはネットワークの問題などが原因である可能性があります。
- Failures
- リクエスト失敗数を表示します。
- 今回のダッシュボードでは、**失敗は発生していない(値は常に0)**ことが確認できます。
おわりに
以上が、New Relic Synthetic Monitoring の基本的な設定と監視結果でした。
外形監視を活用することで、ユーザー視点でのサービス品質を可視化し、障害の早期発見・対応が可能になります。
ぜひ導入を検討してみてください!
New Relicに関するブログも沢山展開されていますので、是非こちらもご覧ください。
この記事がどなたかのお役に立てば幸いです。以上、きだぱんでした!