天天看點

運維人必須掌握的 5 種常用運維監控工具

作者:郭主任講網絡
運維人必須掌握的 5 種常用運維監控工具

運維監控工具千千萬,僅開源的解決方案就有流量監控(MRTG、Cacti、SmokePing、Graphite 等)和性能告警(Nagios、Zabbix、Zenoss Core、Ganglia、OpenTSDB等)可供選擇。

并且每種軟體都有自己的特點和功能,各自的側重點和目标不完全相同,在設計理念和實作方法上也大同小異,但都具有共同特征。例如,采集資料、分析展示、告警以及簡單的故障自動處理。最終都能達到對 IT 系統服務可用性的一個完全展示。

下面我們将針對目前行業内常用的五種監控工具(Cacti、Nagios、Zabbix、Grafana、Prometheus)詳細介紹各自的特點。

Cacti

Cacti(英文含義為仙人掌)是一套基于 PHP、MySQL、SNMP 和 RRDtool開發的網絡流量監測圖形分析工具。

運維人必須掌握的 5 種常用運維監控工具

它通過 snmpget 來擷取資料,使用 RRDtool 繪圖,但使用者無須了解 RRDtool 複雜的參數。它提供了非常強大的資料和使用者管理功能,可以指定每一個使用者能檢視樹狀結構、主機裝置以及任何一張圖,還可以與 LDAP 結合進行使用者認證,同時也能自定義模闆,在曆史資料的展示監控方面,其功能相當不錯。

Cacti 通過添加模闆,使不同裝置的監控添加具有可複用性,并且具備可自定義繪圖的功能,具有強大的運算能力(資料的疊加功能)。

Nagios

Nagios 是一個企業級的監控系統,可監控服務的運作狀态和網絡資訊等,并能監視所指定的本地或遠端主機參數以及服務,同時提供異常告警通知功能等。

Nagios 可運作在 Linux 和 UNIX 平台上,同時提供一個可選的基于浏覽器的Web 界面,以友善系統管理人員檢視網絡狀态、各種系統問題,以及日志等。Nagios 的功能側重于監控服務的可用性,能及時根據觸發條件告警。

運維人必須掌握的 5 種常用運維監控工具

目前,Nagios 也占領了一定的市場佔有率,不過從觀察來看,Nagios 并沒有與時俱進,已經不能滿足于多變的監控需求,架構的擴充性和使用的便捷性有待增強,其進階功能內建在商業版 Nagios XI 中。

Zabbix

Zabbix 是一個分布式監控系統,支援多種采集方式和采集用戶端,有專用的Agent(代理),也可以支援 SNMP、IPMI、JMX、Telnet、SSH 等多種協定,它将采集到的資料存放到資料庫,然後對其進行分析整理,達到條件觸發告警。

運維人必須掌握的 5 種常用運維監控工具

Zabbix擁有良好的擴充性,同時它的功能十分豐富,可以監控CPU負荷、記憶體使用、磁盤使用、網絡狀況、端口監視、日志監視等。

但是因為消耗資源較多的緣故,如果監控的主機非常多時,可能會出現監控逾時、告警逾時等現象。

Prometheus

Prometheus 作為一個資料監控解決方案,它由一個大型社群支援,有來自700多家公司的6300個貢獻者,13500個代碼送出和7200個拉取請求。

運維人必須掌握的 5 種常用運維監控工具

Prometheus具有以下特性:

  • 多元的資料模型(基于時間序列的Key、Value鍵值對)
  • 靈活的查詢和聚合語言PromQL
  • 提供本地存儲和分布式存儲
  • 通過基于HTTP的Pull模型采集時間序列資料
  • 可利用Pushgateway(Prometheus的可選中間件)實作Push模式
  • 可通過動态服務發現或靜态配置發現目标機器
  • 支援多種圖表和資料大盤
運維人必須掌握的 5 種常用運維監控工具

Grafana

Grafana 是一款采用 go 語言編寫的開源應用,主要用于大規模名額資料的可視化展現。

運維人必須掌握的 5 種常用運維監控工具

Grafana支援許多不同的資料源。每個資料源都有一個特定的查詢編輯器,該編輯器定制的特性和功能是公開的特定資料來源。官方支援以下資料源:Graphite,Elasticsearch,InfluxDB,Prometheus,Cloudwatch,MySQL和OpenTSDB等。

每個資料源的查詢語言和能力都是不同的。你可以把來自多個資料源的資料組合到一個儀表闆,但每一個面闆被綁定到一個特定的資料源,它就屬于一個特定的組織。

每個監控工具的優勢和能力都是不同的。你可以根據實際應用需求,選擇适合的監控工具。

繼續閱讀