Github上排名前五的開源網(wǎng)絡(luò)監(jiān)控工具
維護(hù)網(wǎng)站正常運行是系統(tǒng)管理員最基本的任務(wù)之一,所以對系統(tǒng)進(jìn)行監(jiān)視,并保持網(wǎng)絡(luò)的最佳運行狀態(tài)至關(guān)重要。
在現(xiàn)代的網(wǎng)絡(luò)中,有許多不同的方法來監(jiān)視,網(wǎng)絡(luò)監(jiān)控工具專門用于監(jiān)控網(wǎng)絡(luò)流量和響應(yīng)時間,而應(yīng)用程序性能管理解決方案使用代理從應(yīng)用程序堆棧中提取性能數(shù)據(jù)。此外,你還需要確保網(wǎng)站不被攻擊。
本文將重點討論開源網(wǎng)絡(luò)監(jiān)控工具,這些工具幫助你監(jiān)視各個節(jié)點和應(yīng)用程序,以及時發(fā)現(xiàn)性能低下的跡象。你還可以查看整個網(wǎng)絡(luò)的性能。
1、Cacti
如果你對開源網(wǎng)絡(luò)監(jiān)控工具有所了解,那么你可能聽說過Cacti。它是一個圖形化解決方案,Cacti主要是通過rrdtool這個工具來繪圖的,被許多網(wǎng)絡(luò)管理員用來收集局域網(wǎng)中的性能數(shù)據(jù)。Cacti在Windows和Linux上支持簡單網(wǎng)絡(luò)管理協(xié)議(Simple Network Management Protocol, SNMP),用于創(chuàng)建流量數(shù)據(jù)圖。
Cacti通常使用它通過snmpget來獲取數(shù)據(jù),腳本返回的值存儲在MySQL數(shù)據(jù)庫中,這些數(shù)據(jù)用于生成圖形。
這聽起來很復(fù)雜,但是Cacti有模板來幫助加速這個過程。你還可以創(chuàng)建一個圖形或數(shù)據(jù)源模板,用于將來的監(jiān)視活動。
地址:https://www.cacti.net/index.php
2、Nagios Core
Nagios Core是最著名的開源監(jiān)控工具之一。使用Nagios Core,你就可以自動發(fā)現(xiàn)設(shè)備、監(jiān)視連接的系統(tǒng)"變壞"和"變好",并生成復(fù)雜的性能圖。
支持定制是Nagios Core變得如此流行的主要原因之一。例如,Nagios V-Shell被添加為AngularJS內(nèi)置的PHP Web界面,該界面基于可搜索表和一個用CodeIgniter設(shè)計的RESTful API。
如果需要更多的功能,可以查看Nagios Exchange,它提供了一系列附加組件,可以將附加功能合并到網(wǎng)絡(luò)監(jiān)控中。
地址:https://www.nagios.org/projects/nagios-core/
3、Icinga 2
Icinga 2是另一個廣泛使用的開源網(wǎng)絡(luò)監(jiān)控工具。它建立在Nagios Core的基礎(chǔ)之上,它有一個靈活的RESTful API,允許你輸入自己的配置并通過儀表板查看實時性能數(shù)據(jù)。
Icinga2還允許監(jiān)視實時和歷史性能數(shù)據(jù)。它為實時監(jiān)控提供了出色的警報功能,你還可以在Windows、Debian、DHEL、SLES、Ubuntu、Fedora和OpenSUSE上免費下載Icinga 2。
地址:https://icinga.com/products/icinga-2/
4、Zabbix
Zabbix是另一個業(yè)界領(lǐng)先的開源網(wǎng)絡(luò)監(jiān)控工具,從戴爾到Salesforce的公司都使用它,因為它具有可擴(kuò)展的網(wǎng)絡(luò)監(jiān)控能力,Zabbix在網(wǎng)絡(luò)、服務(wù)器、云、應(yīng)用程序和服務(wù)監(jiān)控方面做得非常好。
你可以通過Zabbix可以跟蹤網(wǎng)絡(luò)信息,如網(wǎng)絡(luò)帶寬使用、網(wǎng)絡(luò)健康狀況和配置更改,并排除需要解決的問題。與其他開源監(jiān)控工具相比,Zabbix提供了很高的便利性。諸如它可以自動檢測連接到網(wǎng)絡(luò)的設(shè)備。
地址:https://www.zabbix.com/
5、Prometheus
Prometheus是一個開源的網(wǎng)絡(luò)監(jiān)控工具,它專為監(jiān)控時間序列數(shù)據(jù)而構(gòu)建。你可以按時間長度標(biāo)準(zhǔn)或關(guān)鍵詞對來標(biāo)識時間序列數(shù)據(jù)。時間序列數(shù)據(jù)存儲在本地磁盤上,以便在緊急情況下輕松訪問。
Prometheus的Alertmanager負(fù)責(zé)消息通知,Alertmanager可以通過電子郵件,PagerDuty或OpsGenie發(fā)送通知,如有必要,你也可以關(guān)閉警報通知。
Prometheus的UI元素非常出色,允許你從瀏覽器切換到模板語言和Grafana集成。你還可以將各種第三方數(shù)據(jù)源從Docker,StatsD和JMX中集成到Prometheus中,來自定義Prometheus。
地址:https://prometheus.io/
在這五種方法中,我認(rèn)為Icinga 2和Zabbix是最好的選擇,可以為你提供所有你需要的東西,讓你開始監(jiān)控你的網(wǎng)絡(luò),讓它時刻保持在線,并最大限度地減少由于性能問題而導(dǎo)致措手不及的狀況。