2024.12.10
“放置系”なのにサイバー攻撃を監視・検知、「統合ログ管理ツール」とは 最先端のログ管理体制を実現する方法
リンクをコピー
記事をブックマーク
吉澤巧氏(以下、吉澤):ここまでで、ダッシュボードの使い方やその種類なんかはなんとなく伝わったのかなと思っています。一方で、良質なダッシュボードを設計するには、表現に一貫性を持たせることが大切であるとAmazonは考えています。
なぜなら、例えば新しいメンバーがそのチームに入ってきたという時に、ダッシュボードを素早く使いこなしてもらって、そのサービスの仕組みについて学習スピードを上げてほしいからです。
そのために、Amazonではダッシュボードのレイアウトについて、標準化したレイアウトを作成しています。標準化したレイアウト、つまりAmazonが培ってきたベストプラクティスがこの記事(The Amazon Builders' Libraryの「運用を可視化するためのダッシュボードの構築」)に紹介されており、今回はその一部について紹介できたらと思います。もし興味があれば原文、日本語訳もあるので、併せて確認してもらえると幸いです。
まずは1つ目ですね。「最重要なデータを一番上に配置する」ということで、ダッシュボードはブラウザなどで読み込むケースが多いと思いますが、その時に、ダッシュボードのウィジェット、一つひとつのコンポーネントについては上から描画されていくことが多いと思います。
一方で、ユーザーははじめに出てきたものを大切と判断する傾向があります。だからこそ、上のほうに最重要なデータを持ってきます。このデータとレイテンシーや可用性、リクエスト数といった情報のすべてのAPIに関する情報について、これらを配置しています。
2つ目です。「グラフのレイアウトは想定できる最小のディスプレイサイズに合わせます」ということで、こちらは日本語の原文と少し変更したのですが、要はこのチームのメンバーの中で一番小さいモニターを使う人にダッシュボードのサイズを合わせましょうというお話です。
この小さいディスプレイの人に合わせることで何がうれしいのか。それは、横スクロールが不要になることが挙げられています。なぜ横スクロールをなくしたいのか。少し想像してみてほしいのですが、もし朝3時にアラートが鳴ってたたき起こされたという時に、このダッシュボードの横スクロールに気付けますか。恐らくほとんどの社員が気付けなかったという経験から、このようなベストプラクティスが策定されたんじゃないかなと思っています。
3つ目ですね。「アラートを設定する際は、グラフに閾値を表示する」というもので、例えば「レイテンシーがこの値を超えたらまずいというアラートを設定している場合は、その閾値を水平線でグラフで表示してあげましょう」というものです。
ただ、この静的な閾値を設定できないという場合は、よくマシンラーニングを使った異常検知を使っている場合も多いと思います。ML(Amazon ML)の検知を使う場合も同様で、可能な限りグラフに数字、測定したメトリクスに合わせて正常範囲を合わせてプロットしてあげることが推奨されています。
幸いにもAWSが提供するモニタリングツール、Amazon CloudWatchにはMLを使った異常検知機能と、正常範囲を描画するような機能が備わっています。
4つ目ですね。「各メトリクス、もしくはウィジェットの真の意味をユーザーが理解していることを前提にしない」と。ちょっと仰々しい格好いい文章かなと思っていますが、こちらを一言でまとめると、グラフの横や下に説明文を追加しましょうというものになっています。
このようなテキストを読むことによって、オペレーターはメトリクスの意味を理解できます。それによって運用メンバーは正常な状態がどのように見えるのか、そしてグラフが正常じゃない場合はどのような意味を持つのかを解釈できるようになります。
これによって、誰がこのダッシュボードを見たとしても同じような解釈をすることが可能になります。また、この状態の説明に加えて複数のリンクですね。例えば詳細検証を行う際のダッシュボードのリンク、もしくは復旧を行うための手順書のリンク、もしくはデプロイをロールバックするためのデプロイパイプラインへのリンクなどが併せて用意されています。
5つ目ですね。「システムの特性に応じて、状況に応じた複数のウィジェットを用意する」ということで、こちらは少し難しいので今回この発表で補足できたらなと思っています。
(スライドを示して)具体例をベースに話していくのが一番わかりやすいかなと思っていますが、例えばこの画像を見ると、API全体の可用性を表示するだけではなくて、Get、Put、それぞれについて可用性のウィジェットを追加しています。
このようにシステムの特徴に応じて状況を場合分けしてあげて、ウィジェットをそれぞれの場合ごとに用意してあげることによって、なにかあった時、障害があった時に原因を切り出しやすくなります。
他の例としては、リクエストサイズごとに場合分けをしてあげたり、もしくは入力パラメーターごとにこの場合分けをしてあげるといった例が書かれていました。
最後に、ダッシュボードは作成した後も保守を続けていく必要があるというお話をしていきたいと思います。ダッシュボードを作ったはいいけれど、そのダッシュボードがいつの間にか時代遅れになってしまっていたということを避けるために行います。そのために、Amazonでは開発者が自分自身でこのダッシュボードをアップデートしていくプロセスが備わっています。
まず、デプロイしていくため、改善していくための実践方法がブログで2つ紹介されていました。1つ目が新しい機能をデプロイする前です。こちらは新機能をデプロイする際のコードレビューの時点で、「ダッシュボードになんらかの変更はありますか」といった質問をします。これによって基盤レベルで変更がデプロイされる前に、ダッシュボードに修正が走るような仕組み。これが開発プロセスに組み込まれています。
なので、デプロイをした後に「この機能が足りなかった」「このダッシュボードが足りなかった」「だから障害に気付けなかった」といった混乱を避けることが可能になります。
この実践方法には2つのポイントがあって、1つ目にステージング環境、テスト環境にも同様のダッシュボードを用意するということです。これによって、テスト環境でもダッシュボードを使った変更点の検証が可能になります。
また、同様のレイヤーと複数の環境に用意してあげるために、IaC、Infrastructure as Code、要はこのダッシュボードのレイアウトをコード、例えばJSONなどで定義してあげることを行なっています。これによって複数の環境に同じダッシュボードをデプロイすることが簡単になるほか、ダッシュボードのレイアウトをリポジトリ、バージョン管理システムで管理することが可能になります。
2つ目の実践方法です。これは障害が発生した後のふりかえり、デブリーフにおいてです。デブリーフというのは、もちろん個人を責めるために行うものではありません。将来似た障害を発生させないために行うものです。経験から学んで、それをチームと共有するために行うものとなっています。
詳しくは同じくThe Amazon Builders' Libraryに「Amazon's approach to falling successfully」という動画があるので、こちらも併せて確認してください。
ここでもダッシュボードをふりかえっています。具体的には3つの質問ですね。ダッシュボードはお客さまへの影響を明確にしたのか、障害原因を明確にしたのか、修復時間を短くしたのかといった質問をしています。
デブリーフにおいて、この3つの質問に1つでもノーとなった場合は、このダッシュボードを改善する。みんなでダッシュボードを変えていくようなアクションを実施します。この2つのプロセスのように、Amazonではダッシュボードを常に改善するようなプロセスが備わっています。
ということで、本日のまとめに移りたいと思います。Amazonでは24時間液晶を見ているような属人的な監視をしているわけではなく、アラートを活用しています。そしてアラートが鳴った際は利用者・目的に応じた複数枚のダッシュボードを使い分けるような運用をしています。
また、Amazonでは誰でも見てわかるように、標準化されたダッシュボードのレイアウトというものを用意していて、そのベストプラクティスとしてこのような記事で公開しています。
また、ダッシュボードは一度作ったら終わりではなくて、常に開発者が自分自身で改良していくようなプロセスをAmazonでは用意しています。
ということで、本日の発表は以上になります。ご清聴ありがとうございました。
関連タグ:
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
2024.12.09
10点満点中7点の部下に言うべきこと 部下を育成できない上司の特徴トップ5
2024.12.09
国内の有名ホテルでは、マグロ丼がなんと1杯「24,000円」 「良いものをより安く」を追いすぎた日本にとって値上げが重要な理由
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.12.10
職場であえて「不機嫌」を出したほうがいいタイプ NOと言えない人のための人間関係をラクにするヒント
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.06
嫌いな相手の行動が気になって仕方ない… 臨床心理士が教える、人間関係のストレスを軽くする知恵
PR | 2024.11.26
なぜ電話営業はなくならない?その要因は「属人化」 通話内容をデータ化するZoomのクラウドサービス活用術
2024.12.11
大企業への転職前に感じた、「なんか違うかも」の違和感の正体 「親が喜ぶ」「モテそう」ではない、自分の判断基準を持つカギ
PR | 2024.11.22
「闇雲なAI導入」から脱却せよ Zoom・パーソル・THE GUILD幹部が語る、従業員と顧客体験を高めるAI戦略の要諦