關於 SNMP 代理程式和管理器的說明

關於 SNMP 代理程式和管理器的說明

我很難理解在談論 SNMP 時使用的一些術語,特別是誰負責 MIB——代理或管理站。

讓我們來看一個簡單的場景:

  • 我透過已知的 OID 監控我的 Linux 機器(例如 CPU 使用率)
  • 當我發送 CPU 使用率 OID 的 SNMP 請求時,誰處理該請求 - 代理程式還是管理站?
  • 如果所做的只是從 MIB 讀取數據,那麼代理在這裡的角色是什麼?
  • 代理有用於 get 的同步 API,但如果我直接進入存儲,為什麼我有這個 get。

誰能幫助我理解這個簡單的 CPU OID 範例,那裡發生了什麼事?

答案1

實際上,這真的很簡單。

SNMP 代理程式運行在您想要管理的機器上,並且可以以任意方式從機器讀取(以及可能設定)資料(讀取條目/proc、透過IPC 與進程通訊、從檔案讀取或任何其他人可以使用的方法)拿出來)。然後,它根據一個或多個定義檔(MIB)以結構良好的方式表示該資料。

然後管理站(或SNMP客戶端)可以與代理通信,根據該MIB從代理程式讀取(或設定)資料。

此外,一些代理程式(通常僅在管理站詢問時才採取行動)可以配置為在滿足某些條件時向管理站發送訊息以通知管理站。這稱為 SNMP 陷阱。

以CPU為例:

  • Agent運作在機器上,可以讀取系統資料。
  • 管理站是 CPU 負載 OID 的輪詢代理。
  • 代理程式正在尋找如何取得此 OID 的數據,讀取資料點(CPU 負載)並將其傳送回管理站。

相關內容