廣西大學行健文理學院 鐘曉鳴
在疫情防控期間,許多高校為了解決工作和學習不便的問題,開始大規模的將傳統學習、辦公轉為了線上模式。這一轉變在有效促進高校信息化的同時也為網絡管理帶來了不少的壓力,例如:在疫情防控期間,高校用戶通過VPN獲取校內信息和資源的行為迅速激增,VPN設備受限于性能和用戶授權許可數等指標,是否能滿足疫情下用戶對網絡的支撐需求,需要網絡管理人員時刻掌握設備性能情況。因此,對校園網絡設備工作狀態、性能的常態化監管尤其重要,也為現有網絡設備是否需要升級改造提供重要依據。然而在現實網絡管理中,管理員難以不間斷地觀察性能參數的變化,并且當參數變化超出管理員預期時往往已經錯過了最佳的發現時機。
多數的網絡設備都自帶有管理后臺,可以查看設備工作狀態和性能參數。但管理后臺一般也僅提供了查看實時狀態或短期的變化趨勢,且存在以下三方面不足:(1)無法保存長期的狀態和性能數據以供歷史查詢和回溯分析;(2)無法對設備狀態和性能參數實施觸發式告警;(3)難以將多個不同網絡設備的相關運行狀態和性能參數同時展開對比,以便快速找出問題的關聯性。為解決上述問題,需要一種通用的網絡監管軟件(系統)進行更有效管理。雖然互聯網上大多數網絡監管軟件都可以很輕松地實現對于諸如網絡端口流量、WMI、服務可用狀態等管理,但對于一些特殊設備中的不常見的運行性能參數,如UPS的實時負載和電池供電時的輸出電壓,VPN的實時在線用戶數和會話數不等,因為差異化設置較多,一般難以實施自動化識別,需要通過一系列手動設置才能被正確識別并用于監管。以下以PRTG Network Monitor V22.1.75.1594 x64版本為例,介紹在如何運用PRTG Network Monitor(以下簡稱PRTG)通過SNMP私有OID的管理形式,對此類不常見的特殊性能參數進行有效監管。
PRTG是一款功能強大的網絡監管軟件,可監管網絡基礎設施中的各種基于SNMP、WMI、SSH、Ping(IGMP)、HTTP、NetFlow等技術的網絡設備、服務器和其他網絡終端[1]。PRTG運行于Windows平臺,原生支持簡體中文,因其部署簡便、功能齊全、交互性好、定制度高及具有豐富的監管圖表等特點,在網絡管理運維人員中廣受歡迎。從官方網站下載的PRTG軟件有30天的試用期,在試用期結束后自動轉為免費版,免費版除了限制最多使用100個傳感器,其余的功能與付費版基礎一致,且通過購買“商業許可證”能平滑過渡到付費版,這給很多初次接觸PRTG的用戶帶來測試便利和完整的體驗效果,為規模化部署提供良好的實踐基礎。
PRTG以傳感器的形式監察網絡設備的各項運行性能參數。PRTG提供了自動發現功能,為大型網絡批量添加設備和傳感器提供方便。一般情況下,在已經設置好網絡設備連接憑證(例如SNMP的社區字符串、WMI的Windows系統登陸賬號等)的基礎上,PRTG可以自動掃描出指定IP地址范圍內的交換機、路由器、防火墻、服務器等網絡設備,并按網絡設備屬性自動歸類,同時識別出網絡設備中常見的傳感器,諸如基于SNMP的端口流量,基于Windows系統的WMI各類信息,基于TCP、ICMP協議的HTTP、Ping訪問通達情況等。但對于一些特殊的或不常見的性能參數就無法使用自動發現功能,需手動設置添加。
由于SNMP(Simple Network Management Protocol,即“簡單網絡管理協議”)簡單、經濟等特點,SNMP在網絡設備中得到廣泛應用,也使得大多數的特殊性能參數可以在SNMP方式下監管。因此在PRTG中利用SNMP的應用廣泛性可以對特殊性能參數進行有效管理。在SNMP中,被管理設備的最基本的管理元素是“管理對象”,設備的某個性能參數即是一個“管理對象”。每一個“管理對象”都有唯一指定的OID(Object Identifier,對象標識),它們以樹狀結構分級分組(節點)管理,通常用數字方式表示為“.1.3.6.1.2.1……”[2],其各節點數字也可用字符方式表示,這里不再贅述。因此我們在對設備進行監控和管理時就需要以定期輪詢的方式獲取每個OID的返回值,從而得到這個“管理對象”在時間上的變化情況,通過網絡監管軟件的處理后還可得到直觀的變化趨勢圖等,這是SNMP的基本管理方式。在PRTG中每個傳感器對應一個OID。
SNMP中的“管理對象”分為公共、私有兩類。PRTG提供的自動發現功能可自動識別出大多數常見的公共“管理對象”,足以滿足一般的網絡管理需求,但在兩種特殊情況下,需要我們對SNMP傳感器進行手動添加:一種是不常見的公共SNMP“管理對象”(以下簡稱公共OID),如設備的系統時間,網絡端口的IP地址、MTU、接口速率基本參數等;另一種是各網絡設備廠商的自有SNMP“管理對象”(以下簡稱私有OID),主要為網絡設備特有的“管理對象”,如之前所述的VPN的在線用戶數、會話數等。本文所討論的內容都適合這兩種特殊情況,以下以私有OID為例進行說明。
由于各網絡設備廠商的私有MIB(Management Information Base),即“管理信息庫”,可看作是對OID的定義集合,一般都不對外公開,因此在網上較難搜索到性能參數所對應的私有OID信息。
獲取私有OID的途徑主要是通過購買設備后,一般可在設備的配置SNMP頁面下載,或在隨贈光盤說明書中獲得,也可直接向設備廠商索取。設備廠商一般會通過兩種方式提供,一種是提供符合RFC文檔格式的設備私有MIB文件;另一種是直接提供含有私有OID信息的文檔。如果是前者,則需要通過一些查看MIB信息的第三方工具,如ManageEngine MibBrowser(以下簡稱MibBrowser),加載私有MIB文件后進行分析,找出所需要“管理對象”的OID;如果是后者,可直接將其所提供的私有OID用于下一步的驗證環節。
驗證的目的是確定OID是否有效,同時通過分析驗證時所獲取OID返回內容的數據類型、數量級、單位等性質,確定下一步如何在PRTG中配置傳感器參數。在驗證前,被管理設備需要事先配置好IP地址、SNMP設備憑據(SNMP版本、社區字符串、SNMP端口)等設置,并確保管理端和被管理設備之間的網絡能互訪暢通。驗證工具建議使用MibBrowser,可以快速有效地進行OID的驗證與分析,具體方法這里不展開敘述。如不具備上述軟件工具,也可在完成下一步的私有OID傳感器配置完成后,在被管理設備“概述”中找到傳感器“消息”,可簡單查看OID的返回內容。
上述準備步驟完成后,進入PRTG點擊“設備”項,在設備列表右側的藍色“+”號處選擇“添加設備”進行添加一臺待管理的設備,如一臺VPN設備。按提示要求配置好設備名稱、IP版本、IP地址/DNS名稱、SNMP設備憑據(SNMP版本、社區字符串、SNMP端口等)。添加完設備后,點擊該設備名稱進入該設備的管理頁面,在默認的“概述”頁的右側點擊藍色“+”號選“添加傳感器”,然后選擇添加傳感器的類型。由于傳感器種類眾多,建議通過分類篩選或搜索關鍵字,以快速找到所需的添加類型。這里選“SNMP 自定義”或“SNMP 自定義字符串”(如圖1所示)都可以添加私有OID的傳感器,至于選擇添加哪種方式的傳感器,則需要根據OID輪詢返回內容是數值型還是字符型來確定。如果返回內容是數值型使用“SNMP自定義”,是字符型則使用“SNMP自定義字符串”。下面具體說明如何添加這兩種自定義傳感器。

圖1 添加傳感器Fig.1 Add sensor
3.3.1 “SNMP 自定義”方式
點擊添加“SNMP自定義”,進入配置選項卡。以添加“CPU平均負荷(1分鐘)”傳感器為例,添加該傳感器時主要注意“OID設置”選項的填寫, 建議使用OID數字方式表示(如需要使用字符方式表示時,節點字符須加雙引號);此外,需特別注意的是:OID的第一個“.”要去掉,例如某型號VPN設備的“CPU平均負荷(1分鐘)”的OID為“.1.3.6.1.4.1.35047.1.6.1.0”,則在PRTG中的“OID”項須填入“1.3.6.1.4.1.35047.1.6.1.0”。在“單位字符串”項填入適合的單位,如“%”;如果輪詢返回值為小數則“值類型”選“絕對值(浮點)”;其他輸入項可視情況按需填寫,檢查無誤后按“創建”完成該傳感器添加。如不了解OID的形式和變化,可以借助PRTG的配套工具“Paessler MIB Importer”,導入被管理設備相應的MIB后進行查看。
3.3.2 “SNMP 自定義字符串”方式
點擊添加“SNMP自定義字符串”,進入配置選項卡。以添加“在線用戶數”傳感器為例。與前例相似,添加該傳感器時主要注意“OID設置”選項的填寫。如“OID”填入“1.3.6.1.4.1.35047.2.10.7.0”。此外還需特別注意,對于傳感器輪詢返回內容是字符串類型的,還需要將字符串中的數值提取出來,否則未經處理的字符串不能被PRTG正確識別并存儲,且在后期的圖表和告警通知功能將無法引用。例如“在線用戶數”傳感器輪詢返回內容的類型為字符串,具體內容格式為“29 loginned users in all”,則在“擴展處理”選項中的“正則表達式”輸入“d+”,即可將字符串中的數值“29”提取出來。同樣,可以借助MibBrowser等工具分析OID的返回內容的格式,以便采用正確的正則表達式提取數值。檢查無誤后按“創建”完成該傳感器添加。
添加傳感器后,已可以對該設備相關性能進行基本的運行狀態查看、查詢等管理。但為了發揮PRTG功能優勢,提高管理效率,我們可以利用傳感器所采集的數據進行更有效地監管,便于查看、分析數據,以及在需要時使PRTG發出告警,提醒網絡管理員注意。
依次點擊“拓撲圖”——右側“+”號——“添加拓撲圖”,創建一個新的拓撲圖。如圖2所示,在“拓撲圖設計程序”界面中分為左、中、右三個部分,左邊是設備樹,點擊設備組/設備名稱前的小三角可以展開查看該設備組包含的設備或該設備包含的傳感器;中間部分是編輯區,可將左邊選定的傳感器拖放到該區域進行編輯;右邊是對編輯區里選中對象的屬性設置,包括該對象的位置、寬高、展示屬性等。這里我們主要利用傳感器展示屬性中的“圖表”功能來設計傳感器的趨勢圖。利用將不同屬性“圖表”拖放到編輯區的傳感器上,可以使該傳感器以不同圖表方式進行實時(2小時)、2天、30天、365天展示,便于同時查看多個不同的傳感器在可定制的時間跨度范圍內的變化趨勢。PRTG的“拓撲圖”設計簡單方便,通過鼠標拖拽等方式能方便地實現設備傳感器的選取、圖表類型設置、縮放圖表等。生成的圖表可在“獲得HTML”中獲取用于對外的Web發布的URL地址,便于不同權限的管理用戶通過瀏覽器直觀察看圖表。

圖2 拓撲圖設計程序Fig.2 Topology diagram design program
PRTG通過對傳感器進行實時監測感知網絡設備的運行狀況,當傳感器的數據、狀態發生變化滿足用戶指定條件時,PRTG可按設定好的觸發器觸發相應的事件告警通知網絡管理員。PRTG主要有五種觸發條件類型的通知觸發器,其觸發條件和作用為別為:
(1)狀態觸發器:傳感器處于特定狀態(停機、警告、異常等);
(2)速度觸發器:傳感器指定通道處于(超過、低于、等于、不等于)指定速率,主要用于帶寬速率(BPS)類型的傳感器;
(3)卷觸發器:傳感器指定通道在特定周期內達到指定字節量,主要用于以bit、byte為單位的流量型傳感器;
(4)閾值觸發器:傳感器指定通道處于(超過、低于、等于、不等于)指定閾值,主要用于網速(BPS)以外的數值類型的傳感器;
(5)更改觸發器:傳感器發生變化。
PRTG不但可添加多個不同類型的觸發器,相同類型的觸發器也可以添加多個,以應對復雜的觸發條件需要。使用觸發器時先選擇需要觸發告警的傳感器,點擊進入其管理頁后在“通知觸發器”里可為該傳感器添加上述2~3種類型通知觸發器。在PRTG系統“設置”中配置好“通知投遞”“通知模板”的基礎上,我們就可實現將觸發告警信息自動通過電子郵件、短信、SNMP陷阱、App推送等方式通知網絡管理員[3]。
例如為“在線用戶數”傳感器添加閾值觸發器。將學校已購買的在線用戶授權許可數的85%設為閾值(需要換算成具體數值),如圖3所示,閾值觸發器規則設置為:當“在線用戶數”通道“超過”“300”(閾值)至少“60”秒時,執行“發送至管理員的郵件和推送通知”。當線用戶數超過閾值時觸發告警,網絡管理員就可以很方便地在第一時間獲取到超閾值信息,為增加授權許可數或更換設備提前做好準備。

圖3 通知觸發器Fig.3 Notification triggers
網絡設備的一些特殊性能參數的監管是網絡管理中較難實現的環節,在眾多的網絡管理系統中也往往都忽視了對這類特殊的性能參數的獲取和管理。通過PRTG豐富的管理功能,只要能在網絡設備的SNMP中找到特殊性能參數所對應的OID,就可以實現對其進行有效監管,從而提高網絡管理人員對特殊性能參數的感知和管控能力。
引用
[1]PAESSLER A G.Paessler - The Monitoring Experts[OL].(2021-02-11)[2022-09-14].https://www.paessler.com/cn.
[2]賀平.網絡管理與維護[M].2版.北京:高等教育出版社,2010: 51-54.
[3]張智偉.利用PRTG構建免費網絡監控環境[J].中國傳媒科技, 2019(5):109-112.