2010-04-02 15 views
2

我的團隊有一種情況,SNMP SET每兩週左右就會失敗一次。由於該設置自動發生,因此當它失敗時我們不一定會立即注意到它,這可能會導致配置不一致,並導致關聯的wa牙和咬牙切齒。計劃是通過讓我們的軟件在失敗時自動重試SET來解決這個問題。網絡流量/衝突應該多長時間一次導致SNMP集合失敗?

問題是,我們不確定爲什麼發生故障。我對SNMP的知識(非常有限)對診斷這個問題並不是特別有用,所以我想我會問StackOverflow尋求一些建議。我們認爲,每隔一段時間網絡流量高峯都會導致SET失敗。由於SNMP使用UDP進行通信,因此如果短時間內流量很高,命令就會被淹死。但是,我不知道這是多麼普遍。我們有一個帶有單個Cisco路由器的小型網絡,並且該網絡上有不到十幾個受SNMP控制的設備。除了SNMP通信之外,還有一些狀態網頁是從各種設備加載的。如果它有所作爲,我相信我們正在使用適用於Java的AdventNet SNMP API版本4.0.4。

聽起來有些合理,有些SET命令會偶爾掉線,或者我們是否應該尋找其他原因?

回答

3

SNMP被設計爲不可靠。它使用UDP作爲其傳輸協議。路由器在完成高優先級工作時將丟棄SNMP數據包。所以是的,這聽起來非常合理,SET命令偶爾會丟失:)

如果有最新版本的SNMP庫,首先升級到最新版本。

然後您可以設置一個重試機制:使用GET驗證每個SET。如果失敗,則將SET排隊等待以後的嘗試。這需要一個精心設計的排隊機制:對於同一個設置,稍後的SET應該在現有排隊的SET之後或之後排隊。

另一種選擇是每小時同步整個狀態;使用GET進行設置,如果它已更改,請將其設置。無法完成超過3小時的更改可以使用警報系統進行報告。

還有更多的選擇,但如果每週平均只有1次失敗,我會用最簡單的一次:使用GET驗證SET,重試5次,如果仍然失敗,發送電子郵件。

+0

謝謝!很高興知道我們正走向正確的道路。 – 2010-04-02 22:00:20