Queue AIops について
Queue AIops は、Redis と RabbitMQ を運用するチーム向けの運用サーバーです。メモリ、レイテンシ、滞留、接続の透明性ある分析に加え、監査可能な操作と取り消し記録を提供します。
主な機能
- 01Redis のメモリ圧迫分析
- 02Redis のレイテンシ分析
- 03RabbitMQ のキュー滞留分析
- 04接続 churn の分析
- 05監査、ドライラン、取り消しに対応
活用シーン
- 01Redis の急なメモリ増加を調査
- 02Redis の遅延や停止を診断
- 03RabbitMQ キュー増加の原因を特定
- 04Broker 接続の頻繁な変化を確認
MCP 対応
Redis と RabbitMQ の確認、分析、書き込みに使う MCP ツールを 28 個提供します。呼び出しは監査され、書き込みはドライランに対応し、取り消し可能な操作には取り消し情報が記録されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
28掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| target | any | いいえ | |
| used_pct | number | いいえ | |
| telemetry | any | いいえ |
詳細
Queue AIops
Redis + RabbitMQ 向けの、ガバナンスを備えた AI 運用です。 queue-aiops は、自前のキャッシュやメッセージブローカーを運用するチーム向けです。メモリを「突然食いつぶす」Redis や、パブリッシャーがブロックされるまでキューがひそかに増え続ける RabbitMQ を、エンタープライズ向けのオブザーバビリティスイートなしで管理できます。AI エージェント(または CLI を使う人間)に、両方を操作するためのガバナンス付きツールセットを提供します。メモリ圧迫、レイテンシー、キューのバックログ、接続の頻繁な切断・再接続について、根本原因を透明性のある形で分析できるほか、運用担当者が実際に必要とする少数の書き込み操作(設定、クライアントの強制切断、キューのパージ/削除、ポリシー設定)を実行できます。組み込みのガバナンスハーネスにより、すべての呼び出しが監査され、予算が設定され、リスク階層が付与され、取り消し用の記録が保存されます。
免責事項:コミュニティが保守するオープンソースプロジェクトであり、Redis または RabbitMQ の各プロジェクトやそれぞれの所有者とは無関係で、承認や後援も受けていません。 Redis と RabbitMQ は、それぞれの所有者の商標です。
検証状況:動作はモックベースのテストスイートで検証されていますが、稼働中のブローカーではまだ検証されていません。Redis と RabbitMQ はどちらも無料で、セルフホスト可能です(ラボ用コンテナーまたはパッケージをそれぞれ 1 つ用意)。そのため、ラボでの確認は簡単です。最速で稼働環境を調べるには
queue-aiops doctorを実行してください。docs/VERIFICATION.md にチェックリストがあります。
クイックスタート
Claude Code プラグインとして
1 回インストールするだけで、エージェントにスキルと MCP サーバーの両方が提供されます。
/plugin marketplace add AIops-tools/marketplace
/plugin install queue-aiops@aiops-tools
MCP サーバーは uv で取得され、このプラグインが宣言するパッケージバージョンに固定されます。そのため、監査レコードから、それを書き込んだコードをたどることができます。認証情報は引き続き queue-aiops init で設定します。詳しくは以下をご覧ください。
OpenClaw プラグインとして
同じバンドルが ClawHub で公開されており、1 回のインストールでスキルと MCP サーバーをまとめて導入できます。
openclaw plugins install clawhub:@zw008/queue-aiops
openclaw skills info queue-aiops # expect: Visible to model: yes
その後、プラグインを読み込ませるために OpenClaw ゲートウェイを再起動してください。MCP サーバーは uv で取得され、このリリースの正確なバージョンに固定されます。そのため、uvx が PATH 上に必要です。これがない場合もスキルはインストールされますが、Visible to model: no と表示されます。認証情報は以下と同じ方法で設定します。
CLI またはスタンドアロン MCP サーバーとして
uv tool install queue-aiops
queue-aiops init # wizard: pick platform (redis/rabbitmq), host/port, encrypted secret
queue-aiops doctor # config + secret + connectivity check (PING / /api/overview)
queue-aiops overview # one-shot health summary for the default target
それでは、重要な部分を見ていきましょう。
queue-aiops analyze memory # redis memory-pressure RCA (maxmemory, eviction, frag, big keys)
queue-aiops analyze latency # redis latency RCA (slowlog digest, fork/AOF stalls)
queue-aiops analyze backlog # rabbitmq queue-backlog RCA (consumers, unacked, watermarks)
queue-aiops analyze churn # connection churn, both platforms
queue-aiops redis bigkeys # SCAN-budgeted big-key sample (never KEYS *)
queue-aiops rabbitmq queues # deepest backlog first
このツールが判断すること、しないこと
ブローカーの操作(読み取りと書き込み)を正確かつ効率的に実行し、そのすべてを記録します。書き込みを実行してよいかどうかは判断しません。それを判断するのはエージェント、または接続に使用するアカウントの権限です。たとえば、読み取りコマンドに限定した ACL ユーザーを Redis 接続に設定するか、RabbitMQ 管理ユーザーに monitoring タグのみを付与すると、書き込みは、実際に権限を管理する場所であるブローカー側で失敗します。
そのため、設定する読み取り専用スイッチも、ポリシーファイルも、承認ゲートもありません。このツールが保証するのは、何も記録されずに実行されることがないという点です。MCP 経由でも CLI 経由でも、すべての呼び出しが ~/.queue-aiops/audit.db に監査レコードとして記録されます。 また、取り消し可能な書き込みでは、実行前の状態を取得して、逆操作を記録します。
各ツールには
risk_levelが宣言されており、テストによって[READ]/[WRITE]のドキュメントタグとの整合性が確認されます。また、この値は説明用の階層として監査レコードに記録されるため、レビュー担当者は、どのレコードがリスクの高い削除操作だったかを一目で確認できます。これはラベルであり、ゲートではありません。
より小規模なモデルやローカルモデルを実行していますか? agent-guardrails.md をご覧ください。このツールが現在適用するガードレールの一覧(プロンプトの予算を使ってそれらを繰り返し説明する必要はありません)と、残りの項目に使えるすぐに利用可能なシステムプロンプトが記載されています。
サポート範囲
| プラットフォーム | プロトコル | 対応範囲 |
|---|---|---|
redis(redis Python クライアント経由の 5.x–7.x ワイヤープロトコル) | RESP、パスワードは任意、TLS は任意 | INFO(server/memory/clients/stats/persistence/keyspace)、SLOWLOG、CLIENT LIST/KILL、CONFIG GET/SET、MEMORY STATS/USAGE、SCAN の予算内での大きなキーのサンプリング、DBSIZE、PING |
| rabbitmq(management プラグインの HTTP API) | HTTP(S)、Basic 認証 | /api/overview、/api/queues(+vhost ごとの一覧、詳細、purge、declare、delete)、/api/connections、/api/channels、/api/consumers、/api/policies(get/set/delete)、/api/nodes |
28 個の MCP ツール — 読み取り 20 個(主要な RCA 4 個を含む)+ガバナンス対象の書き込み 8 個。
| グループ | ツール | 読み取り/書き込み |
|---|---|---|
| 概要 | queue_overview | 読み取り |
| redis の読み取り | redis_server_info, redis_memory_stats, redis_clients, redis_slowlog, redis_config_get, redis_keyspace, redis_big_keys | 読み取り |
| rabbitmq の読み取り | rabbitmq_overview, list_queues, queue_detail, list_connections, list_channels, list_policies, node_health | 読み取り |
| 主要な RCA | redis_memory_pressure_rca, redis_latency_rca, rabbitmq_queue_backlog_rca, connection_churn_analysis | 読み取り |
| 書き込み(中) | redis_config_set, redis_kill_client, declare_queue, set_policy, delete_policy | 書き込み |
| 書き込み(高) | purge_queue, delete_queue | 書き込み |
| 元に戻す | undo_list, undo_apply | 読み取り/書き込み |
4 つの RCA は、数値を報告する透明性の高いヒューリスティックです。しきい値は名前付き定数で、すべての検出結果に根拠が付随し、ブラックボックス的な判定は行いません。大きなキーのサンプリングでは、SCAN で最大 10,000 個のキーを走査し、MEMORY USAGE で最大 200 個のサイズを確認します。KEYS * は決して使用せず、サンプリングの範囲を報告します。
ガバナンス
すべての MCP ツールと、同じガバナンス対象関数を経由するすべての CLI 書き込みは、組み込みの @governed_tool ハーネス(queue_aiops.governance — 外部依存関係なし)を通じて実行されます。このハーネスは記録を行いますが、書き込みを許可するかどうかの認可は行いません(上記を参照)。
- 監査 — すべての呼び出しが
~/.queue-aiops/audit.dbに記録されます(QUEUE_AIOPS_HOMEで保存先を変更可能)。シークレットはマスキングされます。CLI は MCP 経由と同じ行を記録するため、監査されないエントリーポイントはありません。 - 予算/暴走防止ガード — 認可ゲートではなく、安全のためのバックストップです。呼び出し数/実行時間の上限(
QUEUE_MAX_TOOL_CALLS、QUEUE_MAX_TOOL_SECONDS)と暴走ループブレーカーにより、停止したエージェントが無制限に呼び出しや時間を消費するのを防ぎます。 - リスクティア —
risk_levelから導出され、監査行に付与される説明用のラベルです。何も制限しません。QUEUE_AUDIT_APPROVED_BY/QUEUE_AUDIT_RATIONALEは任意の注釈(誰が/なぜ)で、監査行に記録されます。必須ではなく、処理をブロックすることもありません。 - 元に戻す — 取り消し可能な書き込みでは、実際の変更前の状態を先に取得します。
redis_config_setは CONFIG GET から以前の値を記録します。set_policy/delete_policyは以前のポリシーを記録します。delete_queueはキューの定義を記録し、元に戻す際にその定義を再宣言します(メッセージは復元されません — ディスクリプターに明記されています)。取り消し不可能な書き込み(purge_queue、redis_kill_client)では priorState のみを記録します。 - ドライラン+二重確認 — すべての書き込みで
dry_run=True(MCP)/--dry-run(CLI)を指定します。CLI の書き込みでは二重確認を行い、同じガバナンス対象の対応関数を通じて実行されるため、監査ログにも記録されます。purge_queueとdelete_queueは risk=high で、CLI ではドライランと二重確認が必要です。 - 認証情報は
~/.queue-aiops/secrets.encに暗号化して保存されます(Fernet + scrypt のマスターパスワード。非対話型の利用ではQUEUE_AIOPS_MASTER_PASSWORDを使用)。Redis のパスワードは任意です。認証なしのラボインスタンスもサポート対象です。
MCP 設定
{
"mcpServers": {
"queue-aiops": {
"command": "uvx",
"args": ["--from", "queue-aiops", "queue-aiops-mcp"],
"env": {
"QUEUE_AIOPS_MASTER_PASSWORD": "your-master-password"
}
}
}
}
env ブロックに関する注意:MCP クライアントはサーバーを最小限の環境で起動するため、シェルのプロファイルは読み込まれません。サーバーが必要とするもの(
QUEUE_AIOPS_MASTER_PASSWORD、移動先のQUEUE_AIOPS_HOME、および任意のQUEUE_AUDIT_APPROVED_BY/QUEUE_AUDIT_RATIONALE監査注釈)は、ターミナルだけでなく、上記のenvブロックに設定する必要があります。
または、パッケージをインストール済みの場合:queue-aiops mcp。
CLI リファレンス(簡易版)
queue-aiops init | doctor | overview | mcp
queue-aiops secret set|list|migrate ...
queue-aiops redis info|memory|clients|slowlog|config-get|keyspace|bigkeys
queue-aiops redis config-set <param> <value> [--dry-run]
queue-aiops redis kill-client --id <id> | --addr <ip:port> [--dry-run]
queue-aiops rabbitmq overview|queues|queue|connections|channels|policies|nodes
queue-aiops rabbitmq purge|delete-queue|declare-queue <name> [--vhost /] [--dry-run]
queue-aiops rabbitmq set-policy|delete-policy <name> ... [--dry-run]
queue-aiops analyze memory|latency|backlog|churn
検証状況
Redis 7.4.9 および RabbitMQ 3.13.7 に対するライブ検証済み(2026-07-19/20)。
接続、すべての Redis 読み取り(redis-cli の実際の結果と照合)、4 種類すべての分析、そしてガバナンスの一連の処理全体(実際の redis_config_set → 監査行 → 元の値に戻す undo)を、実サーバーで実施しました。この検証で実際の不具合が見つかり、修正しました。キー数、クライアント数、バイト合計などの整数値が浮動小数点数(202.0 キー)として表示されていましたが、等価性のアサーションでは検出できませんでした。
RabbitMQ グループもエンドツーエンドで検証済みです。読み取り結果を rabbitmqadmin と照合し、ライブブローカーで set_policy → undo_apply の完了を確認しました。Redis クラスター/センチネルトポロジー、および AUTH/TLS 接続は引き続き未検証です。
docs/VERIFICATION.md には、検証した内容と未対応の項目が正確に記載されています。最も手早くライブチェックを行うには、queue-aiops doctor を実行してください。
貢献
不足している機能があれば、issue/PR でぜひお知らせください。必要な読み取り機能(ストリーム/コンシューマーグループ、クォーラムキュー固有の情報、シャベル/フェデレーションの状態)、別のブローカープラットフォーム、またはお使いの環境に合わないしきい値については、 github.com/AIops-tools/Queue-AIops で issue または PR を作成してください。プラットフォームレジストリーのエントリーは、小規模な追加で対応できます。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。