1. 程式人生 > >防止系統宕機?給你推薦六個開源監控工具

防止系統宕機?給你推薦六個開源監控工具

系統宕機是可以絕對避免的嗎?不是。你看那些千億市值的網際網路巨頭,不是一樣宕麼,只是人家宕機的機率小,恢復的快而已。既然無法避免,那就應該首先做到架構設計上的柔性和擴充套件,其次就是資料的備份、系統恢復,還要及時瞭解系統的健康狀況。這裡就會用到監控工具。

監控系統是整個 IT 架構中的重中之重,小到故障排查、問題定位,大到業務預測、運營管理,都離不開監控系統,可以說一個穩定、健康的 IT 架構中必然會有一個可信賴的監控系統。那我們要重頭構建一個監控系統麼?沒必要重複造輪子。我們可以站在巨人的肩膀頭往前跑。今天給大家推薦一些好用的開源監控工具,供你參考。

1.Prometheus

這是雲原生應用程式最受認可的時間序列監控解決方案,由 CNCF 託管,使用 Go 語言開發,是 Google BorgMon 監控系統的類似實現。該方案使用的是 Pull 模型,Prometheus Server 通過 HTTP 的 pull 方式到各個目標拉取監控資料。

2.Graphite

這是一款用 Python 寫的開源企業級監控繪圖工具,可以在廉價機硬體上執行。它是一個基於推送的系統,通過讓應用程式推送資料到 Graphite 的 Carbon 元件中,從應用程式接收資料,實時收集、儲存、顯示時間序列型別的資料。

3.InfluxDB

這是一個相對較新的時序資料庫,使用 Go 語言編寫,不需要外部依賴,安裝配置也非常方便,適合構建大型分散式系統的監控系統。其設計目標是實現分散式和水平伸縮擴充套件。

4.OpenTSDB

這是一個基於 HBase 的分散式、可伸縮的時序資料庫,確切地說,它只是一個 HBase 的應用。它的主要用途就是做監控系統,例如收集大規模叢集(包括網路裝置、作業系統、應用程式、環境狀態)的監控資料並進行儲存、查詢。

5.ELK

它是 Elasticsearch、Logstash 和 Kibana 的縮寫,在實時資料檢索和分析場合中,三者通常是配合共用的,是市場上最受歡迎的開源日誌聚合工具。Elasticsearch 本質上是一個 NoSQL,以 Lucene 搜尋引擎實現。Logstash 是一個日誌管道系統,可以提取、轉換資料並將其載入到像 Elasticsearch 這樣的商店中。Kibana 是 Elasticsearch 之上的視覺化層。

6.Graylog

這是一個強大的日誌管理、分析工具,基於 Elasticsearch、Java 和 MongoDB,這使得它像 ELK 堆疊一樣執行起來很複雜,甚至更加複雜。但是,Graylog 開源版本帶有內建的警報,以及其他一些值得注意的功能,如流式傳輸,訊息重寫和地理定位等。

開源不等於免費,也不意味著拿來就可以用,不過至少在某些領域 —— 底層架構、實際案例、應用開發等方面給開發者提供了很大的幫助。目前很多雲廠商自己的服務中也提供了諸多監控工具,我們開發者應該善加利用。