🐱 うさねこ教室 Python と可観測性の教室

監視から可観測性へ

🐱 この章の目次

従来の監視の限界

監視(Monitoring) は、あらかじめ定義したしきい値を超えたときにアラートを発する仕組みです。 CPU 使用率が 90% を超えたら通知する、のように「既知の障害パターン」には強い一方、未知の問題には対応できません。 『入門監視』が指摘するとおり、チェックボックス監視(とりあえず全部監視する)はノイズを増やすだけのアンチパターンです。

可観測性とは

可観測性(Observability) は、システムの外部出力からその内部状態を推測できる度合いを表します。 監視が「何かがおかしい」と教えてくれるのに対し、可観測性は「なぜおかしいのか」を探索的に調べる力を与えます。 制御工学から借りた概念であり、入力と出力の関係だけで内部状態を再構成できるかがポイントです。

3 本柱の概観

可観測性は MetricsLogsTraces の 3 つのシグナルで成り立ちます。

シグナル得意なこと代表 OSS
Metrics傾向の把握・アラートPrometheus, Grafana
Logs個別イベントの詳細記録Loki, OpenSearch
Tracesリクエスト横断の因果関係Jaeger, Tempo

これらを組み合わせることで「いつ」「どこで」「なぜ」を一貫して追跡できます。

なぜ OSS スタックか

CloudWatch や Datadog はすぐに使えますが、ベンダー固有のクエリ言語やデータ形式に依存します。 本コースでは OpenTelemetry を中心としたポータブルな OSS ソリューションを採用します。 『入門監視』のデザインパターン「コンポーザブルな監視」に従い、各コンポーネントを疎結合に組み合わせる設計を目指します。