国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - 基于docker 搭建Prometheus+Grafana的過程詳解

基于docker 搭建Prometheus+Grafana的過程詳解

2021-06-17 17:00肖祥 服務器知識

這篇文章主要介紹了基于docker 搭建Prometheus+Grafana的過程詳解,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、介紹Prometheus

 

Prometheus(普羅米修斯)是一套開源的監控&報警&時間序列數據庫的組合,起始是由SoundCloud公司開發的。隨著發展,越來越多公司和組織接受采用Prometheus,社會也十分活躍,他們便將它獨立成開源項目,并且有公司來運作。Google SRE的書內也曾提到跟他們BorgMon監控系統相似的實現是Prometheus。現在最常見的Kubernetes容器管理系統中,通常會搭配Prometheus進行監控。

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

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

輸出被監控組件信息的HTTP接口被叫做exporter 。目前互聯網公司常用的組件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux 系統信息 (包括磁盤、內存、CPU、網絡等等),具體支持的源看:https://github.com/prometheus

與其他監控系統相比,Prometheus的主要特點是:

  • 一個多維數據模型(時間序列由指標名稱定義和設置鍵/值尺寸)。
  • 非常高效的存儲,平均一個采樣數據占~3.5bytes左右,320萬的時間序列,每30秒采樣,保持60天,消耗磁盤大概228G。
  • 一種靈活的查詢語言。
  • 不依賴分布式存儲,單個服務器節點。
  • 時間集合通過HTTP上的PULL模型進行。
  • 通過中間網關支持推送時間。
  • 通過服務發現或靜態配置發現目標。
  • 多種模式的圖形和儀表板支持。

二、Prometheus架構概覽

 

該圖說明了普羅米修斯(Prometheus)及其一些生態系統組件的整體架構:

基于docker 搭建Prometheus+Grafana的過程詳解

它的服務過程是這樣的Prometheus daemon負責定時去目標上抓取metrics(指標) 數據,每個抓取目標需要暴露一個http服務的接口給它定時抓取。

Prometheus:支持通過配置文件、文本文件、zookeeper、Consul、DNS SRV lookup等方式指定抓取目標。支持很多方式的圖表可視化,例如十分精美的Grafana,自帶的Promdash,以及自身提供的模版引擎等等,還提供HTTP API的查詢方式,自定義所需要的輸出。

Alertmanager:是獨立于Prometheus的一個組件,可以支持Prometheus的查詢語句,提供十分靈活的報警方式。

PushGateway:這個組件是支持Client主動推送metrics到PushGateway,而Prometheus只是定時去Gateway上抓取數據。

如果有使用過statsd的用戶,則會覺得這十分相似,只是statsd是直接發送給服務器端,而Prometheus主要還是靠進程主動去抓取。

大多數Prometheus組件都是用Go編寫的,它們可以輕松地構建和部署為靜態二進制文件。訪問prometheus.io以獲取完整的文檔,示例和指南。

三、Prometheus的數據模型

 

Prometheus從根本上所有的存儲都是按時間序列去實現的,相同的metrics(指標名稱) 和label(一個或多個標簽) 組成一條時間序列,不同的label表示不同的時間序列。為了支持一些查詢,有時還會臨時產生一些時間序列存儲。

metrics name&label指標名稱和標簽

每條時間序列是由唯一的”指標名稱”和一組”標簽(key=value)”的形式組成。

指標名稱:一般是給監測對像起一名字,例如http_requests_total這樣,它有一些命名規則,可以包字母數字_之類的的。通常是以應用名稱開頭_監測對像_數值類型_單位這樣。例如:push_total、userlogin_mysql_duration_seconds、app_memory_usage_bytes。

標簽:就是對一條時間序列不同維度的識別了,例如一個http請求用的是POST還是GET,它的endpoint是什么,這時候就要用標簽去標記了。最終形成的標識便是這樣了:http_requests_total{method=”POST”,endpoint=”/api/tracks”}。

記住,針對http_requests_total這個metrics name無論是增加標簽還是刪除標簽都會形成一條新的時間序列。

查詢語句就可以跟據上面標簽的組合來查詢聚合結果了。

如果以傳統數據庫的理解來看這條語句,則可以考慮http_requests_total是表名,標簽是字段,而timestamp是主鍵,還有一個float64字段是值了。(Prometheus里面所有值都是按float64存儲)。

四、Prometheus四種數據類型

 

Counter

Counter用于累計值,例如記錄請求次數、任務完成數、錯誤發生次數。一直增加,不會減少。重啟進程后,會被重置。

例如:http_response_total{method=”GET”,endpoint=”/api/tracks”} 100,10秒后抓取http_response_total{method=”GET”,endpoint=”/api/tracks”} 100。

Gauge

Gauge常規數值,例如 溫度變化、內存使用變化。可變大,可變小。重啟進程后,會被重置。

例如: memory_usage_bytes{host=”master-01″} 100 < 抓取值、memory_usage_bytes{host=”master-01″} 30、memory_usage_bytes{host=”master-01″} 50、memory_usage_bytes{host=”master-01″} 80 < 抓取值。

Histogram

Histogram(直方圖)可以理解為柱狀圖的意思,常用于跟蹤事件發生的規模,例如:請求耗時、響應大小。它特別之處是可以對記錄的內容進行分組,提供count和sum全部值的功能。

例如:{小于10=5次,小于20=1次,小于30=2次},count=7次,sum=7次的求和值。

Summary

Summary和Histogram十分相似,常用于跟蹤事件發生的規模,例如:請求耗時、響應大小。同樣提供 count 和 sum 全部值的功能。

例如:count=7次,sum=7次的值求值。

它提供一個quantiles的功能,可以按%比劃分跟蹤的結果。例如:quantile取值0.95,表示取采樣值里面的95%數據。

五、安裝運行Prometheus(docker版)

 

下面介紹如何使用Prometheus和Grafana對本機服務器性能進行監控。

監控本機,只需要一個exporter

node_exporter – 用于機器系統數據收集

Grafana是一個開源的功能豐富的數據可視化平臺,通常用于時序數據的可視化。它內置了以下數據源的支持:

下面是我們安裝時用到的架構圖:

基于docker 搭建Prometheus+Grafana的過程詳解

注意:本文使用的是ubuntu-16.04.5-server-amd64,只需要一臺服務器即可!

安裝docker

?
1
apt-get install -y docker.io

注意:網上的文章說要安裝docker-engine和docker-ce,那都是扯淡的。包壓根都找不到!

只需要安裝docker.io就可以了!

如果是Centos系統,使用yum install -y docker-io 安裝

下載鏡像包

?
1
2
3
docker pull prom/node-exporter
docker pull prom/prometheus
docker pull grafana/grafana

啟動node-exporter

?
1
2
3
4
5
6
docker run -d -p 9100:9100 \
 -v "/proc:/host/proc:ro" \
 -v "/sys:/host/sys:ro" \
 -v "/:/rootfs:ro" \
 --net="host" \
 prom/node-exporter

等待幾秒鐘,查看端口是否起來了

?
1
2
3
4
5
6
7
root@ubuntu:~# netstat -anpt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address      Foreign Address     State    PID/Program name
tcp    0   0 0.0.0.0:22       0.0.0.0:*        LISTEN   1147/sshd   
tcp    0   36 192.168.91.132:22    192.168.91.1:63648   ESTABLISHED 2969/0    
tcp    0   0 192.168.91.132:22    192.168.91.1:63340   ESTABLISHED 1321/1    
tcp6    0   0 :::9100         :::*          LISTEN   3070/node_exporter

訪問url:

?
1
http://192.168.91.132:9100/metrics

效果如下:

基于docker 搭建Prometheus+Grafana的過程詳解

這些都是收集到數據,有了它就可以做數據展示了

啟動prometheus

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

?
1
2
3
mkdir /opt/prometheus
cd /opt/prometheus/
vim prometheus.yml

內容如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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: ['192.168.91.132:9100']
    labels:
     instance: localhost

注意:修改IP地址,這里的192.168.91.132就是本機地址

啟動prometheus

?
1
2
3
4
docker run -d \
 -p 9090:9090 \
 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
 prom/prometheus

等待幾秒鐘,查看端口狀態

?
1
2
3
4
5
6
7
8
9
root@ubuntu:/opt/prometheus# netstat -anpt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address      Foreign Address     State    PID/Program name
tcp    0   0 0.0.0.0:22       0.0.0.0:*        LISTEN   1147/sshd   
tcp    0   36 192.168.91.132:22    192.168.91.1:63648   ESTABLISHED 2969/0    
tcp    0   0 192.168.91.132:22    192.168.91.1:63340   ESTABLISHED 1321/1    
tcp6    0   0 :::9100         :::*          LISTEN   3070/node_exporter
tcp6    0   0 :::22          :::*          LISTEN   1147/sshd   
tcp6    0   0 :::9090         :::*          LISTEN   3336/docker-proxy

訪問url:

?
1
http://192.168.91.132:9090/graph

效果如下:

基于docker 搭建Prometheus+Grafana的過程詳解

訪問targets,url如下:

?
1
http://192.168.91.132:9090/targets

效果如下:

基于docker 搭建Prometheus+Grafana的過程詳解

如果狀態沒有UP起來,等待一會,就會UP了

啟動grafana

新建空文件夾grafana-storage,用來存儲數據

?
1
mkdir /opt/grafana-storage

設置權限

?
1
chmod 777 -R /opt/grafana-storage

因為grafana用戶會在這個目錄寫入文件,直接設置777,比較簡單粗暴!

啟動grafana

?
1
2
3
4
5
docker run -d \
 -p 3000:3000 \
 --name=grafana \
 -v /opt/grafana-storage:/var/lib/grafana \
 grafana/grafana

等待幾秒鐘,查看端口狀態

?
1
2
3
4
5
6
7
8
9
10
11
root@ubuntu:/opt/prometheus# netstat -anpt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address      Foreign Address     State    PID/Program name
tcp    0   0 0.0.0.0:22       0.0.0.0:*        LISTEN   1147/sshd   
tcp    0   36 192.168.91.132:22    192.168.91.1:63648   ESTABLISHED 2969/0    
tcp    0   0 192.168.91.132:22    192.168.91.1:63340   ESTABLISHED 1321/1    
tcp6    0   0 :::9100         :::*          LISTEN   3070/node_exporter
tcp6    0   0 :::22          :::*          LISTEN   1147/sshd   
tcp6    0   0 :::3000         :::*          LISTEN   3494/docker-proxy
tcp6    0   0 :::9090         :::*          LISTEN   3336/docker-proxy
tcp6    0   0 192.168.91.132:9100   172.17.0.2:55108    ESTABLISHED 3070/node_exporter

訪問url:

?
1
http://192.168.91.132:3000/

默認會先跳轉到登錄頁面,默認的用戶名和密碼都是admin

基于docker 搭建Prometheus+Grafana的過程詳解

登錄之后,它會要求你重置密碼。你還可以再輸次admin密碼!

基于docker 搭建Prometheus+Grafana的過程詳解

密碼設置完成之后,就會跳轉到首頁

基于docker 搭建Prometheus+Grafana的過程詳解

點擊Add data source,由于使用的是鏡像方式,所以版本比較新。和網絡上的文章展示的圖片不一樣!

基于docker 搭建Prometheus+Grafana的過程詳解

name名字寫Prometheus

type 選擇Prometheus,因為數據都從它那里獲取

url 輸入Prometheus的ip+端口

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

基于docker 搭建Prometheus+Grafana的過程詳解

回到首頁,點擊New dashboard

基于docker 搭建Prometheus+Grafana的過程詳解

點擊 Graph

基于docker 搭建Prometheus+Grafana的過程詳解

效果如下:

基于docker 搭建Prometheus+Grafana的過程詳解

點擊標題下方的編輯

基于docker 搭建Prometheus+Grafana的過程詳解

效果如下:

基于docker 搭建Prometheus+Grafana的過程詳解

輸入cpu,底部會有提示

基于docker 搭建Prometheus+Grafana的過程詳解

這里監控 node_load15,表示系統15分鐘的負載。點擊下面的Add Query

基于docker 搭建Prometheus+Grafana的過程詳解

效果如下:

基于docker 搭建Prometheus+Grafana的過程詳解

添加總內存

基于docker 搭建Prometheus+Grafana的過程詳解

這里會多出一條線

基于docker 搭建Prometheus+Grafana的過程詳解

點擊右邊的,可以刪除掉 總內存

基于docker 搭建Prometheus+Grafana的過程詳解

點擊General,修改標題為中文

基于docker 搭建Prometheus+Grafana的過程詳解

圖表效果如下:

基于docker 搭建Prometheus+Grafana的過程詳解

點擊上面的保存按鈕

基于docker 搭建Prometheus+Grafana的過程詳解

輸入名字

基于docker 搭建Prometheus+Grafana的過程詳解

效果如下:

基于docker 搭建Prometheus+Grafana的過程詳解

點擊首頁,就會有展示

基于docker 搭建Prometheus+Grafana的過程詳解

本文參考鏈接:

http://www.ywnds.com/?p=9656

到此這篇關于基于docker 搭建Prometheus+Grafana的過程詳解的文章就介紹到這了,更多相關docker 搭建Prometheus+Grafana內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.cnblogs.com/xiao987334176/p/9930517.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美国产另类 | 精品在线一区二区 | 国产一区二区三区免费看 | 亚洲成人精品在线观看 | 精品成人在线视频 | 色片在线观看 | 日本三级不卡 | 97伦理片 | 九九导航| 久久国产精品久久久久久电车 | 国产精品女同一区二区久久夜 | 亚洲欧美在线一区 | 中文字幕综合在线 | 亚洲精品白浆高清久久久久久 | 久久久91精品国产一区二区三区 | 午夜影视 | 亚洲男人的天堂网站 | 一区二区三区在线播放 | 97久久香蕉国产线看观看 | 97视频精品 | 免费在线黄色电影 | 激情久久av一区av二区av三区 | 国产精品欧美日韩 | 婷婷久| 日韩欧美h | av中文字幕在线 | 国产精品18久久久 | 一区二区 中文字幕 | 香蕉视频三级 | 亚洲成人第一 | 国产免费99| 99re国产| 亚洲福利在线观看 | 欧美亚洲日本 | 欧美激情视频一区二区三区不卡 | 日韩一区在线播放 | 国产成人免费在线 | 美女主播精品视频一二三四 | 伊人电影综合网 | 亚洲国产中文字幕在线观看 | 亚洲精品一区二区三区蜜桃久 |