ディスク容量ヘルスチェックコンポーネント設計
ローカルストレージに依存するアプリケーション向けに、ファイルシステム使用量、inode数、書き込み機能を監視するディスク容量ヘルスチェックコンポーネントを設計します。
Component Checks
詳細な説明
ディスク容量ヘルスチェック
ディスク容量チェックは、アプリケーションがログ、一時ファイル、アップロード、データベースファイルをローカルストレージに書き込む際のサイレント障害を防ぎます。
レスポンスコンポーネント
{
"disk-space": {
"status": "UP",
"duration": "2ms",
"message": "Disk usage within limits",
"details": {
"path": "/data",
"totalGB": 100,
"usedGB": 45,
"freeGB": 55,
"utilization": "45%"
}
}
}
チェック項目
- ディスク使用率: 主要指標
- 絶対値での空き容量: 大きなディスクではパーセンテージだけでは不十分
- inode使用量: inodeの枯渇は空き容量があってもファイル作成を阻止
- 書き込み機能: ファイルシステムに書き込めるか?
ヘルスしきい値
| メトリクス | 健全 | 劣化 | 異常 |
|---|---|---|---|
| ディスク使用率 | < 75% | 75-90% | > 90% |
| inode使用率 | < 80% | 80-95% | > 95% |
| 書き込みテスト | 成功 | N/A | 失敗 |
| 空き容量 | > 5GB | 1-5GB | < 1GB |
Kubernetesエフェメラルストレージ
Kubernetesでは、ポッドエビクションを防ぐためにエフェメラルストレージ使用量をチェックします。エフェメラルストレージ制限を超えると、Kubernetesがポッドをエビクトしますが、これは標準的なディスクヘルスチェックでは検出されない場合があります。
ユースケース
ログ、ファイルアップロード、一時処理、組み込みデータベース(SQLite)のためにローカルファイルシステムに書き込むアプリケーション。特にエフェメラルストレージが限られたコンテナ化環境。