💬 Claude&Claude Code 実践活用術 | 📖 7分

サーバートラブルを自動診断する ― テストパターンの自動試行

サーバートラブルを自動診断する

Claude Codeの強力なBash実行能力を活用して、サーバーの問題を自動的に診断・解決するワークフローを構築できます。

対話モードでのトラブルシュート

エラーメッセージやスタックトレースをClaudeに共有するだけで、根本原因の分析から修正提案まで行います。

> サーバーに接続できなくなった。以下のエラーが出ている:
  Connection refused: 192.168.1.100:3306
  様々な原因を調べて修正してほしい

Claudeは以下のような診断を自動実行します:

  1. ポートの開放確認(netstat/ss)
  2. サービスの起動状態確認
  3. ファイアウォール設定の確認
  4. ログファイルの分析
  5. DNS/ネットワーク設定の確認
  6. 修正パッチの適用

Agent SDKで自動化

# 定期的なヘルスチェックスクリプト
claude -p "以下のサービスの稼働状況を確認し、
問題があれば原因を特定して修正案を出してください:
- Webサーバー (Apache/Nginx)
- データベース (MySQL/PostgreSQL)
- キャッシュ (Redis)" \
  --allowedTools "Bash,Read" \
  --output-format json > health-check.json

カスタムサブエージェントで診断ツール化

# .claude/agents/server-doctor.md
---
name: server-doctor
description: サーバーの問題を診断して修正提案を行う
tools: Bash, Read
model: sonnet
---

あなたはサーバー管理のエキスパートです。
問題を報告されたら:
1. ログを確認
2. 関連サービスの状態を確認
3. ネットワーク接続をテスト
4. 根本原因を特定
5. 修正手順を提示

実践のポイント

  • エラーメッセージは省略せず丸ごとClaudeに渡す
  • Claudeに「考えられる原因を全部試して」と依頼すると網羅的に調査する
  • Agent SDK + cronで定期的なヘルスチェックを自動化できる
  • サブエージェントにmemory: projectを設定すると過去の障害パターンを学習