Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20241216_Dojo SyntheticMonitoring w/Instana 101

Tetsuya Kawano
December 16, 2024
84

20241216_Dojo SyntheticMonitoring w/Instana 101

Tetsuya Kawano

December 16, 2024
Tweet

Transcript

  1. 写真撮影 動画撮影 資料公開 SNS拡散 × × ◯ ◯ #IBMDojo #Instana

    セッション受講における注意事項 セッション中に迷惑行為が発覚した場合は、強制退出、セッション中止などの措置を講じます
  2. ©︎2024 IBM Corporation CRN Products Of The Year 2024 受賞!

    【Instana Observability】 6 CRNの Products of The Year 2024 のApplication Performance and Observabilityカテゴリー*において、 弊社InstanaがWinner Overallとして選出されました。FinalistとしてDynatrace、Datadog、New Relic、 Splunk などが選出されている中で、総合TOPとして選出されています。 *2024/12/02付 CRN ”Product Of the Year“ とは? • CRN (Computer Reseller News):The Channel Companyが所有・運営するIT系 メディアのこと。 IT業界のニュース、製品レビュー、市場動向などを提供する。 • Product Of The Year:年に一度、今日のITチャネルにおける主要な IT 製品および サービスを表彰する仕組み。市場における製品価値や影響力を図る重要な指標とさ れている。 • 30の技術カテゴリ(例:Application Performance and Observability、 Networking、Securityほか)において、各カテゴリごとにFinalistとWinner Overallを選出。 • これら製品を実際に顧客に提案するソリューションベンダーが審査を担当。 • 評価基準(=サブカテゴリ)は「技術」「収益と利益」「顧客ニーズ」の3つ。 • 総合スコアが最も高かったもの(=上記3つのサブカテゴリのスコア平均値が最 も高かったもの)が、Winner Overallとして選出。(ソース) https://www.crn.com/news/channel-news/2024/crn-s-2024-products-of-the-year?page=2
  3. Instana既存の アプリ監視 アプリの現在の 挙動を把握 リアルユーザー モニタリング ユーザーが今置か れている状況を 把握 シンセティック

    モニタリング ユーザー操作を模倣、 問題を誰よりも 早く発見 お伝えしたい内容 アプリの挙動とユーザー体験を能動的に把握 • 問題に今よりもいち早く気づく • ユーザ目線で問題を把握 共通基盤を活かした 素早い対応 ユーザーの高評 価につながる!
  4. リアルユーザーモニタリングとは ? バックエンド 画面ロード時間 JSエラー 離脱したページ BFF カート Expres s

    カタロ グ Spring リコメ ンド Flask RUMリアルユーザー モニタリング ⚫ ユーザーのWebブラウズ体験 / モバイルアプリ体験はどうなってる? ユーザー体験を理解できます ✓ RUMはEUM(End User Monitoring/エンド ユーザーモニタリング)とも呼ばれます ✓ サイトはレスポンスよく快適に使われている? ✓ サイトのどこかに問題は出ていない? ✓ どこかのモバイル端末に問題は出ていない? ユーザーが今置かれている 状況を理解することができま す! ブラウザ
  5. シンセティックモニタリングとは ? バックエンド 画面ロード時間 JSエラー 離脱したページ BFF カート Expres s

    カタロ グ Spring リコメ ンド Flask RUMリアルユーザー モニタリング PoP • ブラウザテスト • APIテスト • HTTPテスト シンセティック モニタリング 合成監視 (外形監視) システムの「外」からも監視する PoP(Point of Presence) …テスト実行環境 ⚫ ユーザーのWebブラウズ体験 / モバイルアプリ体験はどうなってる? ✓ ユーザー操作を真似してシステムの挙動を確認 ✓ もし問題があるなら、誰よりも早く発見できる ブラウザ
  6. HTTP テスト API テスト ブラウザ テスト REST API スクリプトによる サービスの状況の

    監視機能提供 HTTPリクエスト送信による URLの死活状況の 監視機能提供 エンドユーザ体験のシナリオを シミュレーション 継続的に検証 シンセティックモニタリングの種類
  7. HTTPテスト・APIテスト HTTPテスト APIテスト • URI (REST APIなど)に対して、PoPから GETリクエストを送ります。 • レスポンスのHTTPステータスコードで状況

    を判定します。 • JavaScriptベースのシナリオを実行して監視を行 います。 • ヘッダーに認証トークンを追加するなど、リクエ ストは柔軟に設定可能です。 • レスポンスはヘッダーやボディの中身が想定した 結果となっているかどうかをテスト可能です。
  8. Selenium IDEスクリプト ブラウザ・テスト ブラウザースクリプト Node.js ベースのスクリプトをごりごり書いていく。 複数テストケースを別ファイルでまとめた大作の場合でも、 バンドル・スクリプトとして使用できる。 Seleniumベースの APIに加え、30以上の拡張ブラウザAPIを

    利用可能。 ブラウザ操作を記録・再現できるSelenium IDEを 利用してスクリプトを作成。操作記録をファイルで エクスポートし、Instanaで登録するだけ。 FirefoxとChromeの拡張機能として使える。 let hover = async (message, by, timeout = 6000) => { await console.log(`Hover on ${message} >> ${by} << `); try { const elmt = await $browser.waitForAndFindElement(by, timeout); const out = $browser.actions().move({origin: elmt, duration: 20}).perform(); return out; } catch (err) { console.error(`\ncatch(hover): ${err.message}`); await $browser.takeScreenshot(); throw err;} } (async function () { console.log(">>>>>>>", "Access My page"); await $browser.get("http://mypage-testapp.com"); console.log(">>>>>>>>>>>>>>>>>>>", "Actions of search"); await hover("search image", $driver.By.xpath("//img[@id='sbi_b']")); await $browser.sleep(3000); await $browser.actions().sendKeys("synthetic").perform(); await click("search button", $driver.By.xpath("//label[@id='search_icon']")) } )();
  9. Instana既存の アプリ監視 アプリの現在の挙動 を把握 リアルユーザー モニタリング ユーザーが今置かれ ている状況を把握 シンセティック モニタリング

    ユーザー操作を模倣 し、問題を誰より も早く発見 まとめ アプリの挙動とユーザー体験を能動的に把握 • 問題に今よりもいち早く気づく • ユーザ目線で問題を把握 共通基盤を活かした 素早い対応 ユーザーの高評価 につながる!
  10. シンセティックモニタリングとは ? バックエンド 画面ロード時間 JSエラー 離脱したページ BFF カート Expres s

    カタロ グ Spring リコメ ンド Flask RUMリアルユーザー モニタリング PoP • ブラウザテスト • APIテスト • HTTPテスト シンセティック モニタリング 合成監視 (外形監視) システムの「外」からも監視する PoP(Point of Presence) …テスト実行環境 ⚫ ユーザーのWebブラウズ体験 / モバイルアプリ体験はどうなってる? ✓ ユーザー操作を真似してシステムの挙動を確認 ✓ もし問題があるなら、誰よりも早く発見できる ブラウザ
  11. シンセティックモニタリングの種類使い分け ✓ HTTPテスト、APIテスト モニタリング タスクの自動化、CI/CDパイプラインへのモニタリングの統合など、監 視ツールとプログラム的に対話するために使用 ⚫ ウェブサイトの可用性を監視⇨HTTPテスト ⚫ アプリケーションの

    API を監視⇨APIテスト ✓ ブラウザテスト ユーザー操作を真似し、ユーザーの観点から Web アプリケーションのパ フォーマンスと機能を監視するために使用 ⚫ Web ページの HTTP エラーチェック⇨ブラウザ スクリプト テスト ⚫ Web ページに対するユーザーの操作を模倣したい⇨ Selenium IDEスク リプトテスト
  12. プレゼンスポイント Point of Presence (PoP) シンセティックモニタリングの対象を監視するためのテスト実行環境 NW性能と可用性のシミュレーションと監視を容易にするために、敢えてInstana バックエンドとは別の環境として用意 Self-Hosted いわゆるオンプレ型、自身でKubernetes

    環境を用意 Instana Hosted Instanaサービスへの有料アドオンとし てサービス提供 金額等はInstana担当営業にご確認ください ※) Self-Hosted を導入するためのリソースは以下参照 https://www.ibm.com/docs/ja/instana-observability/current?topic=pop-capacity-planning-scaling 最低限 CPU: 6Core, Mem: 4.8GB
  13. backend 環境 Instana Standard Edition OpenShift 仮想マシン(RHEL8 + K3s) Instana

    PoP 監視対象アプリ Robot Shop Instana Agent (+Autotrace Webhook) 監視 報告 報告 Instana UI 16Core 64GB 2TB