モニタリングとオブザーバビリティ
「モニタリング」という言葉はよく聞くかと思いますが、「オブザーバビリティ」はまだ耳慣れない方もいるかもしれません。
オブザーバビリティは、日本語では「可観測性」とも呼ばれ、システムで何が起こっているかを把握できる状態を指します。システムを計測して、メトリクス、ログ、トレースなどのテレメトリーデータを収集し、システムの動作を理解し改善を行います。
モニタリングとオブザーバビリティの違い
- モニタリングは、システムが正常に動作しているかを監視し、エラー対応を目的とします
- オブザーバビリティは、システムの計測項目を継続的に増やし、新しいインサイトを得ることで、未知の障害やシステム全体の改善に役立ちます
オブザーバビリティを支える3つの要素
- メトリクス:システム状態を数値で表し、傾向の把握に役立ちます
- ログ:イベント情報をタイムスタンプと共に記録し、システムの解析に使います
- トレース:分散システム内のトランザクションを追跡し、問題箇所を特定します
AWSでは、これらをネイティブにサポートするサービスを提供しています。
- メトリクス:Amazon CloudWatch Metrics
- ログ:Amazon CloudWatch Logs
- トレース:AWS X-Ray
クラウドウォッチの全体像
Amazon CloudWatchは、AWSのオブザーバビリティの中心的なサービスです。CloudWatchでは、以下の機能を活用して監視を行います。
- ダッシュボード:システムのパフォーマンスを視覚化
- アラーム:異常を検知して通知
- ロググループ:ログの管理と分析
- メトリクス:システム状態の傾向を把握
また、Amazon EventBridgeを使用することで、特定のイベントに応じた自動アクションも設定可能です。
オープンソースとの連携
AWSネイティブのサービスを使用するだけでなく、オープンソースツールとも連携が可能です。例えば、Amazon Distro for OpenTelemetryを利用して、CloudWatchやX-Rayにデータを送信することができます。
クラウドウォッチの操作
まずは、AWSのマネジメントコンソールで「CloudWatch」と検索し、左側のメニューから以下の機能にアクセスできます。
- メトリクス:現在のシステム状態を表示
- ロググループ:システムログの管理
- アラーム:異常検知時の通知設定
各機能を使いこなすことで、システムの健全性を保つ監視体制を構築できます。
CloudWatchの活用例
メトリクスの活用方法として、EC2インスタンスの標準メトリクスがあります。デフォルトで5分間隔のデータを取得しますが、詳細モニタリングを有効化することで1分間隔のデータ取得が可能です。
また、メトリクスデータの保持期間にも注意が必要です。短い期間のデータポイントは短期間しか保存されないため、適切な設定が求められます。
まとめ
Amazon CloudWatchを活用することで、AWS上のシステムの可観測性を高め、ビジネス目標の達成にも役立てることが可能です。まずは基本的な使い方を理解し、実際の運用に活かしてみてください。