使用 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 台 Layer 2 交換器。
全部標準化為同一廠商。

路由器(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 台成功 #

零錯誤。
全部以停用狀態註冊。

已建立主機群組

3 個群組 #

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

各類別註冊明細 #

交換器(5 台)

  • 1 台核心交換器
  • 4 台第 2 層交換器(支援 PoE)

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

  • 2 台邊緣路由器(主/備)
  • 4 台企業無線 AP(分散於各站點)

與 UPS 版本的比較:有何不同 #

✅ 相同之處

  • 直接解析備份 XML(無需伺服器)
  • Claude Code 自動產生並執行腳本
  • 自動套用主機群組與範本
  • 註冊後輸出差異報告

📋 本次新增項目

  • 註冊時依類別分類裝置
  • 範本對應確認步驟(附暫停)
  • 以全部裝置停用狀態註冊(連線檢查後啟用)
  • 預先新增靜態路由

重要注意事項:Syslog 感測器與 SNMP 連線 #

部分路由器在 PRTG 中設定了 syslog 感測器。
若希望 Zabbix 也接收 syslog,需在 Zabbix 中另行設定 syslog 接收設定。 本次僅進行裝置註冊,syslog 設定留作後續作業。
以停用狀態註冊是正確的做法。
PRTG 感測器大多僅為 ping 監控,顯示裝置端的 SNMP 設定可能未驗證或尚未設定。 啟用監控前,建議先透過 snmp-server enable 與 community string 確認,驗證裝置端的 SNMP 設定。

啟用前檢查清單 #

  • 裝置上是否已啟用 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