【AWS】モニタリングとオブザーバビリティ(可観測性)
モニタリング
システムを運用していく上でそのシステムが正常に動いているかを把握することはとても重要です。
しかし、システムが正常かどうかを判断するにはその根拠となる基準が必要です。
例えばA君が少し肌寒い日に長袖の服を着ているのは一見普通ですが、
彼に毎日会っているB君はA君が年中半袖短パンで過ごすわんぱく少年であることを知っているので、
もしかしたら体調が悪いのかもしれないと気づけます。
システム運用でも同様にメモリ使用率やディスク使用率等の計測情報を可視化することで異常に気付くことが可能になります。
このシステム内において定められた状態を確認し続けることを
「モニタリング(監視)」といいます。
モニタリングによってシステム運用者は問題発生を早期に発見できるようになります。
オブザーバビリティ
モニタリングによってシステム異常に気付くことが可能になりましたが、運用者はその原因を突き止め解決しなければいけません。
原因の調査をするにはシステムへのリクエスト等を含むトランザクションや、システム内部のフロー等まで情報が必要になる場合があります。
このような処理内容と終える情報が「トレース」と呼ばれ、トレースによってシステム全体を俯瞰しつつ状態を深堀りできる状態を「オブザーバビリティ」といいます。
オブザーバビリティの獲得はトラブルの原因特定を迅速にし、対策検討を可能にしますので、運用の効率化を実現できます。
オブザーバビリティ獲得のための3要素
・メトリクス
役割:検知(何が起きているのか)
内容:定量的な計測情報
→例:メモリ使用率、リクエスト数、等……
・トレース
役割:把握(どこで起きているのか)
内容:リクエストのイベント記録
→例:サービス間のリクエスト情報
・ログ
役割:特定(なぜ発生したのか)
内容:定性的なサービスのイベント記録
→例:エラーログ
AWSサービスによるオブザーバビリティの獲得
AWSでログやメトリクス情報を最も簡単に取得・蓄積できるサービスはCloudWatchでしょう。
CloudWatchメトリクスと連携をすることでメトリクスから起動状態やリソース使用状況などもモニタリングが可能になります。
トレースに関しては、X-Rayが利用可能です。
AWS X-Rayは、各サービス間のイベントを記録し視覚的にサービスの稼働状況を表示できます。
トレースを含むビジュアルデータを収集しフィルタリングすることもできます。
以下のAWS公式動画では、オブザーバビリティと実現に必要なサービスについて詳しく説明されています。
後半のスピーカーが変わってからは私もよく分からなかったので前半部分のみでも十分かと思います。
以上、ここまでお読みいただきありがとうございました。