Grafana+Prometheus:容器化運行Grafana+Prometheus


 

Grafana

官網地址:Grafana

官方文檔:Grafana文檔

Grafana是一個跨平台的開源的度量分析和可視化工具,可以通過將采集的數據查詢然后可視化的展示,並及時通知。它主要有以下六大特點:

1、展示方式:快速靈活的客戶端圖表,面板插件有許多不同方式的可視化指標和日志,官方庫中具有豐富的儀表盤插件,比如熱圖、折線圖、圖表等多種展示方式;

2、數據源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;

3、通知提醒:以可視方式定義最重要指標的警報規則,Grafana將不斷計算並發送通知,在數據達到閾值時通過Slack、PagerDuty等獲得通知;

4、混合展示:在同一圖表中混合使用不同的數據源,可以基於每個查詢指定數據源,甚至自定義數據源;

5、注釋:使用來自不同數據源的豐富事件注釋圖表,將鼠標懸停在事件上會顯示完整的事件元數據和標記;

6、過濾器:Ad-hoc過濾器允許動態創建新的鍵/值過濾器,這些過濾器會自動應用於使用該數據源的所有查詢。

快速開始

查找鏡像

docker search grafana/grafana

拉取容器鏡像

docker pull grafana/grafana

查看容器

docker images

啟動容器

docker run -d --name grafana -p 3000:3000 grafana/grafana:master

Grafana的配置文件為:(/etc/grafana/grafana.ini),進入容器:docker exec -it grafana bash

訪問

http://公網ip:3000

注意:默認用戶和密碼:admin:admin

 

prometheus

Prometheus是一個開源的服務監控系統,它通過HTTP協議從遠程的機器收集數據並存儲在本地的時序數據庫上。

  • 多維數據模型(時序列數據由metric名和一組key/value組成)
  • 在多維度上靈活的查詢語言(PromQl)
  • 不依賴分布式存儲,單主節點工作.
  • 通過基於HTTP的pull方式采集時序數據
  • 可以通過push gateway進行時序列數據推送(pushing)
  • 可以通過服務發現或者靜態配置去獲取要采集的目標服務器
  • 多種可視化圖表及儀表盤支持
  • Prometheus通過安裝在遠程機器上的exporter來收集監控數據,后面我們將使用到node_exporter收集系統數據。

快速開始

拉取容器鏡像
docker pull prom/node-exporter
docker pull prom/prometheus

啟動node-exporter:這個exporter是采集主機信息的

docker run -d -p 9100:9100 \
  -v "/proc:/host/proc:ro" \
  -v "/sys:/host/sys:ro" \
  -v "/:/rootfs:ro" \
  --net="host" \
  prom/node-exporter

訪問url

http://公網ip:9100/metrics

新建目錄prometheus,編輯配置文件prometheus.yml

mkdir /home/prometheus
cd /home/prometheus
vim prometheus.yml
global:
  scrape_interval:     60s
  evaluation_interval: 60s
 
scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090']
        labels:
          instance: prometheus
 
  - job_name: linux
    static_configs:
      - targets: ['公網ip:9100']
        labels:
          instance: localhost

啟動prometheus

docker run  -d \
  -p 9090:9090 \
  -v /home/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml  \
  prom/prometheus

訪問url

http://公網ip:9090/graph

訪問targets

http://公網ip:9090/targets

 

 

 

 

快速使用

1、添加Prometheus數據源

Add data source選擇Prometheus

  • Name名字寫Prometheus
  • 如果有type 的話選擇Prometheus,因為數據都從它那里獲取
  • URL輸入Prometheus的ip+端口

點擊下面的Save & Test,如果出現綠色的,說明ok了

至此Prometheus和Grafana已經打通了,接下來需要添加個圖形模板以便展示數據。

Grafana里有很多的模板可以直接使用(https://grafana.com/dashboards),我這里使用的是https://grafana.com/dashboards/8919,其中8919是ID號,可以在Grafana中Import,直接輸入ID號會自動找到該模板。

 3.展示監控主機的ui

 

 


免責聲明!

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



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