クラウドネイティブなシステムでは、システムの状態を可視化し、問題発生時に迅速に原因を特定・対応できることが重要です。そのために必要となるのが「オブザーバビリティ(可観測性)」(Observability=O11y)です。オブザーバビリティは、システムの内部状態を外部から観測できる能力を指し、モニタリングやログ、トレースなどを組み合わせて実現します。
オブザーバビリティは、システムの「見える化」を通じて、障害の早期発見やパフォーマンスの最適化、セキュリティインシデントの検知などを可能にします。従来のモニタリングは主にメトリクス(CPU使用率やメモリ使用量など)に着目していましたが、オブザーバビリティはさらにログや分散トレースも活用し、システム全体の挙動を多角的に把握します。
- メトリクス: システムやアプリケーションの定量的な指標(例: CPU使用率、リクエスト数)
- ログ: イベントやエラーなどの記録
- トレース: 分散システムにおけるリクエストの流れを追跡
- Prometheus: メトリクス収集・監視
- Grafana: ダッシュボードによる可視化
- Loki: ログ集約
- Jaeger, OpenTelemetry: 分散トレーシング
- Amazon CloudWatch: AWSの統合監視サービス
自身のGitHubアカウントに作成したcloudnative-practiceリポジトリにIssueを作成します。issueを作成するスクリプトを用意しているためそれを使います。
-
まずはリポジトリのルートから以下コマンドで
scriptsディレクトリに移動cd scripts -
環境変数に値を設定
export GITHUB_TOKEN={あなたのGitHubのPAT} export GITHUB_REPO={あなたのGitHubアカウント名}/cloudnative-practice
-
スクリプト実行
python create_issues.py o11y
自身のGitHubアカウントのcloudnative-practiceリポジトリを開き、Issuesタブにオブザーバビリティのラベルがついたissueが作成されていることを確認してください。
以下タイトルのissueを対応してください。issueを対応する流れはこちらを参照してください。コーディングルールはこちらを参照してください。もし詰まってしまった場合、exampleディレクトリにサンプルコードを用意していますので参考にしてください。
- EKSアドオン Amazon CloudWatch Observability EKS アドオンを追加
- レプリカ数のメトリクス監視を設定する
- メッセージに基づくアラートを設定する