search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

網路監控神器!這 7 大免費開源工具可別錯過

雷鋒網()編者按,在房地產市場,真正一錘定音的是地段,但在網路和伺服器管理領域,可視性才是一切。如果你不了解自家的網路和伺服器每天都在「密謀」著什麼,早晚都得碰上大災難。

幸運的是,市場上有大量工具(有收費的也有開源的)可以點亮我們的網路環境,保我們不受黑暗侵擾。

對普通用戶來說,免費總比收費好,因此今天雷鋒網編輯決定把自己壓箱底的開源工具分享出來,希望它們能守護好各位的網路。這 7 大免費工具可以滿足用戶從網路到伺服器監控的各種需求,裡面甚至還有交換機和路由器的備份。

Cacti

此前如果要監控網路鏈路流量負載,大家一般會用到 MRTG 這個工具。上世紀 90 年代,Tobi Oetiker 抓住時機以輪詢資料庫為基礎寫了一個簡單的繪圖工具,這個工具監控起路由器流量非常好用,它就是 MRTG。經過一段時間的發展,Cacti 出現了,它扛起了 MRTG 的大旗,將流量監控能力提高到了一個新的高度。

Cacti 是一款 LAMP 應用,它能為各類數據繪製出一個完整的圖形框架。在最新版本中,Cacti 採集數據的能力幾乎無人可及,從數據中心冷卻單元回液溫度、濾波器體積再到 FLEXlm 許可證的應用都不在話下。如果設備或服務可以反饋數值型數據,它就能與 Cacti 融為一體。對於如何監控使用了 SNMP 協議的設備(Linux 和 Windows 伺服器、路由器、交換機等),Cacti 已經有了模版,而針對其他硬體和軟體的模板也在不斷完善中。

雖然 Cacti 默認主攻 SNMP 協議設備,但本地 Perl 或 PHP 腳本照樣可以使用。Cacti 的圖形框架可以熟練的分離採集到的數據並將其繪製成離散實例圖,方便重組現有數據並反饋到監視器中。除此之外,你還能通過點擊和拖曳在圖中觀察特定的時間點和區域。

只要能監控到的數據,Cacti 都能追蹤到

只要用上 PHP Network Weathermap 插件,你就能創建自己的實時網路地圖,實時掌握網路設備的鏈路使用率。當你的滑鼠懸停在網路鏈接的描述上時,就會有完整的圖像出現。聽說,許多地方都可以用到Cacti,比如,把一台 42 寸的 LCD 顯示器掛在牆上,讓員工一眼就能看到網路的利用情況和連接的狀態。

Cacti 絕對是一款性能強悍且用途廣泛的繪圖和趨勢工具,它除了能追蹤一切,還有近乎無限的可定製能力,因此到底能不能挖掘出 Cacti 的最大潛力還得看你自己。

Nagios

Nagios 是一款成熟的網路監控工具,它已經誕生多年且處在不斷開發中。用 C 語言編寫的 Nagios 只要搭配監控套件使用,就能滿足大多數網路和系統監控人員的需求。Nagios 後端穩固且擁有流暢直觀的 Web 圖形用戶界面。

與 Cacti 一樣,Nagios 背後有一個活躍的社群,它能用到的插件資源也相當豐富。配合 WebInject 使用,你就能完成對伺服器、網路服務和連接等的實時監控。筆者主要用 Nagios 監控伺服器磁碟空間、RAM、CPU 和 FLEXlm 許可證利用率、伺服器溫度、WAN 和網路連接延遲等。此外,它還能保證 Web 伺服器不但能回答 HTTP 查詢,還能反饋期望頁面。

沒有通知提醒的網路和伺服器監控無疑是不完整的,Nagios 就有一套 email/簡訊通知引擎,同時還能通過升級來獲取智能通知能力(在對的時間通知對的人),如果使用得當絕對是超級殺手鐧。除此之外,筆者還將 Nagios 與 Jabber(即時通訊伺服器)進行了整合,有了即時通訊、email 和簡訊三種方案,再也不怕錯過通知了。藉助流暢的 Web 圖形用戶界面,用戶還能快速暫停通知或發現問題,同時它還能記錄管理員留下的便條。

Nagios 對初學者來說有些困難,但複雜的配置也是它的力量來源

如果以上這些還不夠你用,Nagios 還有映射功能,它能按網路上的位置將被監控設備有邏輯的呈現在監視器上,同時用彩色編碼標出存在的問題。

不過 Nagios 也有缺點,它配置起來實在太複雜了,至少對初學者來說是挺費時間的。不過,如果你掌握了標準的 Linux/Unix 配置文檔,就會覺得一切都挺簡單。與其他工具一樣,Nagios 功能繁多,但想用好這些功能也得有相對應的能力。

在這裡我想說的是,別因為 Nagios 的複雜性而氣餒,玩轉了它之後能省下的時間簡直不可限量。此外,Nagios 上的預警系統絕對值得一用,所以花點時間好好學學吧。

Icinga

Icinga 起初是 Nagios 的一個分支,但最近被重新編寫成了 Icinga 2。眼下,兩個版本都還處在不斷開發中,Icinga 1.x 可以直接反向兼容 Nagios 插件和配置。Icinga 2 則是做減法得來的,它還能提供分散式監控和多線程框架,這是 Nagios 或 Icinga 1 所不具備的。你可以從 Nagios 遷移到 Icinga 1,然後再遷移到 Icinga 2。

與 Nagios 一樣,Icinga 幾乎也能通吃所有設備,搭配 SNMP、定製插件和擴展使用效果更佳。

Icinga 提供全局監控和警告框架,只是在 Web UI 上與 Nagios 有所不同

Icinga 有多款 Web UI,它與 Nagios 的不同主要是配置,用戶通過 Web UI 就能搞定,省去了麻煩的配置文檔。對於那些在命令行之外管理配置的人來說,這是個重大利好。

Icinga 融入了多款繪圖和監控套件(如 PNP4Nagios、inGraph 和 Graphite),可視化性能絕對可靠。此外,Icinga 還擁有擴展報告功能。

NeDi

如果你搜尋網路上的設備時還需要遠程登錄交換機並進行 MAC 地址查詢,或者說你希望知道某台設備身處何方,那麼 NeDi 絕對是個好選擇。

NeDi 是一款 LAMP 應用,它會對網路交換機上的 MAC 地址和 APR 映射表進行篩查,在本地資料庫給發現的每個設備編目。雖然這款工具不太有名,但對於那些設備一直處在移動中的公司網路來說,它用起來確實非常方便。

你可以直接登陸 NeDi 的 Web 圖形用戶界面並通過 MAC 地址、IP 地址或 DNS 域名來搜索交換機、交換機埠或任何設備的無線 AP。NeDi 會儘可能多的從它遇到的網路設備上採集信息,並把序列號、硬體和軟體版本號、當前的溫度、模塊配置等給記錄下來。你甚至可以用 NeDi 標示出被盜或丟失設備的 MAC 地址。如果這些設備重新在網路上露面,NeDi 會自動通知用戶。

NeDi 會一直遊走在網路中並給設備編目

發現設備是定時任務,而配置則更加直截了當,它自帶一個配置文檔,用戶可以根據需求進行定製,包括使用正規則表達式或網路邊界定義跳過某個設備。如果你使用的是 MPLS 網路或由原先的界限分隔的網路,甚至可以直接插入設備的種子列表來查詢。NeDi 通常會使用 CDP 協定或鏈路層發現協定,在網路中穿梭時它會順帶發現新的交換機和路由器,隨後連上這些設備手機信息。一旦搞定了初始設置,運行發現任務就會變的相當快。

其實 NeDi 與 Cacti 已經實現了一定程度的融合,如果給 Cacti 提供可用的增速,還能直接調用 Cacti 的圖形框架。

Ntop

Ntop 計劃,也就是傳說中的 Ntopng,已經陸陸續續開發了十年。它是一款頂尖的網路流量監控工具,Web 圖形用戶界面簡潔且順滑。它使用 C 語言編寫且完全獨立,你只需要運行配置,就能監控某個特定網路介面的單一進程,就這麼簡單。

Ntop 提供了簡單易懂的圖形和表格來顯示當前和過去的網路流量,包括協議、源、目的地以及特定交易的歷史,甚至兩端的主機。此外,你還會發現廣泛的網路利用率圖表、實時地圖和趨勢,以及針對各種附加件(例如NetFlow和sFlow)的插件框架。這裡甚至還有專門嵌入到 Ntop 的硬體監控器 Nbox。

Ntop 甚至用上了輕量級 Lua API 框架,通過腳本語言就能支持擴展。Ntop 還可以將主機數據存儲在 RRD 文件中,以支持持久的數據採集。

Ntop 是一款數據包嗅探工具

Ntop 最便捷的用途就是現場流量檢查。當你發現自己的某個 Cacti PHP Weathermap 突然顯示紅色的網路鏈接集時,就意味著這些鏈接的利用率超過了 85%,但原因卻不得而知。只要切換到 Ntopng 程序來監控該網路段,就可以查看最高流量消耗者每分鐘的報表,並立即獲知到底哪個主機在佔用流量。

這種可視性算得上是無價之寶了,而且唾手可得。從本質上來講,你可以在被配置成交換機級別的任何埠運行 Ntopng,以便監控任何埠或者 VLAN。

Zabbix

Zabbix 是一款全面的網路和系統監控工具,它將多個功能集成到了一個基於 Web 的控制台。它可以配置為監控和採集來自各種伺服器和網路設備的數據,為每個目標提供服務和性能監控。

Zabbix 可與運行在監控系統上的代理協同工作,它也可以使用 SNMP 或其他監控方法(如對開放服務 SMTP 和 HTTP 的遠程檢查),這樣無需代理就能運行。它支持 VMware 和其他虛擬化管理程序,並可生成關於管理程序性能和活動的深度數據。此外,Zabbix 還可以監控 Java 應用程序伺服器、Web 服務和資料庫等。

用戶可以手動或通過自動發現過程添加主機。一組廣泛的默認模版集適用於最常見的用例,例如 Linux、FreeBSD 和 Windows 伺服器。一些知名服務(如 SMTP 和 HTTP),以及 ICMP 和 IPMI 設備也可進行詳細的硬體監控。此外,使用 Perl、Python 或幾乎任何語言編寫的自定義檢查也可以整合進 Zabbix。

監控伺服器和網路時,Zabbix 用到了一個巨大的工具集

Zabbix 還能提供可定製的儀錶盤及 Web 用戶圖形界面來突顯最關鍵的組件。通知和升級可以作為自定義操作添加到主機或主機組。你還可以將操作配置為觸發遠程命令,當觀察到某個事件達到一定標準,就會自動在被監控的主機運行腳本。

Zabbix 會以圖形形式顯示性能數據,如網路數據吞吐量和 CPU 使用率,用戶還可以用定製的顯示方式收集它們。此外,Zabbix 支持用定製地圖、屏幕及幻燈片來顯示被監控設備的當前狀態。

開始階段 Zabbix 用起來很複雜,但謹慎使用模版和自動發現功能可以緩解整合時的麻煩。此外,除了可安裝的工具包,Zabbix 還可以充當幾種流行管理程序的虛擬設備。

Observium

Observium 是一個網路和主機監控器,它可以為系統掃描位置範圍並使用通用 SNMP 登錄憑證來監控系統。作為一款 LAMP 應用,Observium 設置和配置起來比較容易,只需安裝常見的 Apache、PHP、MySQL、資料庫創建和 Apache 配置等。安裝完成後,它就成了自己的伺服器,自帶專用 URL,而不是隸屬於更大的 Web 樹。

隨後,你可以登錄圖形用戶界面並開始添加主機和網路、自動發現範圍和 SNMP 數據等。下一步就是讓 Observium 在整個網路穿行,並採集每個系統的數據。Observium 還可以通過 CDP、LLDP 或 FDP 發現網路設備,主機代理則可以部署到 Linux 系統來幫助完成數據的採集。

Observium 結合了系統網路監控與性能趨勢分析

所有這些數據都會呈現在易用的用戶界面上,它能提供大量統計數據、圖表和圖形,其中包括 ping 和 SNMP 響應時間,以及 IP 輸出、分片、數據包數量等。根據設備的不同,這些數據可以用於每個埠,也包括模塊化設備。

對伺服器來說,Observium 會顯示 CPU、RAM、存儲、swap、溫度和事件日誌狀態。你還可以將數據收集和服務的性能圖表進行整合,包括 Apache、MySQL、BIND、Memcached 和 Postfix等。

Observium 是一款超棒的 VM 工具,因此它也可以迅速成為監控伺服器和網路狀態信息的常用工具,該工具可以給各種規模的網路帶來自動發現和圖表功能。

DIY

通常來說,IT 管理員認為他們不能越線,無論我們面對的是定製應用或「不受支持」的硬體,我們很多人都認為,如果監控工具無法立即處理它,也就意味著它無法處理了。但事實並非如此,只要多付出點努力,沒有什麼不能監控、登記,而且我們還能讓它們更具可視性。

典型例子就是具有資料庫後端的自定義應用,如 Web 商店或公司內部財務應用。管理層希望通過漂亮的圖形和圖表來描述數據的使用情況。舉例來說,如果你已經在使用 Cacti,就有幾種方法可以構建這種圖表,比如構建簡單的 Perl 或者 PHP 腳本在資料庫運行查詢功能,並將數據傳輸到 Cacti,或者使用私有 MIB(管理信息庫)調用 SNMP 資料庫伺服器。這完全可以做到,並且很容易就能完成。

如果是不受支持的硬體,只要它使用 SNMP,就很容易獲取你需要的數據,但可能需要費點勁。只要你有正確的 MIB 來查詢,隨後就可以使用這些信息來編寫或修改插件來採集這些數據。在很多情況下,你甚至可以使用標準 SNMP 整合你的雲服務到這種監控中,當然也可以通過雲供應商提供的 API。雖然你有雲服務,但並不意味著你應該將所有監控交給雲供應商。因為它們可能不像你一樣了解你的應用和服務堆棧。

對普通技術人員來說,讓這些工具運行起來並不困難,因為這些工具通常有針對 Linux 的數據包可供下載。在某些情況下,它們還可被預先配置為虛擬伺服器。配置和調整這些工具可能需要一些時間,但最初並不難。無論怎麼說,這些工具絕對值得嘗試。

無論你最終會用到哪款工具,至少都能獲得一個全年無休搞監控的好工具。雖然有些工具用起來稍顯困難,但相信我,前期投入的時間絕對虧不了。此外,記得在另一個伺服器上運行一組小型監控工具來盯著主監控伺服器。

雷鋒網翻譯自InfoWorld。

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦