Grafana+Prometheus:容器化執行Grafana+Prometheus
阿新 • • 發佈:2020-09-11
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
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 /opt/prometheus cd /opt/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 /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheus
訪問url
http://公網ip:9090/graph
訪問targets
http://公網ip:9090/targets