SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2021夏】セッションレポート(AD)

DevOpsやマイクロサービスの先に訪れる不安定さには、オブザーバビリティが欠かせない【デブサミ2021夏】

【C-2】DXを支えるオブザーバビリティの重要性

  • X ポスト
  • このエントリーをはてなブックマークに追加

ユーザーがWebサイトで体験した遅延をSplunk Observabilityで調査する

 ここからは実際にオブザーバビリティで使う「Splunk Observability」を見ていく。複数の製品群から構成されており、オブザーバビリティのためのプラットフォームとなっている。

 構成要素には次のようなものがある。APM(アプリケーションパフォーマンス監視)は何が起きているのか把握する。RUM(Real User Monitoring)はエンドユーザーエクスペリエンスを可視化する。Log Observerはログ分析、Infrastructure Monitoringはインフラのメトリクスを収集して可視化、Synthetic Monitoringは死活監視、さらにOn-Callはアラートを適切な担当者にアサインする。単体での利用も可能だ。

Splunk Observability
Splunk Observability

 特徴としては、リアルタイム性、分析力、オープンであること。リアルタイム性は独自のストリーム技術を用いることで、数秒から十数秒で状況を把握できる。SLAの担保やスピーディーな問題解決に役立つ。分析力はサンプリングを必要とせず、環境に関する全てのデータを完全かつ忠実に計測・収集できる。

 必要な時にデータがある状態を確保するため、未知の障害を分析するのに役立つ。オープンであることはベンダーロックインから解放され、データを取得する粒度や場所などを自由にデザインできる。大谷氏は「Splunk Observabilityにはクラウドネイティブ技術によってもたらされるスピードと自由度があります」と強調する。

 ここからECサイトで生じたパフォーマンス劣化を調査するデモに移る。ユーザーが商品をカートに入れて「Place Order」をクリックして注文を確定した時、数秒の遅延が発生した。この時の動きをSplunk Observabilityでどう計測されるか見ていくことにする。

 まずはRUMを開く。ここではコアバイタルズ(ユーザー体験のパフォーマンス計測に重要な項目)が収集されており、問題が生じているメトリクス(例えばリクエスト、エラー、デュレーション)は赤で表示される。見ると、チェックアウト時のページのロード時間が悪化している。あるユーザーが操作した時を見ると、5秒近く待ったケースもあった。

 続いてAPMを開く。エラーと表示されている部分を開くと、外部のペイメントサービスとの接続で401エラーが返されており、5回エラーするもリトライで成功していたことが判明した。外部サービスとの連携ではどちらに問題があるのか判別するのが難しい。次にLog Observerでエラーが生じた時のログを確認すると「Invalid Token」とあった。ここまで分かると、現場では「新しいバージョンのアプリケーションに問題がありそうなので、いったん取り下げよう(元のバージョンに戻そう)」など判断を下すことができる。

 今回は特定のボタンを押した後に生じた遅延だったので、RUMからAPM、そしてLog Observerを開いて原因を探った。問題がありそうな部分は赤く表示されるため、すぐに問題にたどり着くことができる。Splunk Observabilityではほぼリアルタイムで状況を把握できて、オーバーヘッドが少ないことも注目しておきたい。

 最後に大谷氏はケント・ベック氏の言葉「問題というのは、変化が起こること自体ではなく、変化が起こった時にそれに対処できないことです」を挙げ、「問題が起きた時のために備えておきましょう」と呼びかけた。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
【デブサミ2021夏】セッションレポート連載記事一覧

もっと読む

この記事の著者

加山 恵美(カヤマ エミ)

フリーランスライター。茨城大学理学部卒。金融機関のシステム子会社でシステムエンジニアを経験した後にIT系のライターとして独立。エンジニア視点で記事を提供していきたい。EnterpriseZine/DB Onlineの取材・記事や、EnterpriseZine/Security Onlineキュレーターも担当しています。Webサイト:http://emiekayama.net

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/14670 2021/09/17 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング