使用 Claude Code 将 PRTG 网络设备监控定义迁移到 Zabbix【续篇】

使用 Claude Code 将 PRTG 网络设备监控定义迁移到 Zabbix【续篇】

3 min read

使用 Claude Code 将 PRTG 网络设备监控定义迁移到 Zabbix【续篇】

迁移 / 监控

使用 Claude Code 将 PRTG 网络设备监控定义迁移到 Zabbix
【续篇】 #

继上次 UPS 篇之后,本次我们迁移了交换机、路由器和无线 AP 的混合环境。 我们充分利用了单一厂商设备的一致性,同时采用了”先注册、后启用”的安全流程。

Claude Code PRTG Zabbix SNMP Python

与上一篇(UPS)的差异 #

上一篇的对象全部是 APC UPS,配置统一,因此只需应用一个模板即可立即完成。 本次的目标是 2023 年备份中混合的交换机、路由器和无线 AP

上一篇(UPS)

全部为 APC UPS #

一种模板类型,立即启用。
30 分钟内完成。

本篇(网络设备)

三种类别混合 #

分为交换机、路由器和 AP。
采用确认 SNMP 连接后再启用的流程。

本次所有设备来自单一厂商这一点是重大优势。 由于厂商一致,模板选择非常明确,没有混淆。

本次迁移对象 #

在分析 PRTG 2023 年备份(PRTG Configuration.dat)后, 我们确定了 11 台网络设备作为迁移对象:

交换机(5 台)

国内大型网络厂商制造 #

1 台核心交换机和 4 台二层交换机。
全部统一为同一厂商。

路由器(2 台)

边缘路由器 × 2 #

主/备配置。
PRTG 中配置了 syslog 传感器。

无线 AP(4 台)

企业无线 AP × 4 #

分布在各楼层和站点。
全部为相同型号。

PRTG 中的传感器配置

大多仅为 Ping #

44 个传感器 ÷ 28 台设备 ≈ 每台设备 1.5 个。
许多设备缺少 SNMP 监控设置。

由于 PRTG 传感器大多仅为 ping,SNMP 连接性不确定。 因此,我们采用了”先在 Zabbix 中以禁用监控状态注册,然后在确认 SNMP 连接性后逐个启用”的程序。

前期准备:向 Zabbix 服务器添加静态路由 #

目标设备存在于监控专用网段(以下称为 x.x.x.0/24)中。 由于 Zabbix 服务器到该网段没有路由, 我们在迁移工作之前添加了静态路由。

提示:不要使用 nmcli connection up
要添加静态路由,请结合使用 nmcli connection modifyip route add。 执行 nmcli connection up 会导致接口临时断开,在生产环境中应避免这种情况。
# 持久化(重启后保留)
nmcli connection modify 'System eth1' +ipv4.routes 'x.x.x.0/24 x.x.x.1'

# 立即应用(仅当前会话)
ip route add x.x.x.0/24 via x.x.x.1 dev eth1

给 Claude Code 的指令 #

这次,结合从 UPS 版本中汲取的经验教训,我们在指令中包含了需要暂停的模板映射确认步骤。 在 UPS 版本中,由于电压阈值差异导致警报错误触发。这次我们的目标是通过提前审查来防止此类问题。

I need to migrate network devices from a PRTG backup to Zabbix.
This time the environment has mixed switches, routers, and APs.

STEP 1: Parse XML. Classify devices into switch / router / ap / other and output to CSV.
STEP 2: Retrieve template list with template.get, create mapping table, and await confirmation.
        Do not proceed to STEP 3 until I respond with "OK".
STEP 3: Create host groups and register devices by category.
        ※ Register all devices as Disabled (monitoring off). Enable individually after confirming SNMP connectivity.
STEP 4: Output difference confirmation report.

STEP 2 中的模板映射确认 #

Claude Code 从 Zabbix API 检索了模板列表并提出了以下映射。 由于所有设备都来自同一供应商,交换机、路由器和 AP 都可以使用相同的模板,没有问题。

switch  → Network Generic Device by SNMP (templateid=10226)
router  → Network Generic Device by SNMP (templateid=10226)
ap      → Network Generic Device by SNMP (templateid=10226)

Interface: SNMP v2c / community=public / port=161
Registration Status: Disabled (all devices, enable individually after connectivity check)

注册结果 #

已注册设备

全部 11 台成功 #

零错误。
全部以 Disabled 状态注册。

已创建主机组

3 个组 #

Migrated-NW-Switch
Migrated-NW-Router
Migrated-NW-AP

按类别的注册详情 #

交换机(5 台)

  • 1 台核心交换机
  • 4 台二层交换机(支持 PoE)

路由器(2 台)和 AP(4 台)

  • 2 台边缘路由器(主/备)
  • 4 台企业级无线 AP(跨站点分布)

与 UPS 版本对比:有何不同 #

✅ 保持不变的部分

  • 直接解析备份 XML(无需服务器)
  • Claude Code 自动生成并执行脚本
  • 自动应用主机组和模板
  • 注册后输出差异报告

📋 本次新增的部分

  • 注册时按类别对设备分类
  • 模板映射确认步骤(带暂停)
  • 全部设备以 Disabled 状态注册(连接性检查后启用)
  • 预先添加静态路由

重要注意事项:Syslog 传感器与 SNMP 连接性 #

部分路由器在 PRTG 中配置了 syslog 传感器。
如果希望 Zabbix 也接收 syslog,需要在 Zabbix 中单独配置 syslog 接收设置。 本次仅注册设备,syslog 配置延后至后续工作。
以 Disabled 状态注册是正确的选择。
PRTG 传感器大多仅为 ping 的事实表明,设备端的 SNMP 配置未经验证或尚未配置。 在启用监控前,建议使用 snmp-server enable 验证设备端的 SNMP 设置并确认 community 字符串。

启用前检查清单 #

  • 设备上是否启用了 SNMP 代理?(snmp-server enable)
  • community string 是否已配置且与 Zabbix 端一致?
  • Zabbix 服务器能否通过 UDP/161 与目标设备通信?
  • 验证从 Zabbix 执行 snmpwalk 是否返回实际响应

当前状态与剩余工作 #

已完成

注册到 Zabbix #

全部 11 台设备已以禁用状态注册。
主机组和模板已应用。

剩余工作

SNMP 连接性检查 → 启用 #

验证设备端 SNMP 设置后,
计划逐台设备启用监控。

相比 UPS 版的改进 #

  1. 应用模板前务必预先确认
    在 UPS 版中,由于电压阈值差异导致了错误告警。本次我们设计流程时,始终在 STEP 2 要求暂停,由人工确认映射表后再继续。
  2. 将连接性未确认的设备以禁用状态注册
    查看 PRTG 传感器配置时,许多设备缺少 SNMP 设置。 先注册而不立即激活,后续确认更为安全。
  3. 在提示词中包含环境预确认内容
    当您在提示词开头包含必要的环境准备工作(如添加静态路由)时, Claude Code 会在执行迁移脚本前提示确认步骤。
  4. 明确指定类别分类规则
    从设备名称推断类别时,具体列举命名规则(前缀/后缀)。 这样可以提高分类准确性。

后续步骤 #

完成全部 11 台已注册设备的 SNMP 连接性确认后, 我们将逐台启用监控。 同时也在考虑为部分路由器添加 syslog 接收配置。

在 PRTG 中仅有 ping 传感器的设备,现在通过利用 Zabbix 模板, 可以无需额外成本地监控 CPU 使用率、接口流量、内存使用率等更多指标。 迁移不是目标——而是提升监控质量的起点。

使用工具:Claude Code (Anthropic) / Zabbix 7.x / PRTG Network Monitor 23.x
工作环境:Windows 11 + Ubuntu 24.04 (WSL2)
※ 本文中的所有主机名和 IP 地址均已脱敏处理。
Updated on 2026年6月9日

What are your feelings

  • Happy
  • Normal
  • Sad