自作VPSでClaude Service Monitorを構築した話
2026年4月22日
なぜ作ったのか
TACエンジニアとして日々サービスの障害対応をしている中で、ふと思いました。Claudeのサービス自体を、ユーザー目線で監視するツールがあったら面白いのではないかと。
公式のステータスページは「システム側」の視点です。しかし実際のユーザー体験は、RedditやSNSに投稿される生の声の方が正確に反映されます。
アーキテクチャ
このシステムは2つの独立したパートで構成されています。
更新パイプライン(cronで1時間ごとに実行):
- r/ClaudeAIとr/anthropicの最新投稿をRSSで取得
- キーワードマッチングでローカルフィルタリング(API消費ゼロ)
- 関連投稿のみをClaude Haikuに送信して状態分類
- 結果をJSONファイルに書き出し
Webサーバー(FastAPI + Nginx):
- JSONファイルを読んでHTMLをレンダリング
- ユーザーアクセス時のAPI呼び出しはゼロ
- Let's EncryptによるHTTPS配信
コスト設計
1回のヘルスチェックで約0.06円。1日24回実行しても約1.4円、月額約43円。$5のクレジットで1年以上運用できます。
技術的な判断
Reddit APIではなくRSSを選択: VPSのIPがRedditのJSON APIにブロックされました(403エラー)。しかしRSSフィードは認証不要で取得可能でした。シンプルな方法が正解な場合もあります。
キーワード事前フィルタリング: 50件の投稿を全てClaudeに送るのではなく、ローカルで先にフィルタリング。通常5〜10件に絞り込み、トークン消費を80%削減しています。
キャッシュではなくファイルベース: メモリ内キャッシュではなくJSONファイルへの書き出しを選択。Webサーバーは純粋なI/O処理のみで、APIキーもSDKも外部依存もありません。
技術スタック
- Linux(VPS 2GB)
- Python、FastAPI、Anthropic SDK
- Nginxリバースプロキシ + Let's Encrypt
- systemdによるプロセス管理
- cronによるスケジュール実行
今後の展開
- データソースの追加(Bluesky、Downdetector等)
- 履歴データの蓄積とトレンド表示
- 障害検知時のSlack/メール通知
ライブダッシュボードは こちら で確認できます。