溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Prometheus 監(jiān)控部署安裝

發(fā)布時(shí)間:2020-07-26 04:49:19 來源:網(wǎng)絡(luò) 閱讀:313 作者:水滴石川1 欄目:系統(tǒng)運(yùn)維

prometheus 介紹

Prometheus是一個(gè)開源的系統(tǒng)監(jiān)控和報(bào)警工具包,普羅米修斯在2016年加入了云原生計(jì)算基金會,成為繼Kubernetes之后的第二個(gè)項(xiàng)目。

普羅米修斯的主要特征是:

多維數(shù)據(jù)模型,時(shí)間序列數(shù)據(jù)由度量名稱和鍵/值對標(biāo)識

PromQL是一種靈活的查詢語言,可以利用這種維度

不依賴分布式存儲;單個(gè)服務(wù)器節(jié)點(diǎn)是自治的

時(shí)間序列收集通過HTTP上的拉模型進(jìn)行

通過中間網(wǎng)關(guān)支持時(shí)間序列的推送

通過服務(wù)發(fā)現(xiàn)或靜態(tài)配置發(fā)現(xiàn)目標(biāo)

多種模式的繪圖和儀表板的支持

架構(gòu)圖

Prometheus 監(jiān)控部署安裝

組件

prometheus server 端 負(fù)責(zé)定時(shí)在目標(biāo)上抓取metrics(指標(biāo))數(shù)據(jù),每個(gè)抓取目標(biāo)都需要暴露一個(gè)http 服務(wù)接口用于 prometheus 定時(shí)抓取,這種調(diào)用監(jiān)控對象獲取監(jiān)控?cái)?shù)據(jù)的方式稱為pull
prometheus client 端 為需要監(jiān)控的服務(wù)生成相應(yīng)的 metrics 并暴露給 Prometheus server

Push Gateway:主要用于短期的 jobs。由于這類 jobs 存在時(shí)間較短,可能在

Prometheus 來 pull 之前就消失了。為此,這次 jobs 可以直接向 Prometheus server 端推送它們的 metrics。這種方式主要用于服務(wù)層面的 metrics,對于機(jī)器層面的 metrices,需要使用 node exporter。

Exporters:支持如 HAProxy,StatsD,Graphite,Redis 一類的服務(wù);

Alertmanager:從 Prometheus server 端接收到 alerts 后,會進(jìn)行去除重復(fù)數(shù)據(jù),分組,并路由到對收的接受方式,發(fā)出報(bào)警。常見的接收方式有:電子郵件,pagerduty,OpsGenie, webhook 等。

prometheus 核心概念

1、指標(biāo)

prometheus 所有的監(jiān)控指標(biāo)(Metric) 被統(tǒng)一定義為

<metric name >{<label name>=<label value>, ...}

指標(biāo)名稱說明指標(biāo)的含義,例如 tcp_request_total 代表 tcp 的請求總數(shù)

指標(biāo)名稱必須由 字母、數(shù)值下畫線或者冒號組成,符合正則表達(dá)式

如 [a-zA-Z:][a-zA-Z0-9:]*。

標(biāo)簽(label) 用于過濾和聚合

2、數(shù)據(jù)采集

prometheus 采用pull 方式采集監(jiān)控?cái)?shù)據(jù),和采用push 方式采集監(jiān)控?cái)?shù)據(jù)不同,

push 方式,agent 主動上報(bào)數(shù)據(jù),可以將采集的數(shù)據(jù)立即上報(bào)到監(jiān)控中心,push 方式本地不會保存采集的數(shù)據(jù),agent 本身是無狀態(tài)的服務(wù),master 需要維護(hù)各種agent 狀態(tài)

pull 方式 master 主動拉取 agent 的數(shù)據(jù),周期性采集,采集時(shí)間為30s 或者更長時(shí)間,
agent 本身需要一定的數(shù)據(jù)存儲能力,master 只負(fù)責(zé)簡單的數(shù)據(jù)拉取

3、數(shù)據(jù)處理

prometheus 支持?jǐn)?shù)據(jù)處理,主要包括 relabel 、replace、keep、drop

4、數(shù)據(jù)存儲

prometheus 支持本地存儲和遠(yuǎn)程存儲兩種方式

5、數(shù)據(jù)查詢

prometheus 使用promQL 查詢

6、告警

prometheus 本身不會對報(bào)警進(jìn)行處理、需要借助一個(gè)組件alertmanager ,prometheus 會配置alertmanager 地址,這樣prometheus 發(fā)出的告警記錄變可以發(fā)送到alertmanager 進(jìn)行處理

部署方式

二進(jìn)制部署

下載

wget https://github.com/prometheus/prometheus/releases/download/v2.14.0/prometheus-2.14.0.linux-amd64.tar.gz

tar zxf prometheus-2.14.0.linux-amd64.tar.gz && cd prometheus

修改配置文件

scrape_configs:
The job name is added as a label job=&lt;job_name&gt; to any timeseries scraped from this config.

  • job_name: 'prometheus'

    metrics_path defaults to '/metrics'
    scheme defaults to 'http'.

    static_configs:

    • targets: ['localhost:9090'] # 默認(rèn)localhost

      啟動 prometheus

      nohup /opt/prometheus/prometheus --config.file=prometheus.yml &

      訪問

      http://localhost:9090/graph

Prometheus 監(jiān)控部署安裝

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI