mcpField
M
Monitoring AIops

Monitoring AIops

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

关于 Monitoring AIops

Monitoring AIops 是面向 NOC 运维人员的多平台监控 MCP 服务,覆盖 SolarWinds Orion、PRTG 和 Zabbix。它提供告警汇总、健康查询及受审计和风险标记的变更操作。

主要功能

  1. 01支持 SolarWinds、PRTG 和 Zabbix
  2. 02SWQL 预置查询与只读查询
  3. 03告警去重与汇总
  4. 04节点、接口及设备健康查询
  5. 05审计、风险标记与可撤销操作

适用场景

  1. 01汇总多个平台的活动告警
  2. 02查询节点、接口或设备健康状态
  3. 03分析 SWQL 查询结果
  4. 04审计维护窗口及设备变更

MCP 相关

作为 MCP 服务,它向客户端提供 42 个跨 SolarWinds、PRTG 和 Zabbix 的读取、写入及撤销工具。每次调用都会写入审计日志。

配置

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

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

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

安装包
pypimonitoring-aiops0.12.0

工具

42

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

参数类型必填说明
targetany否

详细介绍

监控 AIops

免责声明:由社区维护的开源项目。与 SolarWinds、Paessler、Zabbix 或任何监控厂商均无关联,也未获得其认可或赞助。 SolarWinds、Orion、SWQL、THWACK、PRTG、Paessler 和 Zabbix 均为其各自所有者的商标。采用 MIT 许可证。

通过一个服务统一管理三种 NOC 平台的网络/基础设施监控 AI 运维:SolarWinds Orion(SWIS REST + SWQL,端口 17774,自动回退至旧版 17778,HTTP Basic 身份验证)、Paessler PRTG(Web API,端口 443/8080,API 令牌)和 Zabbix 6.x/7.x(/api_jsonrpc.php 上的 JSON-RPC 2.0,API 令牌),并内置治理机制:统一审计日志、策略引擎、令牌/失控操作预算防护、撤销令牌记录,以及审计跟踪中的风险等级标记。一份配置可覆盖所有 NOC;每个目标都指定自己的 platform。

功能

回答 NOC 操作员反复遇到的问题,并管控后续写入操作:

  • 预置 SWQL 查询库 — 收录最常见的 THWACK 问题,并提供经过验证的命名查询(nodes_down、flapping_interfaces、muted_report、high_cpu_nodes、volumes_full、unmanaged_scheduled),还提供经过验证的只读 SWQL 直通查询(仅限 SELECT),以满足其他需求。
  • 活动告警去重/汇总 — 将接口抖动或节点宕机风暴合并为一条带计数的记录,而不是显示一堆几乎相同的告警;适用于 SolarWinds、PRTG 和 Zabbix(问题告警,严重性 0–5 级映射到规范等级)。
  • 覆盖 SolarWinds + PRTG + Zabbix 三大平台 — 一个 MCP 服务覆盖三个 NOC;现有业余爱好者开发的 MCP 服务无一具备此能力。
  • 受治理的写入操作 — 静音/取消静音、维护窗口(包括支持可重放删除撤销的 Zabbix maintenance.create)、取消管理/恢复管理、移除节点,以及暂停/恢复 PRTG 传感器。每项操作都会经过审计和风险分级;破坏性操作还必须通过试运行 + 二次确认。抑制和维护写入操作均有时间限制(必须指定结束时间/持续时长)。

本工具会做什么,以及不会决定什么

本工具准确、高效地执行 NOC 操作——读取和写入——并记录每一项操作。它不会决定是否允许执行写入操作。那由 Agent 自行判断,或由你连接的账户权限决定:提供一个仅具备只读监控权限的 SolarWinds/PRTG/Zabbix 账户,写入操作就会在服务端失败——因为权限由服务端实际管理。

因此,本工具没有只读开关、策略文件或待配置的审批关卡。本工具唯一能保证的是:不会有任何操作悄无声息地发生:通过 MCP 或 CLI 发起的每一次调用,都会在 ~/.monitoring-aiops/audit.db 中生成一条审计记录;破坏性写入操作仍会捕获操作前的状态,并在存在逆向操作时记录该操作。

每个工具都会声明一个 risk_level,并通过测试确保其与文档标签 [READ]/[WRITE] 一致;该等级也会写入审计记录作为说明性级别,让审核人员一眼就能看出某条记录涉及高风险的节点移除操作。这只是标签,不是关卡。

使用较小型/本地模型?请参阅 agent-guardrails.md — 其中列出了本工具现在为你强制执行的防护措施(让你不必在提示词预算中重复说明),并提供了现成的系统提示词,供你处理剩余事项。

能力矩阵(42 个 MCP 工具)

分组平台工具数量读/写
SWQLSolarWindsswql_library, swql_canned, swql_query3读取
告警全部active_alerts(去重/汇总)1读取
全部alert_acknowledge1写入(低)
SolarWinds 健康状态SolarWindsnode_status, nodes_list, interface_status, volume_status, application_status, topn, noc_rollup7读取
SolarWinds 写入SolarWindslist_events, list_unmanaged, list_muted3读取
SolarWindsmute_alerts, unmute_alerts, schedule_maintenance, remanage_node4写入(中)
SolarWindsunmanage_node, remove_node2写入(高)
PRTG 读取PRTGprtg_sensors, prtg_sensor_details, prtg_devices, prtg_groups, prtg_history, prtg_system_status, prtg_alarms7读取
PRTG 写入PRTGpause_sensor, resume_sensor, schedule_maintenance_prtg3写入(中)
Zabbix 读取Zabbixzabbix_problems, zabbix_hosts, zabbix_hostgroups, zabbix_triggers, zabbix_events, zabbix_item_history, zabbix_maintenances7读取
Zabbix 写入Zabbixzabbix_create_maintenance1写入(中)
Zabbixzabbix_delete_maintenance1写入(高)
撤销全部undo_list, undo_apply2撤销

CLI 提供一组便捷的子集;完整的 42 个工具接口通过 MCP 服务提供。

快速开始

作为 Claude Code 插件

一次安装即可让 Agent 同时获得技能和 MCP 服务:

/plugin marketplace add AIops-tools/marketplace
/plugin install monitoring-aiops@aiops-tools

MCP 服务通过 uv 获取,并固定为此插件声明的 软件包版本,因此可以将审计记录追溯到写入该记录的代码。凭据仍通过 monitoring-aiops init 配置——请参阅下文。

作为 OpenClaw 插件

同一捆绑包发布在 ClawHub 上,安装一次即可同时 获得技能和 MCP 服务:

openclaw plugins install clawhub:@zw008/monitoring-aiops
openclaw skills info monitoring-aiops          # expect: Visible to model: yes

之后重启 OpenClaw 网关,使其加载插件。MCP 服务通过 uv 获取,并固定为此确切版本,因此 uvx 必须位于 PATH 中——否则技能仍会安装,但会报告 Visible to model: no。凭据按下文所述进行配置。

作为 CLI 或独立 MCP 服务
uv tool install monitoring-aiops          # or: pipx install monitoring-aiops
monitoring-aiops init                     # wizard: pick platform (solarwinds/prtg/zabbix) + store the secret (encrypted)
monitoring-aiops doctor                   # verify config, secrets, connectivity
monitoring-aiops overview                 # NOC summary: platform + active/unacked alerts + top rollup
monitoring-aiops swql library             # list the canned SWQL queries
monitoring-aiops swql canned nodes_down   # run a named canned query

作为 MCP 服务运行(stdio):

export MONITORING_AIOPS_MASTER_PASSWORD=...   # unlock secrets non-interactively
monitoring-aiops mcp

密码随后会存在哪里:导出的变量可被此 shell 启动的每个进程读取, 并会记录在 shell 历史中。在共享或长期运行的主机上,建议使用交互式 提示,或在需要它的单条命令运行期间,通过密钥管理器注入密码。

治理

每个 MCP 工具都会通过捆绑的 @governed_tool 执行框架:

  • 审计 — 每次调用(参数、结果、状态、耗时、风险级别、 审批者、理由)都会记录到 ~/.monitoring-aiops/audit.db(可通过 MONITORING_AIOPS_HOME 更改位置)。
  • 预算/失控防护 — 令牌和调用预算会在密集的轮询/重试循环中触发断路器。 这是安全防护措施,而非授权机制。
  • 风险级别标注 — 每个工具声明的 risk_level 都会作为描述性级别写入 审计记录(这是标签,而非门禁)。 MONITORING_AUDIT_APPROVED_BY / MONITORING_AUDIT_RATIONALE 是可选的 审计注释;设置后会记录,但从不强制要求。
  • 撤销记录 — 可逆写入会记录逆向操作描述符 (mute_alerts→取消静音,unmanage_node→重新管理,pause_sensor→恢复, zabbix_create_maintenance→删除该维护项 ID)。

支持范围与限制

  • 平台:SolarWinds Orion(SWIS REST + SWQL)、Paessler PRTG(Web API)和 Zabbix 6.x/7.x(JSON-RPC 2.0;6.4+/7.x 通过 Bearer 标头传递 API 令牌,6.0 则回退使用旧版 auth 字段)。
  • Zabbix 范围:问题/触发器/主机/主机组/事件、有界条目历史、维护时段(创建/删除),以及通过跨平台的 alert_acknowledge 确认事件。不支持模板/发现/用户 CRUD 和 trend.get——如果需要这些功能,请提交 issue。
  • 验证状态。 测试套件通过模拟的 SWIS/PRTG/Zabbix 响应进行了行为测试;尚未在实际 NOC 上运行(参见 docs/VERIFICATION.md)。PRTG 提供包含 API 的免费永久版 100 传感器 Freeware 版本,Zabbix 则完全开源(使用 Docker-compose 部署设备,10 分钟即可完成实际测试)——这两者最便于进行实际测试。 SolarWinds 仅提供 30 天试用版;试用期结束后,此工具只能通过模拟进行测试,这是最大的验证欠账。 monitoring-aiops doctor 是最快的实际测试方式(SolarWinds 执行 SWQL 查询,PRTG 请求 /api/status.json,Zabbix 则在无需身份验证的情况下调用 apiinfo.version,并在通过身份验证后统计主机数量)。

缺少某项功能?

想要其他预设查询、修复平台方言,或添加此处尚未提供的功能?请提交 issue 或 PR——欢迎反馈和贡献。

评论

支持 Markdown

第一次接触 MCP?

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

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