关于 Queue AIops
Queue AIops 是面向运行 Redis 和 RabbitMQ 团队的运维服务。它提供透明的内存、延迟、积压和连接分析,并支持经审计的 Broker 操作与撤销记录。
主要功能
- 01Redis 内存压力分析
- 02Redis 延迟分析
- 03RabbitMQ 队列积压分析
- 04连接 churn 分析
- 05写入审计并支持试运行与撤销
适用场景
- 01调查 Redis 内存突然增长
- 02诊断 Redis 延迟和停顿
- 03查找 RabbitMQ 队列增长原因
- 04检查 Broker 连接频繁变动
MCP 相关
提供 28 个 MCP 工具,用于检查、分析和写入 Redis 与 RabbitMQ。调用会记录审计,写入支持试运行,可逆操作会记录撤销信息。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
28收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| target | any | 否 | |
| used_pct | number | 否 | |
| telemetry | any | 否 |
详细介绍
Queue AIops
面向 Redis + RabbitMQ 的可治理 AI 运维。 queue-aiops 面向自行运行缓存和消息代理的团队——例如一个“突然开始吞内存”的 Redis,或队列悄悄增长到发布者被阻塞的 RabbitMQ,而团队又没有企业级可观测性套件。它为 AI Agent(或在命令行中操作的人类)提供一套可治理的工具,覆盖两者:针对内存压力、延迟、队列积压和连接频繁变动的透明根因分析,以及运维人员实际需要的少数几种写操作(配置设置、终止客户端、清空/删除队列、策略)——每次调用都会由内置治理机制审计、预算控制、按风险分级并记录撤销信息。
免责声明:由社区维护的开源项目,与 Redis 或 RabbitMQ 项目及其各自所有者均无关联,也未获其认可或赞助。 Redis 和 RabbitMQ 是其各自所有者的商标。
验证说明:行为由基于模拟对象的测试套件覆盖;尚未在实际运行的代理上验证。Redis 和 RabbitMQ 都可免费使用/自托管(各自只需一个实验容器或安装包),因此很容易进行实验环境检查——
queue-aiops doctor是最快的实时探测方式,docs/VERIFICATION.md 中提供了检查清单。
快速开始
作为 Claude Code 插件
安装一次,即可为 Agent 同时提供技能和 MCP 服务:
/plugin marketplace add AIops-tools/marketplace
/plugin install queue-aiops@aiops-tools
MCP 服务通过 uv 获取,并固定到此插件声明的程序包版本,因此可以追溯审计记录对应的代码。凭据仍需通过 queue-aiops init 配置——见下文。
作为 OpenClaw 插件
同一套插件也发布在 ClawHub 上,安装一次即可同时获得技能和 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
此工具负责和不负责决定的事项
此工具能够准确、高效地执行代理操作——读取和写入——并记录每一次操作。它不负责判断是否允许执行写入操作。这由 Agent 自行判断,或由你连接时所用账户的权限决定:为 Redis 连接配置一个仅限读取命令的 ACL 用户,或为 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(服务器/内存/客户端/统计/持久化/键空间)、SLOWLOG、CLIENT LIST/KILL、CONFIG GET/SET、MEMORY STATS/USAGE、受 SCAN 限额约束的大键采样、DBSIZE、PING |
| rabbitmq(管理插件 HTTP API) | HTTP(S),Basic 认证 | /api/overview、/api/queues(以及按 vhost 筛选、详情、清空、声明、删除)、/api/connections、/api/channels、/api/consumers、/api/policies(获取/设置/删除)、/api/nodes |
28 个 MCP 工具 — 20 个读取工具(含 4 个旗舰 RCA)+ 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 | 读取/写入 |
四个 RCA 都是透明的启发式分析,会报告其数值——阈值是有名称的常量,每项发现都附带证据,绝不会给出黑盒结论。大键采样最多使用 SCAN 遍历 10,000 个键,并对最多 200 个键使用 MEMORY USAGE 获取大小——绝不使用 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)加上失控循环中断器,可防止卡住的 Agent 无限消耗调用次数/时间。 - 风险等级 — 根据
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的风险等级为高,在 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 客户端会在最小化环境中启动服务,不会加载你的 shell 配置文件。服务所需的任何内容(
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 的实际结果交叉核对)、全部四项分析,以及完整的治理流程(真实的 redis_config_set → 审计记录 → 撤销并恢复先前值)。这次测试发现并修复了一个真实缺陷:整数数量——键数、客户端数、字节总数——被渲染为浮点数(202.0 个键),而相等性断言无法发现此问题。
RabbitMQ 组现在也已完成端到端验证——读取结果与 rabbitmqadmin 交叉核对,并在实时代理上完成了 set_policy → undo_apply。Redis 集群/哨兵拓扑以及 AUTH/TLS 连接仍未验证。
docs/VERIFICATION.md 准确记录了已检查的内容以及仍待解决的问题。queue-aiops doctor 是最快的实时检查方式。
贡献
欢迎提出功能需求或提交 PR——如果你需要其他读取功能(streams/consumer groups、quorum-queue 特性、shovel/federation 状态)、其他代理平台,或某个阈值不适合你的集群,请在 github.com/AIops-tools/Queue-AIops 提交 issue 或 PR——平台注册表条目都是增量添加的,改动很小。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。