LibreNMS 功能很豐富,更重要是它是開源軟體,而且也整合了許多很棒的開源軟體套件進來,讓整個 LibreNMS 的能力更加強大。
其中 Oxidized 絕對是實用等級爆表的應用之一,它可以自動幫我們到網路裝置裡將組態設定抓取回來保存,以便查看或裝置設定遺失或人為錯誤時可以有來源資料重新設定為正確內容。
功能介紹
為什麼這功能這麼重要?我自己就經歷過幾種事件:
- 路由器跨大版本升級韌體,組態變回預設值
- 交換器當機,重新開機變回預設值
- 遠端設定交換器,不小心設定錯誤無法連線,結果到了現場忘記原本正確設定是什麼
尤其是像 RouterOS 這種設定超級多又很詳細的機器,一但要重新設定的時候都是令人頭痛的事。
Oxidized 功能介紹如下:
- 支援多達 130 種作業系統
- 輕量且容易擴充的架構
- 自動備份網路裝置組態設定,經由 ssh 或 telnet 協定
- 支援多種目標裝置資料來源,包括 CSV、SQL (Ruby 的 Sequel 資料庫連接套件)、SQLite、MySQL、HTTP
- 支援多種後端儲存放置組態,包括 GIT、HTTP、文字檔
- 提供 Web UI 管理介面
- 提供完整 API 介面,易於整合其它軟體 (例如 LibreNMS)
使用擷圖
依據官方文件設定完成以後,即可在 LibreNMS 功能表中取用 Oxidized,它也會將組態歷史功能整合進每一個裝置的頁籤裡。
依據官方文件設定完成以後,即可在 LibreNMS 功能表中取用 Oxidized,它也會將組態歷史功能整合進每一個裝置的頁籤裡。
由 LibreNMS 功能表進入 Oxidized
Oxidized 節點清單
查看裝置組態內容
查看裝置組態內容前後版本差異
結論
更重要的是 Oxidized 提供了前後組態內容差異比對的功能,如果是人為設定錯誤造成問題,這個功能幫我們快速找出到底問題發生在何處。
試著想想,如果一個團隊同時有多人維護同樣的機器,設定錯誤時誰也不承認有動到設定,就可以快速利用這個差異比對功能立刻挑出被動過的設定,無須爭議。
除了圖中的裝置,我之前也做過 Cisco、Palo Alto、Netgear 等廠牌裝置的自動組態備份,支援的很多,若有遇到不支援的裝置也可以自己改寫抓取的相關程式,立即可以追加支援。
參考資料
- ytti/oxidized: Oxidized is a network device configuration backup tool. It's a RANCID replacement!
https://github.com/ytti/oxidized
- Oxidized - LibreNMS Docs
https://docs.librenms.org/Extensions/Oxidized/