Gadget 18:監視とアラート
メトリクス・監視項目チェックリスト・通知すべき閾値とルール
監視とアラート
「気づいたら止まっていた、気づいたら容量が…」を防ぐ監視と通知です。
目的
- 監視すべき対象を漏れなく定義する
- 閾値と通知を「運用可能な」形に設定する
前提条件
- ヘルスチェックの小さなもの(17-startup-and-healthchecks)
- 通知手段(Slack / e-mail / Webhook)
監視項目チェックリスト
| 対象 | 指標 | 閾値(例) |
|---|---|---|
| プロセス生存 | pgrep -f run-local |
非生存 NG |
| HTTP 疎通 | curl -s http://localhost:8787 |
非 200 NG |
| 応答時間 | curl -w %{time_total} |
> 10 秒 NG |
| CPU | top | > 80% 継続で WARN |
| メモリ | free | < 10% で WARN |
ディスク(.wrangler 配下) |
du | > 80% で WARN |
| 証明書期限 | openssl ... -enddate |
< 30 日で WARN(13) |
| ログの新規エラー | ログ grep | 新規エラー > N で ALERT |
手順
- 監視スクリプトを作る
#!/bin/bash
# cfos-monitor.sh
if ! curl -sf http://localhost:8787 >/dev/null; then
echo "cfos down at $(date)" | tee /tmp/cfos-alert.log
# → Slack / Webhook に通知
fi- cron で定期実行
*/2 * * * * /usr/local/bin/cfos-monitor.sh
- 通知先を決めてテスト(Slack Webhook / Mail など)
アラートルール例
| レベル | 対象 | 動作 |
|---|---|---|
| WARN | CPU/メモリ/ディスク 高利用率 | メッセージのみ(1日1回に間引き) |
| WARN | 証明書期限 30 日以内 | 1 週間毎リマインド |
| ALERT | プロセス/HTTP NG | 即時通知 + 自動復旧(17) |
| ALERT | ログ新規エラー | 即時通知、重複は抑止(digest 化) |
Warning通知疲れを防ぐ
「点いてないサイレン」は運用が死にます。WARN は間引き、 ALERT だけは即時、を守りましょう。
よくある失敗
| 症状 | 原因 | 対処 |
|---|---|---|
| 通知が飛びすぎる | 閾値・間引きが無い | ALERT/WARN を分けて施行 |
| 通知が来ない | cron 未登録・パス違い | 手動実行で一度確認 |
| 監視が止まっている | 監視自体のプロセスが死んでる | 監視も二重化・ログ確認 |
| ディスクが知らない間に溢れる | ディスク未監視 | チェックリストに追加 |
確認
次に読む
- 障害が起きたら → 19-incident-playbook
- ヘルスチェック → 17-startup-and-healthchecks
- リソース見積り → 15-resource-sizing