ライブを維持する必要のあるアプリケーションがありますか?Syntheticモニタリングは、イシューが顧客に影響を与える前にそれらを積極的に把握して解決する上で役立ちます。インストールは一切必要ありません。
ページ読み込みパフォーマンスの確認
当社のシンプルなブラウザモニターを使用すると、ページ全体の読み込みなど、1ページの可用性とパフォーマンスを確認できます。
New Relicアカウントにサインインします。
New Relicアカウントにサインインしたら、one.newrelic.com > Synthetic monitoring > Create a monitorに移動します。Page load performanceタイルを選択します。
URLにペーストする
テストしたいページのURLをクリックしながら移動し、URLフィールドにドロップします。最良の結果を得るには、以下をお勧めします。
- モニターのデプロイ元となる場所を少なくとも3つ選択します。これにより、確認における誤検知を回避できます。
- ChromeとFirefoxを組み合わせて、複数のブラウザタイプを使用します。
- Periodドロップダウンを使用して、確認期間を調整します。お客様に応じてテストする頻度を決めてください。
データを表示する
モニターがレポートを開始すると、Synthetics Summary pageでデータを確認できます。one.newrelic.com > Synthetic monitoring > (Select a monitor) > (View your Summary page)の順に移動します。
コードレス監視でシンプルなユーザーワークフローを模倣
一般的なユーザーワークフローを実行するコードレスステップモニターを構築できます。これは、異なるページ間の移動、ページ要素のテスト、テキストのテキストフィールドへの入力や送信など、アプリ全体の単純な動作を模倣したい場合に適しています。
New Relicアカウントにサインインします。
New Relicアカウントにサインインしたら、one.newrelic.com > Synthetic monitoring > Create a monitorに移動します。User step executionタイルを選択します。
ステップモニターの作成
モニターに名前を付け、モニターがワークフローを実行する頻度を選択し、使用可能なブラウザとエミュレートされたデバイスの種類を選択してから、モニターのデプロイ元を選択します。
one.newrelic.com > Synthetic monitoring > Create a monitorに移動し、次にUser step executionを選択します。
ステップの定義
あらかじめ用意された12のステップから選択して、組み合わせることができます。モニターは、ボタンをクリックすると別のページに移動するなどの単純なものにすることも、次のようなジャーニーをテストすることもできます。
顧客がウェブアプリにアクセスする
メールをページモーダルに入力する
ドロップダウンから選択し、別のページに移動する
このページで何か(購入するアイテムなど)を選択する
安全な認証情報をフォームに入力してそのアイテムを購入し、それらのフォームを送信する
構築する内容にかかわらず、モニターを保存する前に必ずValidateをクリックしてください。検証では、組み合わせたステップが正常に実行されることを確認します。
データを表示する
モニターがレポートを開始すると、Synthetics Summary pageでデータを確認できます。one.newrelic.com > Synthetic monitoring > (Select a monitor) > (View your Summary page)の順に移動します。
スクリプト化された監視を使用したサイトの動作確認
スクリプト化されたブラウザモニターは、ウェブサイトの動作確認ができる柔軟なモニタータイプです。スクリプトを使用すると、スクリプト化した条件に応じて、サイト全体で異なるパスを選択して、顧客のようにウェブアプリに応答するモニターをデプロイできます。
以下では、ステップモニターの代わりにスクリプト化ブラウザモニターを作成するよう選択できます。
- カスタムタイムアウト値の定義
- ステップビルダーで提供対象外のアクションを実行するスクリプトの作成
- 条件が満たされた場合にモニターパスを変更する条件の設定
//Visit `http://telco.nrdemo.com/`$webDriver.get("http://telco.nrdemo.com/");
$webdriver.get()
モニターを監視対象ドメインに送信
$webDriver.get("http://telco.nrdemo.com/").then(function(){//Find a link with display text that matches `About` return $webDriver.findElement($selenium.By.linkText("About")).click();//Click the link that matches `About`}).then(function(){ return $webDriver.findElement($selenium.By.partialLinkText("Home")).click();});
モニターがURLに移動すると、$webDriver.findElement()
は定義された要素を見つけ、アクション(この場合はclick()
)を実装します。アクションが完了すると、モニターは同じロジックを使用してホームページに戻ります。
async function waitForAndFindElement(locator, timeout){const element = await $webDriver.wait($selenium.until.elementLocated(locator), timeout, 'Timed-out waiting for element to be located using: '+locator);await $webDriver.wait($selenium.until.elementIsVisible(element), timeout, 'Timed-out waiting for element to be visible using ${element}');return await $webDriver.findElement(locator);}
await $webDriver.get("http://telco.nrdemo.com/")
await $webDriver.findElement($selenium.By.id("supportDropDown")).click();
//Wait up to 20000 seconds for the FAQ page to appearlet aboutPage = await waitForAndFindElement($selenium.By.id("supportFAQLink"), 20000)await aboutPage.click();
スクリプト化されたブラウザモニターは、指定された時間待機してから、エラーを報告します。一部の画像や動的要素の生成には時間がかかるため、$webDriver.waitForandFindElement()
にパラメーターを指定できます。このスニペットでは、モニターにより"supportFAQLink"
が検出され、20000
秒待ってからエラーが報告されます。
$webDriver.get("http://example.com/login.jsp").then(function(){ return $webDriver.findElement($selenium.By.name("username")).sendKeys($secure.SECURE_USERNAME);}).then(function(){//Find the password field by specifying its name, then submits a secured password. return $webDriver.findElement($selenium.By.name("password")).sendKeys($secure.SECURE_PASSWORD);}).then(function(){//Find and click the login button. return $webDriver.findElement($selenium.By.xpath("//inp[@value='Login']")).click();});
ログイン情報を必要とする要素もテストできます。スクリプトに固有の資格情報を作成することをお勧めします。
one.newrelic.com > Synthetic monitoring > Create a monitorに移動し、スクリプト化ブラウザの場合はUser flow/functionalityを選択します。
次のステップ
最初のモニターセットの作成が終わったので、その他の機能について確認しましょう。以下のドキュメントをご確認いただくことをお勧めします。
- Syntheticモニターのアラートを設定してチェック失敗時に通知を受け取るようにする
- すべてがどう機能するか気になりますか?Syntheticモニターの概要を見る