遷移 / 監控
使用 Claude Code 將 PRTG 網路設備監控定義遷移至 Zabbix
【續篇】 #
延續上次的 UPS 版本,這次我們遷移了交換器、路由器和無線 AP 的混合環境。 我們利用單一廠商設備的一致性,同時採用「先註冊、後啟用」的安全程序。
與上次版本(UPS)的差異 #
上次版本全部都是 APC UPS 設備,配置統一,因此只需套用一個模板即可立即完成。 這次的目標是 2023 年備份中的混合交換器、路由器和無線 AP。
本次遷移目標 #
分析 PRTG 2023 年備份(PRTG Configuration.dat)後,
我們識別出 11 台網路設備作為遷移目標:
前置設定:在 Zabbix 伺服器新增靜態路由 #
目標裝置存在於監控專用網段(以下稱為 x.x.x.0/24)。
由於從 Zabbix 伺服器到此網段沒有路由,
我們在遷移工作之前新增了靜態路由。
nmcli connection up。要新增靜態路由,請結合使用
nmcli connection modify 和 ip 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)
註冊結果 #
各類別註冊明細 #
交換器(5 台)
- 1 台核心交換器
- 4 台第 2 層交換器(支援 PoE)
路由器(2 台)與 AP(4 台)
- 2 台邊緣路由器(主/備)
- 4 台企業無線 AP(分散於各站點)
與 UPS 版本的比較:有何不同 #
✅ 相同之處
- 直接解析備份 XML(無需伺服器)
- Claude Code 自動產生並執行腳本
- 自動套用主機群組與範本
- 註冊後輸出差異報告
📋 本次新增項目
- 註冊時依類別分類裝置
- 範本對應確認步驟(附暫停)
- 以全部裝置停用狀態註冊(連線檢查後啟用)
- 預先新增靜態路由
重要注意事項:Syslog 感測器與 SNMP 連線 #
若希望 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是否回傳實際回應
目前狀態與剩餘工作 #
自 UPS 版本以來的改進 #
-
套用範本前務必事先確認
在 UPS 版本中,因電壓閾值差異導致錯誤警報。本次我們設計流程時,STEP 2 必定暫停,讓人員在繼續前先確認對應表。 -
將連線未確認的裝置以停用狀態註冊
檢視 PRTG 感測器設定後,發現許多裝置缺少 SNMP 設定。 先註冊而不立即啟動,稍後再確認較為安全。 -
在提示中包含事前環境確認
當您在提示開頭包含必要的環境準備工作(如新增靜態路由)時, Claude Code 會在執行遷移腳本前建議確認步驟。 -
明確指定分類歸類規則
從裝置名稱推斷類別時,具體列舉命名慣例(前綴/後綴)。 這能提升分類準確度。
後續步驟 #
待全部 11 台已註冊裝置完成 SNMP 連線確認後, 我們將逐步啟用各裝置的監控。 我們也正考慮為部分路由器新增 syslog 接收設定。
在 PRTG 中僅有 ping 感測器的裝置,現在可透過運用 Zabbix 範本, 無需額外成本即可監控 CPU 使用率、介面流量、記憶體使用率等項目。 遷移並非目標——它是提升監控品質的起跑線。