Prometheus 簡介 搭建監(jiān)控系統(tǒng)一(基礎(chǔ)篇)

Prometheus是最初在SoundCloud上構(gòu)建的開源系統(tǒng)監(jiān)視和警報(bào)工具包 。自2012年成立以來,許多公司和組織都采用了Prometheus,該項(xiàng)目擁有非?;钴S的開發(fā)人員和用戶社區(qū)。現(xiàn)在,它是一個(gè)獨(dú)立的開源項(xiàng)目,并且獨(dú)立于任何公司進(jìn)行維護(hù)。為了強(qiáng)調(diào)這一點(diǎn)并闡明項(xiàng)目的治理結(jié)構(gòu),Prometheus 于2016年加入了 Cloud Native Computing Foundation,這是繼Kubernetes之后的第二個(gè)托管項(xiàng)目。

下面說一下這個(gè)開源軟件的安裝實(shí)踐過程,目標(biāo)如下:

  • 安裝 go 語言環(huán)境
  • 在監(jiān)控服務(wù)器上安裝prometheus
  • 在被監(jiān)控環(huán)境上安裝export
  • 安裝grafana
  • 配置報(bào)警規(guī)則

Prometheus簡介

簡述

特點(diǎn)

  • 一個(gè)多維數(shù)據(jù)模型,其中包含通過度量標(biāo)準(zhǔn)名稱和鍵/值對標(biāo)識的時(shí)間序列數(shù)據(jù)
  • PromQL,一種靈活的查詢語言 ,可利用此維度
  • 不依賴分布式存儲(chǔ);單服務(wù)器節(jié)點(diǎn)是自治的
  • 時(shí)間序列收集通過HTTP上的拉模型進(jìn)行
  • 通過中間網(wǎng)關(guān)支持推送時(shí)間序列
  • 通過服務(wù)發(fā)現(xiàn)或靜態(tài)配置發(fā)現(xiàn)目標(biāo)
  • 多種圖形和儀表板支持模式

Prometheus的優(yōu)點(diǎn)

  • 相對其他而言有更強(qiáng)大的查詢語言,警報(bào)和通知功能
  • 圖形和報(bào)警的可用性和正常運(yùn)行時(shí)間更高
  • 不依賴分布式存儲(chǔ),單服務(wù)器節(jié)點(diǎn)是自治的

Prometheus與Zabbix的區(qū)別

  • Zabbix:成熟度高,上手更快,但更好的集成導(dǎo)致靈活性較差,監(jiān)控?cái)?shù)據(jù)的復(fù)雜度增加后,Zabbix做進(jìn)一步定制難度很高,即使做好了定制,也沒法利用之前收集到的數(shù)據(jù)了
  • Prometheus:基本上正相反,上手難度大,但由于定制靈活度高,數(shù)據(jù)也有更多的聚合可能,起步后的使用難度小于zabbix

prometheus的基本概念

  • Prometheus支持多個(gè)api實(shí)例編碼相同的數(shù)據(jù),多重圖形和儀表板模式
  • Prometheus在每個(gè)時(shí)間序列中創(chuàng)建一個(gè)本地文件,但允許在出現(xiàn)刮擦或者規(guī)則評估時(shí)以任意間隔存儲(chǔ)樣本。由于僅附加了新樣本,因此數(shù)據(jù)可以任意保留,它更適用于許多短暫的,經(jīng)常變化的時(shí)間序列集
  • Prometheus提供了一種更強(qiáng)大的圖形和警報(bào)查詢語言,Prometheus Alertmanager還提供了分組,重復(fù)數(shù)據(jù)刪除和靜音功能
  • Prometheus僅支持float64數(shù)據(jù)類型,但對字符串和毫秒分辨率時(shí)間戳的支持有限
  • Prometheus運(yùn)行簡單,但在有些時(shí)候需要根據(jù)產(chǎn)品,服務(wù),數(shù)據(jù)中心或類似方面的可伸縮性邊界明確的分片服務(wù)器,還支持并行冗余運(yùn)行

時(shí)序4種類型

Prometheus 時(shí)序數(shù)據(jù)分為 Counter, Gauge, Histogram, Summary 四種類型。

  • Counter:表示收集的數(shù)據(jù)是按照某個(gè)趨勢(增加/減少)一直變化的,我們往往用它記錄服務(wù)請求總量,錯(cuò)誤總數(shù)等。例如 Prometheus server 中 http_requests_total, 表示 Prometheus 處理的 http 請求總數(shù),我們可以使用data, 很容易得到任意區(qū)間數(shù)據(jù)的增量
  • Gauge:表示搜集的數(shù)據(jù)是一個(gè)瞬時(shí)的,與時(shí)間沒有關(guān)系,可以任意變高變低,往往可以用來記錄內(nèi)存使用率、磁盤使用率等。
  • Histogram:Histogram 由 <basename>_bucket{le="<upper inclusive bound>"},<basename>_bucket{le="+Inf"}, <basename>_sum,<basename>_count 組成,主要用于表示一段時(shí)間范圍內(nèi)對數(shù)據(jù)進(jìn)行采樣,(通常是請求持續(xù)時(shí)間或響應(yīng)大小),并能夠?qū)ζ渲付▍^(qū)間以及總數(shù)進(jìn)行統(tǒng)計(jì),通常我們用它計(jì)算分位數(shù)的直方圖。
  • Summary:Summary 和 Histogram 類似,由 <basename>{quantile="<φ>"},<basename>_sum,<basename>_count組成,主要用于表示一段時(shí)間內(nèi)數(shù)據(jù)采樣結(jié)果,(通常是請求持續(xù)時(shí)間或響應(yīng)大?。?,它直接存儲(chǔ)了 quantile 數(shù)據(jù),而不是根據(jù)統(tǒng)計(jì)區(qū)間計(jì)算出來的。區(qū)別在于:
a. 都包含 <basename>_sum,<basename>_count。
b. Histogram 需要通過 <basename>_bucket 計(jì)算 quantile, 而 Summary 直接存儲(chǔ)了 quantile 的值。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、prometheus簡介 1.1 什么是prometheus? Prometheus是一個(gè)開源監(jiān)控系統(tǒng),它前身...
    timothyue1閱讀 646評論 0 0
  • 架構(gòu) Prometheus 是一個(gè)開源的監(jiān)控框架,它通過不同的組件完成數(shù)據(jù)的采集,數(shù)據(jù)的存儲(chǔ),告警,其中Prome...
    猴子精h閱讀 5,213評論 0 5
  • 前言 Prometheus是一套開源的系統(tǒng)監(jiān)控報(bào)警框架。如今越來越多的公司開始廣泛使用Prometheus來提供近...
    zyanqiang閱讀 896評論 0 0
  • 前言 Prometheus官網(wǎng)的非官方中文手冊,翻譯截至Prometheus latest(2.9)。 什么是pr...
    飛雪K閱讀 7,289評論 0 3
  • 夜鶯2517閱讀 128,103評論 1 9

友情鏈接更多精彩內(nèi)容