第3回まで無料

監視とオブザーバビリティ入門コース

症状と原因の切り分けから、構造化ログ・Prometheus のメトリクス・Grafana のダッシュボード・Alertmanager の通知・OpenTelemetry の分散トレース・SLO とエラーバジェットまで。全30レッスンで「自分のサービスの異常に、利用者より先に気づける」ところまで進みます。Prometheus・Grafana・Alertmanager・OpenTelemetry はすべて手元で実際に動かし、出力は実測したものを載せています。

カリキュラム

全30レッスンを6つの章に分けています。第1章から順に進めるのがおすすめですが、 気になるところだけ拾い読みしてもかまいません。 ※ コマンドはブラウザ内で実行できないため、Prometheus・Grafana・OpenTelemetry を入れた手元の環境で試してください。サンプルのアプリは Python の標準ライブラリだけで動きます。ドメインやホスト名は例示用の値(shop.example.com など)に置き換えてあります。

Chapter 1 — 何が起きたら知りたいのか(第1〜4回)

監視は道具の話の前に、何を知りたいのかの話です。症状と原因を分け、測るべき4つの信号を決め、人を起こす条件を先に決めます。

Chapter 2 — ログ(第5〜11回)

まずログを、あとから検索できる形にします。構造化して、レベルを決めて、個人情報を落とし、trace_id でリクエスト1本を追えるところまで進みます。

5

構造化ログ:あとから検索できる形で出す

print と文字列のログは検索できない。logging の Formatter を差し替えて JSON で出し、機械が読める形に変える。

🔒 ベーシック
6

ログレベルの設計

DEBUG・INFO・WARNING・ERROR をどう使い分けるか。ERROR は人が見るもの、という基準で決める。本番の既定レベルと、一時的に上げる運用まで。

🔒 ベーシック
7

個人情報をログに残さない

ログは複製されて長く残る。メール・カード番号・トークンを出す前に潰す。マスクの実装と、そもそも渡さない設計。

🔒 ベーシック
8

ログの収集と保管

アプリは標準出力に出すだけにして、集めるのは外に任せる。サイズで回す・期間で消すの実測と、保存期間の見積もり。

🔒 ベーシック
9

ログを検索する

grep と jq で 3000 行を絞り込む。件数を数える・条件で絞る・1本を読む。構造化しておいたから、どれも1行でできる。

🔒 ベーシック
10

リクエスト1本をひもづける

1リクエストが複数行のログになる。共通の trace_id を全行に入れて、時間で散らばった行を1本に束ねる。

🔒 ベーシック
11

ログから異常に気づく

ログを見るのではなく、ログから数を作る。エラー率の集計、多すぎるログの間引き、コストが壊れる前の歯止め。

🔒 ベーシック

Chapter 3 — メトリクス(第12〜18回)

数を時系列で持つと、傾向と異常が見えます。自分で /metrics を書き、Prometheus に取りに来させ、PromQL で遅延とエラー率を出せるようにします。

Chapter 4 — 可視化とアラート(第19〜23回)

数字を人が見る形にして、見ていないときは通知で呼び出します。Grafana のダッシュボードと、Alertmanager の通知先・グループ化・沈黙までを作ります。

Chapter 5 — 分散トレース(第24〜27回)

1本のリクエストが、どこで何ミリ秒使ったのかを見ます。OpenTelemetry でスパンを出し、サービスをまたいでつなぎ、遅い経路を名指しできるようにします。

Chapter 6 — 続ける(第28〜30回)

監視は作って終わりではありません。SLO とエラーバジェットで「直すか、進むか」の基準を決め、オンコールと振り返りで回し続ける形にします。

全30レッスンを終えたら、次は push からデプロイまでを自動にする GitHub Actions や、サーバーそのものをコードで用意する Terraform へ。デプロイの土台に不安が残るなら サービス公開と運用 に戻ってください。メンバーシップで全コースが解放されます。