引言
對于簡單網絡管理協議 (SNMP),大多數系統管理員都具有一定的使用經驗,或者至少聽說過它。如果您正在一個數據中心工作,那么您每天都可能采用某種方式與 SNMP 進行交互。有許多給人印象深刻的、同等規模的網絡管理系統 (NMS) 或者網絡監視系統使用了 SNMP 監視,但本文并不打算介紹這些系統。本文主要涉及的是通過 Python? 語言來研究 SNMP,并親自編寫相關的代碼。
一位朋友最近告訴我,有時候遇到的情況就像:只是希望沿著街道一路走到奶奶家,而不需要乘坐像 Saturn V 火箭一樣飛快。有許多任務,如果利用或者配置大規模的 NMS,就好像是一個 Saturn V 火箭,在填滿液氧罐之前,先嘗試一下使用 Python,那么您將得到更好的服務。了解如何編寫靈活的 Python 代碼與 SNMP 進行交互,這可能是系統管理員可以獲得的、最有趣且最高效的技能之一。盡管 SNMP 的設置和使用非常復雜,但本文中所討論的內容將使它變得非常有趣。
安裝和配置 Net-SNMP
要學習本文中的內容,您需要在您的 *nix 計算機中安裝最新的 Python(即 Python 2.3 或者更高版本)。在撰寫本文時,Python 2.5.1 是 Python 的最新版本。您還需要 IPython,以便以交互的方式使用帶 Python 綁定的 Net-SNMP 庫。Net-SNMP 團隊對各種操作系統中的支持進行了詳細測試,具體包括 AIX?、HP-UX?、GNU/Linux? 分發版(如 Red Hat)、Windows?,甚至 OS X?。
安裝 IPython 是一項非常簡單的工作。一個很好的選擇是使用 Easy Install 來管理 Python 包。通過運行 ez_setup.py 腳本,您可以很容易地安裝任何 Python 包。例如,您只需要鍵入以下命令:
easy_install ipython
其他可選的安裝方式包括,使用您最喜歡的包管理系統、或者只需下載 IPython 并鍵入以下命令:
python setup.py install
請注意,干線 (trunk) 指的是版本控制系統中的根路徑,其中保存了最近的代碼副本。此外,干線還常常表示一個子版本和版本控制系統。有關更詳細的內容,請參見參考資料部分中的子版本鏈接。
要學習本文中的內容,您需要確保您的客戶端計算機、或者運行所有代碼的計算機都安裝了 NET-SNMP Version 5.4.x 或者更高版本,因為從這個源代碼版本開始,包括了 Python 綁定。在大多數情況下,綁定的安裝需要對源文件進行編譯;然而,也可以使用 Red Hat Package Managers (RPM)。如果你有興趣和時間,那么可以從 Net-SNMP Web 站點查看一下它的最新版本。
有許多編譯選項可供使用,但主要的任務是對 NET-SNMP 進行正確編譯,然后運行 Python 目錄中的、獨立的 Python 安裝程序。另一個需要注意的問題是,當您進行編譯并運行 ./configure 的時候,它將運行本地計算機(正在編譯代理的計算機)的配置腳本。您不應該使用該配置腳本,對于本文而言,您只需要創建一個簡單的配置腳本。
新聞熱點
疑難解答