Monitoring AIops

io.github.AIops-tools由 GitHub 账号 AIops-tools 发布v0.13.0更新于 Oct 30, 2026

Governed SolarWinds Orion + PRTG + Zabbix ops: SWQL, alert rollup, health, 42 tools.

概览

AI 生成的概览

面向 SolarWinds Orion、PRTG 与 Zabbix 的受治理 AI 运维 MCP 服务器:读取 NOC 健康与告警、执行 SWQL,并进行可审计、带风险分级的写操作。

可以做什么
  • 运行预置及只读 SWQL 查询,查看 SolarWinds 节点、接口、卷与应用健康状态
  • 跨 SolarWinds、PRTG、Zabbix 汇总去重活动告警,并确认告警
  • 读取 PRTG 传感器、设备、组、历史与告警,以及 Zabbix 问题、主机、触发器、事件与监控项历史
  • 执行受治理的写操作:静音/取消静音、维护窗口、取消/恢复管理、删除节点、暂停/恢复传感器
  • 列出并应用可逆写操作记录的撤销动作
适用场景
适合已在使用 SolarWinds Orion、PRTG 或 Zabbix 的 NOC 或基础设施团队,希望由助手回答重复的监控问题,并在留有审计记录的前提下执行常规的告警抑制或维护变更。
运行要求
以 Python 包形式通过 stdio 在本机运行(uv tool install 或 pipx)。需要能访问各监控平台的网络及对应凭据,通过 init 向导配置并以加密方式保存;主密码可通过 MONITORING_AIOPS_MASTER_PASSWORD 环境变量提供。审计数据保存在本地 SQLite 文件中,可用 MONITORING_AIOPS_HOME 更改位置。
安装前请注意
写操作是真实生效的:静音、维护、取消管理和删除节点会改变生产监控,且没有只读开关或审批环节,应谨慎限定所连接账号的权限。主密码用于解锁已存密钥,导出后会暴露给子进程和 shell 历史。每次调用都会写入本地审计数据库。其行为仅针对模拟响应测试,未在真实 NOC 上运行验证。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Monitoring AIops,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Monitoring AIops

Audit availability: Real writes require a committed pending audit row and stop before contacting the platform if storage is unavailable. Reads and previews may continue with a warning; new audit rows store outcome summaries rather than full responses.

Disclaimer: Community-maintained open-source project. Not affiliated with, endorsed by, or sponsored by SolarWinds, Paessler, Zabbix, or any monitoring vendor. SolarWinds, Orion, SWQL, THWACK, PRTG, Paessler and Zabbix are trademarks of their respective owners. MIT licensed.

Governed AI-ops for network / infrastructure monitoring across three NOC platforms in one server — SolarWinds Orion (SWIS REST + SWQL, port 17774 with an automatic fallback to the legacy 17778, HTTP Basic auth), Paessler PRTG (web API, port 443/8080, API token), and Zabbix 6.x/7.x (JSON-RPC 2.0 at /api_jsonrpc.php, API token) — with a built-in governance harness: unified audit log, policy engine, token/runaway budget guard, undo-token recording, and risk-tier labelling on the audit trail. One config can span all NOCs; each target names its own platform.

What it does

Answers the questions a NOC operator actually repeats, and guards the writes that follow:

  • Canned-SWQL library — the most-asked THWACK questions shipped as named, validated queries (nodes_down, flapping_interfaces, muted_report, high_cpu_nodes, volumes_full, unmanaged_scheduled), plus a validated read-only SWQL passthrough (SELECT-only) for everything else.
  • Active-alert dedup / rollup — collapses an interface-flap or node-down storm into a single counted entry instead of a wall of near-identical alerts, across SolarWinds, PRTG, and Zabbix (problems, with the 0-5 severity scale mapped to canonical levels).
  • Triple SolarWinds + PRTG + Zabbix coverage — one MCP server spans all three NOCs; no incumbent hobby MCP does.
  • Governed writes — mute/unmute, maintenance windows (incl. Zabbix maintenance.create with a replayable delete-undo), unmanage/remanage, node removal, and PRTG sensor pause/resume — each audited, risk-tiered, and the destructive ones gated with dry-run + double-confirm. Suppression and maintenance writes are time-boxed (they require an end time / duration).

What this tool does, and does not, decide

It delivers NOC operations — reads and writes — accurately and efficiently, and records every one of them. It does not decide whether a write is allowed to happen. That is the agent's judgement, or the permission of the account you connect it with: give it a SolarWinds/PRTG/Zabbix account with read-only monitoring scope and the writes fail at the server — the place that actually owns the permission.

So there is no read-only switch, no policy file, no approval gate to configure. The one thing the tool guarantees is that nothing is silent: every call, over MCP and over the CLI alike, lands an audit row in ~/.monitoring-aiops/audit.db, and destructive writes still capture their before-state and record an inverse where one exists.

Each tool declares a risk_level, kept in agreement with its [READ]/[WRITE] documentation tag by a test, and carried into the audit row as a descriptive tier — so a reviewer can see at a glance that a row was a high-risk node removal. It is a label, not a gate.

Running a smaller / local model? See agent-guardrails.md — it lists the guardrails this tool now enforces for you (so you don't spend prompt budget restating them) and gives a ready-made system prompt for what's left.

Capability matrix (42 MCP tools)

GroupPlatformToolsCountR/W
SWQLSolarWindsswql_library, swql_canned, swql_query3read
Alertsallactive_alerts (dedup/rollup)1read
allalert_acknowledge1write (low)
SolarWinds healthSolarWindsnode_status, nodes_list, interface_status, volume_status, application_status, topn, noc_rollup7read
SolarWinds writesSolarWindslist_events, list_unmanaged, list_muted3read
SolarWindsmute_alerts, unmute_alerts, schedule_maintenance, remanage_node4write (med)
SolarWindsunmanage_node, remove_node2write (high)
PRTG readsPRTGprtg_sensors, prtg_sensor_details, prtg_devices, prtg_groups, prtg_history, prtg_system_status, prtg_alarms7read
PRTG writesPRTGpause_sensor, resume_sensor, schedule_maintenance_prtg3write (med)
Zabbix readsZabbixzabbix_problems, zabbix_hosts, zabbix_hostgroups, zabbix_triggers, zabbix_events, zabbix_item_history, zabbix_maintenances7read
Zabbix writesZabbixzabbix_create_maintenance1write (med)
Zabbixzabbix_delete_maintenance1write (high)
Undoallundo_list, undo_apply2undo

The CLI exposes a convenience subset; the full 42-tool surface is via the MCP server.

Quick start

As a Claude Code plugin

One install gives an agent both the skill and the MCP server:

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

The MCP server is fetched with uv and pinned to the package version this plugin declares, so an audit row can be traced back to the code that wrote it. Credentials are still configured with monitoring-aiops init — see below.

As an OpenClaw plugin

The same bundle is published on ClawHub, where one install delivers the skill and its MCP server together:

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

Restart the OpenClaw gateway afterwards so it loads the plugin. The MCP server is fetched with uv, pinned to this exact release, so uvx has to be on PATH — without it the skill still installs but reports Visible to model: no. Credentials are configured exactly as below.

As a CLI or standalone MCP server

bash
uv tool install monitoring-aiops          # or: pipx install monitoring-aiopsmonitoring-aiops init                     # wizard: pick platform (solarwinds/prtg/zabbix) + store the secret (encrypted)monitoring-aiops doctor                   # verify config, secrets, connectivitymonitoring-aiops overview                 # NOC summary: platform + active/unacked alerts + top rollupmonitoring-aiops swql library             # list the canned SWQL queriesmonitoring-aiops swql canned nodes_down   # run a named canned query

Run as an MCP server (stdio):

bash
export MONITORING_AIOPS_MASTER_PASSWORD=...   # unlock secrets non-interactivelymonitoring-aiops mcp

Where that password then lives: an exported variable is readable by every process this shell starts and is recorded by shell history. On a shared or long-lived host, prefer the interactive prompt, or inject it from a secret manager for the life of the one command that needs it.

Governance

Every MCP tool passes through the bundled @governed_tool harness:

  • Audit — every call (params, outcome summary, status, duration, risk tier, approver, rationale) is logged to ~/.monitoring-aiops/audit.db (relocatable via MONITORING_AIOPS_HOME).
  • Budget / runaway guard — token and call budgets trip a circuit breaker on tight poll/retry loops. It is a safety backstop, not authorization.
  • Risk-tier labelling — each tool's declared risk_level is carried into the audit row as a descriptive tier (a label, not a gate). MONITORING_AUDIT_APPROVED_BY / MONITORING_AUDIT_RATIONALE are optional audit annotations, recorded when set and never required.
  • Undo recording — reversible writes record an inverse descriptor (mute_alerts→unmute, unmanage_node→remanage, pause_sensor→resume, zabbix_create_maintenance→delete that maintenance id).

Supported scope & limitations

  • Platforms: SolarWinds Orion (SWIS REST + SWQL), Paessler PRTG (web API), and Zabbix 6.x/7.x (JSON-RPC 2.0; API token via Bearer header on 6.4+/7.x, with a legacy auth-field fallback for 6.0).
  • Zabbix scope: problems/triggers/hosts/host groups/events, bounded item history, maintenance windows (create/delete), and event acknowledge via the cross-platform alert_acknowledge. Template/discovery/user CRUD and trend.get are not covered — open an issue if you need them.
  • Validation status. Behaviour is exercised by the test suite against mocked SWIS/PRTG/Zabbix responses; it has not been run against a live NOC (see docs/VERIFICATION.md). PRTG has a free perpetual 100-sensor Freeware edition with the API, and Zabbix is fully open source (a Docker-compose appliance is a 10-minute live check) — the easiest live checks. SolarWinds is a 30-day trial only; past the trial this tool is mock-only, which is the largest verification debt. monitoring-aiops doctor is the fastest live check (a SWQL query for SolarWinds, /api/status.json for PRTG, unauthenticated apiinfo.version + an authed host count for Zabbix).

Missing a capability?

Want another canned query, a platform dialect fixed, or a capability that isn't here? Open an issue or a PR — feedback and contributions are welcome.

来源:README.md,提交 db53991

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:服务器未能启动。

版本历史

5
  1. v0.13.0最新Oct 30, 2026
  2. v0.12.0Oct 15, 2026
  3. v0.11.0Oct 15, 2026
  4. v0.10.4Sep 17, 2026
  5. v0.10.3Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分