0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CloudWatch Synthetics でのユーザー操作を CloudWatch RUM に記録する

Last updated at Posted at 2025-03-16

やりたいこと

CloudWatch Synthetics で定期的な擬似操作を行うことで、エンドユーザーの操作前に問題を見つけることが可能です。しかし、CloudWatch Synthetics のみでは Javascriptのエラーやレイテンシーの悪化など、問題の詳細な情報を拾うことはできません。そのため、CloudWatch Synthetics の操作も CloudWatch RUM に記録したいと考えました。

CloudWatch Synthetics 擬似操作は CloudWatch RUM に記録されない?

実際に CloudWatch RUM を導入し、サーバーで操作を行い、マネジメントコンソールの CloudWatch RUM の画面に情報が記録されることを確認しました。そのため、CloudWatch Synthetics で Canaries を作成しました。その後、CloudWatch RUM を確認しても、自分で操作を行った記録以外、つまり、CloudWatch Synthetics の操作が記録されていないことを確認しました。

CloudWatch Synthetics 擬似操作は CloudWatch RUM に記録する方法

CloudWatch Synthetics は実際のエンドユーザーの操作ではないため、 CloudWatch RUM はCloudWatch Syntheticsの操作を記録しないという情報を入手しました。では、CloudWatch Synthetics の操作を CloudWatch RUM に記録する方法はないのか?と色々検証した結果、CloudWatch Synthetics で利用するヘッドレスブラウザの UserAgent を変更すると記録されることがわかりました。
例えば、下記のように CloudWatch Synthetics Canary の Puppeteer では UserAgent を変更することができます。

let page = await synthetics.getPage(options);
await synthetics.addUserAgent(page, "myuseragent");  <<-- この行

実際に、上記を Canary スクリプトに追加すると以下のように CloudWatch RUM に記録されるようになりました。

スクリーンショット 2025-03-16 18.11.23.png
(ブラウザ Chrome Headless が Synthetics Canary での操作)

まとめ

この記事では CloudWatch Synthetics の擬似ユーザー操作を CloudWatch RUM に記録する方法を説明しました。これにより、CloudWatch Synthetics でのユーザー操作テストで起きた Javascript エラーや読み込み時間などを記録し、問題の早期発見に繋げることができます
なお、この方法はドキュメントには書かれていないため、将来的に利用できなくなる可能性もありますので注意してください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?