mcpField
Q
Queue AIops

Queue AIops

本地服务
github.com/AIops-tools云与基础设施02 周前更新

关于 Queue AIops

Queue AIops 是面向运行 Redis 和 RabbitMQ 团队的运维服务。它提供透明的内存、延迟、积压和连接分析,并支持经审计的 Broker 操作与撤销记录。

主要功能

  1. 01Redis 内存压力分析
  2. 02Redis 延迟分析
  3. 03RabbitMQ 队列积压分析
  4. 04连接 churn 分析
  5. 05写入审计并支持试运行与撤销

适用场景

  1. 01调查 Redis 内存突然增长
  2. 02诊断 Redis 延迟和停顿
  3. 03查找 RabbitMQ 队列增长原因
  4. 04检查 Broker 连接频繁变动

MCP 相关

提供 28 个 MCP 工具,用于检查、分析和写入 Redis 与 RabbitMQ。调用会记录审计,写入支持试运行,可逆操作会记录撤销信息。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"aiops-tools-queue-aiops": {
"command": "uvx",
"args": [
"queue-aiops"
]
}
}
}
启动命令uvx queue-aiops

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiqueue-aiops0.11.0

工具

28

收录的工具列表 · 更新于 2 周前

参数类型必填说明
targetany否
used_pctnumber否
telemetryany否

详细介绍

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,可选密码,可选 TLSINFO(服务器/内存/客户端/统计/持久化/键空间)、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读取
旗舰 RCAredis_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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。