1. 程式人生 > >prometheus+grafana 監控生產環境機器的系統資訊、redis、mongodb以及jvm

prometheus+grafana 監控生產環境機器的系統資訊、redis、mongodb以及jvm

介紹:  

    為了更好的對生產環境的一些中介軟體和作業系統的執行情況進行視覺化的展示,近期瞭解了下prometheus加上grafana來實現這種效果,由於prometheus是新出來的開源專案,所以,監控的外掛還不是很多,但是對基本的一些需求能夠滿足。

    Prometheus 是源於 Google Borgmon 的一個開源監控系統,用 Golang 開發。被很多人稱為下一代監控系統。

    Prometheus 基本原理是通過 HTTP 協議週期性抓取被監控元件的狀態,這樣做的好處是任意元件只要提供 HTTP 介面就可以接入監控系統,不需要任何 SDK 或者其他的整合過程。這樣做非常適合虛擬化環境比如 VM 或者 Docker 。

    Prometheus 應該是為數不多的適合 Docker、Mesos 、Kubernetes 環境的監控系統之一。

    輸出被監控元件資訊的 HTTP 介面被叫做 exporter 。目前網際網路公司常用的元件大部分都有 exporter 可以直接使用,比如 Varnish、Haproxy、Nginx、MySQL、Linux 系統資訊 (包括磁碟、記憶體、CPU、網路等等)。

    Grafana 是一個開源的圖表視覺化系統,簡單說圖表配置比較方便、生成的圖表比較漂亮。但是 Prometheus 還比較新,要用在生產環境還需要解決一系列的問題,比如和 Grafana 整合相關資料並不多。

問題:

缺點:如果作業系統核心版本過低,會出現無法啟動客戶端程序的情況,centos 5.4 核心版本2.6.30以下的都不能啟動。

展示:

1、如何部署prometheus,網上有很多的資料,就不再贅述,官網:https://prometheus.io/

  • 如果prometheus能夠正常的拿到客戶端的資訊,則會顯示up,否則狀態為down。

2、配合grafana來實現監控出圖

  •  監控生產環境的tomcat和spring boot的jvm資訊:

  •  監控生產環境的伺服器系統資訊:

  • 監控生產環境的redis資訊:

  • 監控生產環境的mongodb資訊:

 備註:

如有想了解相關模版怎麼使用的,歡迎留言討論,如果寫的話,內容太多,有點懶,不想一一敘述。