mcpField
R
redis-observability

redis-observability

github.com/redisクラウド・DevOps1712.3k 回インストール7 週間前に更新
リポジトリ

redis-observability について

redis-observability は、Redis の運用担当者や開発者向けの監視・診断ガイドです。主要メトリクスやアラート条件、組み込みの調査コマンドに加え、Redis Insight による対話的な診断も扱います。

主な機能

  1. 01主要な Redis 監視メトリクスの整理
  2. 02メトリクスごとのアラート条件
  3. 03組み込み診断コマンドの紹介
  4. 04低速クエリとメモリの診断
  5. 05Redis Insight による対話的な診断

活用シーン

  1. 01Redis インスタンスの監視とアラート設定
  2. 02遅延、メモリ、接続問題の調査
  3. 03FT.SEARCH やパイプラインの性能分析
  4. 04Redis メトリクスの監視システムへの連携

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/redis/agent-skills --skill redis-observability

インストール後、Claude Code で/redis-observabilityを入力して読み込まれたか確認します。

同梱ファイルreferences/commands.mdreferences/metrics.md

詳細

Redis のオブザーバビリティ

何を監視し、何を実行し、何にアラートを設定するか。すべての Redis デプロイで監視すべきメトリクスと、アドホックな診断に使える組み込みコマンドを紹介します。

適用するタイミング

  • Redis インスタンスの監視やアラートを設定するとき。
  • Redis のパフォーマンス低下(レイテンシーの増加、メモリー圧迫、接続の急増)を診断するとき。
  • 遅い FT.SEARCH やパイプラインのプロファイリングを行うとき。
  • Redis のメトリクスを Prometheus、Datadog、CloudWatch などに連携するとき。

1. これらのメトリクスを監視する

これらのメトリクスは INFO から取得し、監視システムにエクスポートしてください。

メトリクスわかることアラートを設定する条件
used_memory現在のメモリー使用量maxmemory の 80% 超
connected_clients開いている接続数急激な増加または減少
blocked_clientsブロッキング操作で待機しているクライアント数0 を超える状態が継続
instantaneous_ops_per_sec現在のスループット大幅な低下
keyspace_hits / keyspace_missesキャッシュヒット率ヒット率が 80% 未満
rejected_connectionsmaxclients の上限に達した回数0 を超える
rdb_last_save_time最後に永続化スナップショットを保存した時刻RPO に対して古すぎる
info = redis.info()
hit_ratio = info["keyspace_hits"] / max(1, info["keyspace_hits"] + info["keyspace_misses"])
print(f"Memory:    {info['used_memory_human']}")
print(f"Clients:   {info['connected_clients']}")
print(f"Ops/sec:   {info['instantaneous_ops_per_sec']}")
print(f"Hit ratio: {hit_ratio:.1%}")

references/metrics.mdを参照してください。

2. デバッグに使える組み込みコマンド

異常が見られたときは、次のコマンドを使ってください。

項目コマンド
遅いコマンドSLOWLOG GET 10 / SLOWLOG LEN / SLOWLOG RESET
サーバーのスナップショットINFO all(または INFO memory / INFO stats / INFO clients / INFO replication)
メモリー診断MEMORY DOCTOR / MEMORY STATS / MEMORY USAGE <key>
接続CLIENT LIST / CLIENT INFO
RQE / SearchFT.INFO <idx> / FT.PROFILE <idx> SEARCH QUERY "..."

インシデントの初期調査で特に役立つのは、次の 2 つです。

  • **SLOWLOG GET**を使うと、slowlog-log-slower-than のしきい値(デフォルトでは 10ms)を超えたクエリを確認できます。出力には、コマンドそのものと所要時間がマイクロ秒単位で表示されます。
  • **MEMORY DOCTOR**はメモリー圧迫の調査に使えます。現時点でメモリー使用量に見られる異常を、1 段落で要約して返します。
for entry in redis.slowlog_get(10):
    print(f"{entry['duration']}μs  {entry['command']}")

references/commands.mdを参照してください。

Redis Insight

対話的な操作(クエリの実行、キーの参照、インデックスのプロファイリング)には、公式 GUI のRedis Insightを利用できます。SLOWLOG / INFO / FT.PROFILE のデータを視覚的に表示し、自然言語によるクエリに使える Redis Copilot も備えています。開発中やインシデント対応時に便利ですが、メトリクスを監視システムにエクスポートする代わりにはなりません。

参考資料

コメント