一、Prometheus介紹
Prometheus 是一套開源的系統(tǒng)監(jiān)控和報警框架,靈感源自 Google 的 Borgmon 監(jiān)控系統(tǒng)。2012 年,SoundCloud 的 Google 前員工創(chuàng)造了 Prometheus,并作為社區(qū)開源項目進行開發(fā)。2015 年,該項目正式發(fā)布。2016 年,Prometheus 加入云原生計算基金會(Cloud Native Computing Foundation),成為受歡迎度僅次于 Kubernetes 的項目。
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計制作、成都網(wǎng)站制作與策劃設(shè)計,浪卡子網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:浪卡子等地區(qū)。浪卡子做網(wǎng)站價格咨詢:18980820575
二、Prometheus 具有以下特性
三、架構(gòu)
prometheus是一個用Go編寫的時序數(shù)據(jù)庫,可以支持多種語言客戶端
四、模塊介紹
Prometheus Server
Prometheus Server 是監(jiān)控系統(tǒng)的服務(wù)端,服務(wù)端通過服務(wù)發(fā)現(xiàn)的方式,抓取被監(jiān)控服務(wù)的指標,或者通過 pushgateway 的間接抓取,抓取到指標數(shù)據(jù)后,通過特定的存儲引擎進行存儲,同時暴露一個 HTTP 服務(wù),提供用 PromQL 來進行數(shù)據(jù)查詢。注意,Prometheus 是定時采樣數(shù)據(jù),而不是全量數(shù)據(jù)。
Exporter
Prometheus 需要服務(wù)暴露 http 接口,如果服務(wù)本身沒有,我們不需要改造服務(wù),可以通過 exporter 來間接獲取。Exporter 就充當了 Prometheus 采集的目標,而由各個 exporter 去直接獲取指標。目前大多數(shù)的服務(wù)都有現(xiàn)成的 exporter,我們不需要重復造輪子,拿來用即可,如 MySQL,MongoDB 等,可以參考這里。
為什么要有兩種模式呢?我們來比較一下這兩種模式的特點。
1、Pull 模式:Prometheus 主動抓取的方式,可以由 Prometheus 服務(wù)端控制抓取的頻率,簡單清晰,控制權(quán)在 Prometheus 服務(wù)端。通過服務(wù)發(fā)現(xiàn)機制,可以自動接入新服務(wù),去掉下線的服務(wù),無需任何人工干預。對于各種常見的服務(wù),官方或社區(qū)有大量 Exporter 來提供指標采集接口,基本無需開發(fā)。是官方推薦的方式。
2、Push 模式:由服務(wù)端主動上報至 Push Gateway,采集最小粒度由服務(wù)端決定,等于 Push Gateway 充當了中介的角色,收集各個服務(wù)主動上報的指標,然后再由 Prometheus 來采集。但是這樣就存在了 Push Gateway 這個性能單點,而且 Push Gateway 也要處理持久化問題,不然宕機也會丟失部分數(shù)據(jù)。同時需要服務(wù)端提供主動上報的功能,可能涉及一些開發(fā)改動。不是首選的方式,但是在一些場景下很適用。例如,一些臨時性的任務(wù),存在時間可能非常短,如果采用 Pull 模式,可能抓取不到數(shù)據(jù)。
Alert Manager
Alert Manager 是 Prometheus 的報警組件,當 Prometheus 服務(wù)端發(fā)現(xiàn)報警時,推送 alert 到 Alert Manager,再由 Alert Manager 發(fā)送到通知端,如 Email,Slack,微信,釘釘?shù)?。Alert Manager 根據(jù)相關(guān)規(guī)則提供了報警的分組、聚合、抑制、沉默等功能。
五、下載
下載地址:https://prometheus.io/download/
下載server
wget -c https://github.com/prometheus/prometheus/releases/download/v2.15.0/prometheus-2.15.0.linux-amd64.tar.gz
下載node
wget -c https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
六、配置說明
配置文件:prometheus.yml
# my global config
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
# Alertmanager configuration #報警監(jiān)控配置
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['localhost:9090']
說明:
global:全局配置,其中scrape_interval表示抓取一次數(shù)據(jù)的間隔時間,evaluationinterval:表示進行告警規(guī)則檢測的間隔時間;
alerting:告警管理器(Alertmanager)的配置,需要安裝Alertmanager;
rulefiles:告警規(guī)則有哪些;
scrapeconfigs:抓取監(jiān)控信息的目標。一個job_name就是一個目標,其targets就是采集信息的IP和端口。這里默認監(jiān)控了Prometheus自己,可以通過修改這里來修改Prometheus的監(jiān)控端口。Prometheus的每個exporter都會是一個目標,它們可以上報不同的監(jiān)控信息,比如機器狀態(tài),或者mysql性能等等,不同語言sdk也會是一個目標,它們會上報你自定義的業(yè)務(wù)監(jiān)控信息。
七、部署
部署流程:
1、在監(jiān)控服務(wù)器上安裝prometheus
2、在被監(jiān)控環(huán)境上安裝exporte
1、server啟動方法:./prometheus --config.file=/data/prometheus-2.15.0.linux-amd64/prometheus.yml
2、node啟動方法:nohup ./node_exporter &
3、將應(yīng)用添加到系統(tǒng)服務(wù)
vim /etc/systemd/system/prometheus.service
[unit]
Description=Prometheus Monitoring System
Documentation=Prometheus Monitoring System
[Service]
ExecStart=/data/prometheus/prometheus \
--config.file=/data/prometheus/prometheus.yml \
--web.listen-address=:9090
##此處文件路徑請對照安裝目錄
[Install]
WantedBy=multi-user.target
然后就可以通過systemctl start|stop|status|enable promethues.service進行管理了
八、訪問
http://127.0.0.1:9090
參考鏈接:prometheus安裝
分享文章:Prometheus-2.15.0部署
鏈接分享:http://aaarwkj.com/article36/pdepsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、ChatGPT、企業(yè)網(wǎng)站制作、微信公眾號、網(wǎng)站策劃、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)