Redisヘルスチェックコンポーネント設計

キャッシュおよびセッションストアレイヤーの接続状態、レイテンシ、メモリ使用量、キーエビクション率を監視するRedisヘルスチェックコンポーネントを設計します。

Component Checks

詳細な説明

Redisヘルスチェック

Redisヘルスチェックは、キャッシュレイヤーまたはセッションストアが動作可能であることを確認します。Redisはパフォーマンス最適化として使用されることが多いため、Redis障害はDOWNではなくDEGRADEDになる場合があります。

レスポンスコンポーネント

{
  "redis": {
    "status": "UP",
    "duration": "3ms",
    "message": "Redis connection established",
    "details": {
      "version": "7.2.3",
      "usedMemory": "45MB",
      "maxMemory": "256MB",
      "connectedClients": 12,
      "hitRate": "94.5%"
    }
  }
}

チェック項目

  1. PINGレスポンス: 基本的な接続テスト
  2. レイテンシ: 操作のラウンドトリップタイム
  3. メモリ使用量: maxmemoryの消費割合
  4. エビクション率: キーが予期せずエビクトされていないか?
  5. 接続クライアント数: 接続制限に近づいていないか?

ヘルスしきい値

メトリクス 健全 劣化 異常
PINGレイテンシ < 5ms 5-50ms > 50ms / タイムアウト
メモリ使用量 < 70% 70-90% > 90%
ヒット率 > 80% 50-80% < 50%

Redis DOWN = サービスDOWNか?

アーキテクチャによります。Redisがデータベースフォールバック付きのキャッシュのみの場合、DEGRADEDとして扱います。Redisがフォールバックなしのプライマリデータストアまたはセッションストアの場合、DOWNとして扱います。

ユースケース

キャッシュ、セッション管理、またはメッセージブローカーとしてRedisを使用するアプリケーション。キャッシュの利用不可がパフォーマンスに影響するが完全なサービス停止を必要としない場合。

試してみる — Health Check Endpoint Designer

フルツールを開く