[OpenNMS] 當妳有特殊的資料收集需求時,幾種客製化的方法

之前這篇 [免費服務]001:L君試用OSE (CentOS 5.4 + OpenNMS 1.6.10) 文章,最後面提到的客製化需求,簡單的說,就是要把一些用指令可以查詢到的數據,畫成圖表。

很多網管系統的應對方法,都是在自己這端 fork 一個 telnet 或 ssh ,遠端登入到被監控的機器,執行查詢的指令,然後從回傳的結果抓出需要的資訊(parsing)

但是 OpenNMS 不推薦這樣的方式(!)

我之前就有注意到 opennms 有一些設計理念,很重視 scale/scalability;他們應該是監控 data communication 起家,所以處理的 node 數量比我以前的環境 (telecomm) 多很多。

用我以前做 N產品 在 沒有距離電信 的應用來舉例,N產品的定位是"Manager of Managers(網管系統的網管系統)",一方面接收的告警數量很高,另一方面,界接的網管系統其實還沒有超過 100 套(可能連50套都不到)。

就算界接一百套,就算這一百套都不是其他的界接方式,而都是 “N 產品這邊的 Solaris 伺服器 fork telnet /ssh process ,連到對方的伺服器來抓告警”,這對 Solaris 伺服器的負載來說,小事一樁,不過是 100個 process。

換句話說,N產品界接的是網管系統,node 相對少,但是 alarm per node 相對高(每一個 process 連到別家的伺服器之後,撈進來的告警數量都很大,畢竟每一套都是網管系統,已經彙整了它所管轄的所有告警呢!)

==
反之,OpenNMS 從 datacomm 開始起家,界接的node數量相對多,但是 alarm per node 相對低;因爲 node 數量很多,所以不贊成用 server fork process to telnet/ssh into remote 。

這的確跟我以前的 mindset 不太合,但是會抓老鼠的貓就是好貓,會收告警的系統就是好系統,OpenNMS也有幾種方法來回應這種需求:

1. SNMP
如果被監控的系統沒有提供 MIB 的話,可以用 The
Many Uses of Net-SNMP
這篇英文文章提到的方法

簡單的說,就是運用 Net-SNMP 的 extend 功能,在被監控系統上面開啓 Net-SNMP ,然後做一個 extension ,執行你的 script ,把回傳資料處理成 NET-SNMP-EXTEND-MIB,這樣 OpenNMS 就可以透過 snmp 方式,trigger 被監控系統 去執行 script ,並且傳回可以畫成圖表的資訊。

2. Web page scraping
OpenNMS還有另一招,妳如果可以把需要收集的資料、數據(通常是command output) 作成一頁網頁的話,OpenNMS可以定期去讀取那一頁,抓出需要的資訊:HTTP Collector

3.呼叫 Nagios 的 agent
這一招我更沒有概念,簡單說,如果被監控系統已經裝了 Nagios agent ,可以呼叫它去執行 command
實務上,這多半用在“客戶已經有在使用 Nagios,但是在 scalability上面遇到問題,開始考慮OpenNMS”

最後是廣告時間:[自由軟體導入評估]讓PowerOp到府爲您服務(免費喔!)

發佈了53 篇原創文章 · 獲贊 1 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章