比較常見的開源監控系統
Nagios
介紹:
它是一款免費的開源IT基礎設施監控系統,能有效監控 Windows 、Linux、VMware 和 Unix 主機狀態,交換機、路由器等網絡設置等。Nagios核心功能是監控報警,告警能力很不錯,但是圖形展示效果很差。l另外通過安裝插件和編寫監控腳本,用戶可以實現應用監控,並針對大量的監控主機和多個對象部署層次化監控架構。
同時nagios更加靈活。Nagios最大的特點是其強大的管理中心,盡管其功能是監控服務和主機的,但Nagios自身並不包括這部分功能代碼,所有的監控、告警功能都是由相關插件完成的。
功能特性:
- 監控網絡服務(SMTP、POP3、HTTP、NNTP、PING等)
- 監控主機資源(處理器負荷、磁盤利用率等);
- 簡單地插件設計使得用戶可以方便地擴展自己服務的檢測方法;
- 並行服務檢查機制;
優點:
-
通過安裝插件和編寫監控腳本,可以實現對目標的監控
-
出錯的服務器、應用和設備會自動重啟,自動日志滾動
-
配置靈活,可以自定義shell腳本,通過分布式監控模式
-
支持以冗余方式進行主機監控,報警設置多樣
-
命令重新加載配置文件無需打擾Nagios的運行
缺點:
- 事件控制台功能很弱,插件易用性差
- 對性能、流量等指標的處理不給力
- 看不到歷史數據,只能看到報警事件,很難追查故障原因
- 配置復雜,初學者投入的時間、精力和成本比較大
Cacti
介紹:
基於php,mysql,snmp及rrdtool開發的網絡流量監測圖形分析工具
優點:
機房、流量監控方面應用較廣泛
缺點:
報警比較簡陋
Ganglia
介紹
用於監控數以千計的節點的基礎性能和流量使用情況,Ganglia是一個跨平台可擴展的,高性能計算系統下的分布式監控系統。它已被廣泛移植到各種操作系統和處理器架構上。
優點
- 部署方便,用不同分層管理上萬台機器,無需逐個添加配置;
- ganglia服務端能通過一台客戶端收集同一個網段的所有客戶端的數據;
- ganglia集群服務端能夠通過一台服務端收集到它下屬的所有客戶端數據。
- 適合監控系統性能,通過曲線很容易見到每個節點的工作狀態
- 可以自定義監控項,監控展示有表格和圖像兩種,支持手機版
- 部署方便,通過不同的分層管理上萬台機器,無需逐個添加配置
缺點
沒有內置的消息系統,出現問題不能夠及時報警無法報警
Zabbix
介紹
Zabbix 是一個企業級的分布式開源監控方案,是一個基於WEB界面的提供分布式系統監控以及網絡監控功能的企業級開源運維平台,也是目前國內互聯網用戶中使用最廣的監控軟件。zabbix易於管理和配置,能生成比較漂亮的數據圖,其自動發現功能大大減輕日常管理的工作量,豐富的數據采集方式和API接口可以讓用戶靈活進行數據采集,而分布式系統架構可以支持監控更多的設備。
優點
- 支持多平台的企業級分布式開源監控軟件
- 安裝部署簡單,多種數據采集插件靈活集成
- 功能強大,可實現復雜多條件告警,
- 自帶畫圖功能,得到的數據可以繪成圖形
- 提供多種API接口,支持調用腳本
- 出現問題時可自動遠程執行命令(需對agent設置執行權限)
缺點
- 項目批量修改不方便
- 社區雖然成熟,但是中文資料相對較少,服務支持有限;
- 入門容易,能實現基礎的監控,但是深層次需求需要非常熟悉Zabbix並進行大量的二次定制開發,難度較大;
- 系統級別報警設置相對比較多,如果不篩選的話報警郵件會很多;並且自定義的項目報警需要自己設置,過程比較繁瑣;
- 缺少數據匯總功能,如無法查看一組服務器平均值,需進行二次開發;
- 數據報表需要特殊二次開發定義;
Openfalcon
介紹
OpenFalcon是一款企業級、高可用、可擴展的開源監控解決方案,Open-falcon是小米運維團隊從互聯網公司的需求出發,根據多年的運維經驗,結合SRE、SA、DEVS的使用經驗和反饋,開發的一套面向互聯網的企業級開源監控產品。
優點
- 自動發現,支持falcon-agent、snmp、支持用戶主動push、用戶自定義插件支持
- 支持每個周期上億次的數據采集、告警判定、歷史數據存儲和查詢
- 高效的portal、支持策略模板、模板繼承和覆蓋、多種告警方式、支持callback調用
- 單機支撐200萬metric的上報、歸檔、存儲
- 采用rrdtool的數據歸檔策略,秒級返回上百個metric一年的歷史數據
- 多維度的數據展示,用戶自定義Screen
- 通過各種插件目前支持Linux、Windows、Mysql、Redis、Memache、RabbitMQ和交換機監控。
缺點
由於發布時間較短,很多基礎的服務監控插件(如Tomcat、apache等)還不支持,很多功能還在不斷完善中,另外由於缺少專門的支持,雖然有開放社區,但是解決問題的效率相對較低。
Prometheus
介紹
Prometheus是最初在SoundCloud上構建的開源系統監視和警報工具包,它是一個獨立的開源項目,並且獨立於任何公司進行維護。為了強調這一點並闡明項目的治理結構,Prometheus作為新一代的雲原生監控系統
優點
官網介紹
- 一個多維數據模型,其中包含通過度量標准名稱和鍵/值對標識的時間序列數據
- PromQL,一種靈活的查詢語言 ,可利用此維度
- 不依賴分布式存儲;單服務器節點是自治的
- 時間序列收集通過HTTP上的拉模型進行
- 通過中間網關支持推送時間序列
- 通過服務發現或靜態配置發現目標
- 多種圖形和儀表板支持模式
其他
- 強大的功能,除了雲平台之外,還支持主機,各種db資源,web網站,dns,網絡延時,端口連通性,各種語言寫的監控程序等
- 良好的性能:單機實例支持數十萬監控項/每秒
- 高可用的架構:核心組件都有高可用解決方案
- 強大的查詢能力:自帶查詢語言
- 成熟的社區和健全的生態
缺點
沒有認證!!!prometheus官方文檔也是寫的,他們專注於監控,不提供用戶認證體系。需要的話,需要自己在最外層包一層nginx實現反向代理認證。
總結
-
Prometheus並不是最好的監控系統,選擇它的主要原因是他對雲環境的原生支持
-
恰好現在雲環境是當前最火,應用最廣泛的解決方案
-
監控是應用於服務的,不同的服務場景選擇不同的監控軟件,切勿盲從