prometheus學習筆記(1)-mac單機版環境搭建


注:以下所有環境均為mac筆記本

一、安裝prometheus

brew install prometheus

安裝完后,默認的安裝路徑為:

/usr/local/Cellar/prometheus/2.16.0/

同時還會生成一個默認配置文件:/usr/local/etc/prometheus.yml

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: "prometheus"
    static_configs:
    - targets: ["localhost:9090"]

 進入安裝路徑后,輸入以下命令:

./prometheus --config.file=/usr/local/etc/prometheus.yml

順利的話,應該能正常啟動,然后瀏覽器輸入 http://localhost:9090

菜單切換到status,還能看到一些關鍵參數,比如數據默認保存天數:(默認15天)

 

二、安裝grafana

要展示各種漂亮的圖表,就得借助grafana,仍用brew安裝

brew install grafana

默認安裝路徑:

/usr/local/Cellar/grafana/6.7.0

啟動:

grafana-server --config=/usr/local/etc/grafana/grafana.ini --homepath /usr/local/share/grafana --packaging=brew cfg:default.paths.logs=/usr/local/var/log/grafana cfg:default.paths.data=/usr/local/var/lib/grafana cfg:default.paths.plugins=/usr/local/var/lib/grafana/plugins

啟動完成后,瀏覽http://localhost:3000/進入首頁(注:如需修改默認端口,可修改/usr/local/etc/grafana/grafana.ini 這個文件),默認用戶名/密碼,都是admin,使用前必須更改密碼

grafana只是一個圖表展示工具,必須添加數據源,才能讀取到數據,參考下圖:

選擇prometheus數據源,指定URL地址,然后保存即可

 

三、安裝pushgateway

從官網https://prometheus.io/download/ 下載pushgateway-1.2.0.darwin-amd64.tar.gz

解壓到本地運行

./pushgateway

啟動正常的話,瀏覽http://localhost:9091 可以看到

 為什么要安裝這個玩意兒,看下面的示意圖(從網上淘的):

 

客戶端(不管是寫代碼,還是直接終端敲命令行)把數據push到網關(pushgateway),然后prometheus從網關pull數據。

安裝好之后,還要修改/usr/local/etc/prometheus.yml 不然prometheus感知不到網關的存在

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: "prometheus"
    static_configs:
    - targets: ["localhost:9090"]
  # 加入下面這幾行  
  - job_name: "push-metrics"
    static_configs:
    - targets: ["localhost:9091"]
    honor_labels: true

加入最后這幾行即可,改完后最好把prometheus重啟一下,以便讓配置文件生效。 

接下來測試數據寫入:先准備1個文件data.txt

blog_visit_total{blogid="12345",domain="yjmyzz.cnblogs.com",clientip="10.0.1.1"} 20
blog_visit_total{blogid="34567",domain="yjmyzz.cnblogs.com",clientip="10.0.1.2"} 30
blog_visit_total{blogid="56789",domain="yjmyzz.cnblogs.com",clientip="10.0.1.3"} 40

解釋一下,blog_visit_total相當於指標名稱,{ }里面的東西,相當於tag,可以根據tag在查詢時過濾,最后的20、30、40相當於具體的指標值。

命令行下,輸入:

curl -XPOST --data-binary @/Users/jimmy/Downloads/data.txt http://localhost:9091/metrics/job/cnblogs

就把這3行數據push到網關了,注意下格式:http://localhost:9091/metrics/job/cnblogs 紅色的部分,這是job名稱,大家可以根據需要自己修改。

此時再到http://localhost:9091查看一下,應該能看到剛push的數據:

感興趣的同學,還可以看下http://localhost:9090 ,這時候prometheus里也能感知剛添加的數據 

prometheus底層存儲是一個時序數據庫,上面的curl命令,可以多跑幾次,相當於持續在向時序數據庫時添加記錄,后面會用到。

 

四、配置grafana

到目前為止,grafana好象一直在打醬油,沒派上用場,該它發揮點作用了。

4.1 新建dashboard

參考上圖,新建1個dashboard,然后隨便起個名字(上圖中我已經創建了一個名為“菩提樹下的楊過”的dashboard),命名的地方,在settings里(如下)

4.2 添加圖表 

接下來,添加一個查詢(Add Query)

參考下圖,將剛才的指標blog_visit_total添加進來(還可以用sum/max/min/avg這類聚合函數處理)

 圖表名稱可以參考下圖設置:

最后保存,這樣一個基本的prometheus監控系統(單機環境)就搭建完成了。

 

參考文章:

https://prometheus.io/docs/practices/pushing/

https://prometheus.io/download/

https://prometheus.io/docs/introduction/overview/

https://www.liuyixiang.com/post/96100.html

https://blog.csdn.net/Holly_walker/article/details/103820509


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM