prometheus+grafana+node_exporter監(jiān)控

prometheus概述

概述

什么是普羅米修斯?

Prometheus是最初在SoundCloud上構(gòu)建的開源系統(tǒng)監(jiān)視和警報工具包 提茁。自2012年成立以來淹禾,許多公司和組織都采用了Prometheus,該項目擁有非耻畋猓活躍的開發(fā)人員和用戶社區(qū)×宀恚現(xiàn)在,它是一個獨立的開源項目峭火,并且獨立于任何公司進行維護毁习。為了強調(diào)這一點并闡明該項目的治理結(jié)構(gòu),Prometheus在2016年加入了 Cloud Native Computing Foundation卖丸,這是繼Kubernetes之后的第二個托管項目纺且。

有關(guān)Prometheus的詳細說明,請參見媒體部分中的資源鏈接 稍浆。

特征

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

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

組件

Prometheus生態(tài)系統(tǒng)由多個組件組成,其中許多是可選的:

大多數(shù)Prometheus組件都是用Go編寫的感凤,因此易于構(gòu)建和部署為靜態(tài)二進制文件悯周。

建筑學

該圖說明了Prometheus的體系結(jié)構(gòu)及其某些生態(tài)系統(tǒng)組件:

普羅米修斯建筑

Prometheus直接或通過中介推送網(wǎng)關(guān)從已檢測作業(yè)中刪除指標,以處理短暫的作業(yè)俊扭。它在本地存儲所有報廢的樣本队橙,并對這些數(shù)據(jù)運行規(guī)則,以匯總和記錄現(xiàn)有數(shù)據(jù)中的新時間序列或生成警報萨惑。Grafana或其他API使用者可以用來可視化所收集的數(shù)據(jù)捐康。

什么時候合適?

Prometheus可以很好地記錄任何純數(shù)字時間序列庸蔼。它既適用于以機器為中心的監(jiān)視解总,也適用于高度動態(tài)的面向服務(wù)的體系結(jié)構(gòu)的監(jiān)視。在微服務(wù)世界中姐仅,它對多維數(shù)據(jù)收集和查詢的支持是一種特別的優(yōu)勢花枫。

Prometheus是為可靠性而設(shè)計的刻盐,它是您在中斷期間要使用的系統(tǒng),可讓您快速診斷問題劳翰。每個Prometheus服務(wù)器都是獨立的敦锌,而不依賴于網(wǎng)絡(luò)存儲或其他遠程服務(wù)。當基礎(chǔ)結(jié)構(gòu)的其他部分損壞時佳簸,您可以依靠它乙墙,并且無需設(shè)置廣泛的基礎(chǔ)結(jié)構(gòu)即可使用它。

什么時候不適合生均?

普羅米修斯重視可靠性听想。即使在故障情況下,您始終可以查看有關(guān)系統(tǒng)的可用統(tǒng)計信息马胧。如果您需要100%的準確性(例如按請求計費)汉买,則Prometheus并不是一個不錯的選擇,因為所收集的數(shù)據(jù)可能不會足夠詳細和完整佩脊。在這種情況下蛙粘,最好使用其他系統(tǒng)來收集和分析數(shù)據(jù)以進行計費,并使用Prometheus進行其余的監(jiān)視邻吞。

prometheus下載安裝

歡迎來到普羅米修斯组题!Prometheus是一個監(jiān)視平臺葫男,它通過在這些目標上刮擦度量標準HTTP端點來從被監(jiān)視的目標收集度量標準抱冷。本指南將向您展示如何使用Prometheus安裝,配置和監(jiān)視我們的第一個資源梢褐。您將下載旺遮,安裝并運行Prometheus。您還將下載并安裝導出器盈咳,該工具可在主機和服務(wù)上顯示時間序列數(shù)據(jù)耿眉。我們的第一個導出器將是Prometheus本身,它提供有關(guān)內(nèi)存使用鱼响,垃圾回收等的各種主機級別指標鸣剪。

下載Prometheus

下載適用于您的平臺的最新版本的Prometheus,然后將其解壓縮:

tar xvfz prometheus-*.tar.gz
cd prometheus-*

Prometheus服務(wù)器是一個稱為prometheus(或prometheus.exe在Microsoft Windows上)的二進制文件丈积。我們可以運行二進制文件筐骇,并通過傳遞--help標志來查看有關(guān)其選項的幫助。

./prometheus --help
usage: prometheus [<flags>]

The Prometheus monitoring server

. . .

在啟動Prometheus之前江滨,讓我們對其進行配置铛纬。

配置Prometheus

Prometheus配置為YAML。Prometheus下載在一個名為的文件中帶有一個示例配置唬滑,prometheus.yml這是一個入門的好地方告唆。

我們刪除了示例文件中的大多數(shù)注釋棺弊,以使其更加簡潔(注釋以開頭的行#)。

global:
  scrape_interval:     15s
  evaluation_interval: 15s

rule_files:
  # - "first.rules"
  # - "second.rules"

scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090']

有示例配置文件中配置的三個模塊:global擒悬,rule_files模她,和scrape_configs

global塊控制Prometheus服務(wù)器的全局配置懂牧。我們有兩個選擇缝驳。第一個scrape_interval控制,Prometheus多久刮一次目標归苍。您可以為單個目標覆蓋此目標用狱。在這種情況下,全局設(shè)置是每15秒刮一次拼弃。該evaluation_interval選項控制Prometheus多久評估一次規(guī)則夏伊。Prometheus使用規(guī)則來創(chuàng)建新的時間序列并生成警報。

rule_files塊指定了我們希望Prometheus服務(wù)器加載的任何規(guī)則的位置吻氧。目前溺忧,我們還沒有任何規(guī)則。

最后一塊盯孙,scrape_configs控制Prometheus監(jiān)視哪些資源鲁森。由于Prometheus還將有關(guān)自身的數(shù)據(jù)公開為HTTP端點,因此它可以抓取并監(jiān)視其自身的運行狀況振惰。在默認配置中歌溉,有一個名為的作業(yè),prometheus它會刮擦Prometheus服務(wù)器公開的時間序列數(shù)據(jù)骑晶。該作業(yè)包含一個靜態(tài)配置的目標localhoston端口9090痛垛。Prometheus希望指標可用于路徑上的目標/metrics。因此桶蛔,此默認作業(yè)是通過以下網(wǎng)址進行抓瘸淄贰:http:// localhost:9090 / metrics

返回的時間序列數(shù)據(jù)將詳細說明Prometheus服務(wù)器的狀態(tài)和性能仔雷。

有關(guān)配置選項的完整說明蹂析,請參閱 配置文檔

開始普羅米修斯

要使用我們新創(chuàng)建的配置文件啟動Prometheus碟婆,請切換到包含Prometheus二進制文件的目錄并運行:

./prometheus --config.file=prometheus.yml

普羅米修斯應(yīng)該開始电抚。您還應(yīng)該能夠在http:// localhost:9090上瀏覽到有關(guān)其自身的狀態(tài)頁。給它大約30秒鐘的時間脑融,以從其自己的HTTP指標終結(jié)點收集有關(guān)其自身的數(shù)據(jù)喻频。

您還可以通過導航到自己的指標終結(jié)點:http:// localhost:9090 / metrics來驗證Prometheus是否正在提供有關(guān)其自身的指標

使用表達式瀏覽器

讓我們嘗試查看Prometheus收集的有關(guān)自身的一些數(shù)據(jù)肘迎。要使用Prometheus的內(nèi)置表達式瀏覽器甥温,請導航至 http:// localhost:9090 / graph锻煌,然后在“圖形”選項卡中選擇“控制臺”視圖。

正如您可以從http:// localhost:9090 / metrics收集的那樣姻蚓,稱為Prometheus導出的有關(guān)其自身的一個指標 promhttp_metric_handler_requests_total/metricsPrometheus服務(wù)器已處理的請求總數(shù))宋梧。繼續(xù)并將其輸入到表達式控制臺中:

promhttp_metric_handler_requests_total

這將返回多個不同的時間序列(以及每個時間序列的最新值),所有時間序列均帶有度量名稱promhttp_metric_handler_requests_total狰挡,但帶有不同的標簽捂龄。這些標簽指定不同的請求狀態(tài)。

如果我們只對導致HTTP代碼的請求感興趣200加叁,則可以使用此查詢來檢索該信息:

promhttp_metric_handler_requests_total{code="200"}

要計算返回的時間序列數(shù)倦沧,您可以編寫:

count(promhttp_metric_handler_requests_total)

有關(guān)表達語言的更多信息,請參見 表達語言文檔它匕。

使用繪圖界面

要繪制表達式的圖形展融,請導航到http:// localhost:9090 / graph并使用“圖形”選項卡。

例如豫柬,輸入以下表達式以圖形化顯示在自抓取的Prometheus中發(fā)生的每秒HTTP請求速率返回狀態(tài)代碼200:

rate(promhttp_metric_handler_requests_total{code="200"}[1m])

您可以嘗試使用圖形范圍參數(shù)和其他設(shè)置告希。

安裝node_exporter

1.下載安裝包
下載地址:https://prometheus.io/download/

2.解壓安裝包
tar -zxvf node_exporter-1.1.2.linux-amd64.tar.gz
mv node_exporter-1.1.2.linux-amd64 node_exporter

3.添加到系統(tǒng)服務(wù)

  • centos7以上
    vi /usr/lib/systemd/system/node_exporter.service
    添加以下內(nèi)容:
[Service]
ExecStart=/server/node_exporter/node_exporter 
[Install]
WantedBy=multi-user.target

[Unit]
Description=node_exporter
After=network.target

systemctl daemon-reload #重加載系統(tǒng)服務(wù)

systemctl restart node_exporter.service #啟動node_exporter服務(wù)

systemctl enable node_exporter.service #加入開機自啟

systemctl status node_exporter.service#查看啟動狀態(tài)


以上代表啟動成功。
啟動成功后默認端口為9100,可以查看下烧给。

  • centos7以下操作
    nohup /server/node_exporter/node_exporter > /dev/null &
    ps -ef | grep node

    加入開機自啟:
    vim /etc/rc.local
    添加如下內(nèi)容
    nohup /server/node_exporter/node_exporter > /dev/null &

4.開通端口
在prometheus服務(wù)器上telnet node_exporter端口,如果不通燕偶,則需要開啟端口,或者關(guān)閉防火墻(正式環(huán)境不允許)础嫡。
下面演示開啟防火墻:
systemctl status firewalld
firewall-cmd --zone=public --add-port=9100/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload

5.添加prometheus規(guī)則

- job_name: 'k8s'
  static_configs:
  - targets: ['127.0.0.1:9100']

添加完成后務(wù)必重啟prometheus生效指么。

pkill -9 prometheus

nohup ./prometheus --config.file="/server/prometheus/prometheus.yml" &

安裝grafana

wget https://dl.grafana.com/oss/release/grafana-7.5.7-1.x86_64.rpm
sudo yum install grafana-7.5.7-1.x86_64.rpm

systemctl start grafana.service
網(wǎng)頁輸入ip:3000


默認賬戶密碼為admin admin,進去會提示修改密碼,修改即可驰吓。
然后點擊'+'涧尿,導入儀表。

儀表樣例官方地址:
https://grafana.com/grafana/dashboards?search=docker

輸入node搜索檬贰,點擊一個儀表樣例。

點擊copy,打開grafana界面缺亮,輸入id,加載翁涤,然后選擇數(shù)據(jù)源為prometheus,就會看到一個精細的儀表監(jiān)控了萌踱。


至此葵礼,完美實現(xiàn)prometheus+grafana+node_exporter監(jiān)控。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末并鸵,一起剝皮案震驚了整個濱河市鸳粉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌园担,老刑警劉巖届谈,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件枯夜,死亡現(xiàn)場離奇詭異,居然都是意外死亡艰山,警方通過查閱死者的電腦和手機湖雹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來曙搬,“玉大人摔吏,你說我怎么就攤上這事∽葑埃” “怎么了征讲?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長橡娄。 經(jīng)常有香客問我稳诚,道長,這世上最難降的妖魔是什么瀑踢? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任扳还,我火速辦了婚禮,結(jié)果婚禮上橱夭,老公的妹妹穿的比我還像新娘氨距。我一直安慰自己,他們只是感情好棘劣,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布俏让。 她就那樣靜靜地躺著,像睡著了一般茬暇。 火紅的嫁衣襯著肌膚如雪首昔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天糙俗,我揣著相機與錄音勒奇,去河邊找鬼。 笑死巧骚,一個胖子當著我的面吹牛赊颠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播劈彪,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼竣蹦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了沧奴?” 一聲冷哼從身側(cè)響起痘括,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤舟铜,失蹤者是張志新(化名)和其女友劉穎否纬,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡虹曙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年窜护,在試婚紗的時候發(fā)現(xiàn)自己被綠了滩字。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片懊烤。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖灶芝,靈堂內(nèi)的尸體忽然破棺而出郑原,到底是詐尸還是另有隱情,我是刑警寧澤夜涕,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布犯犁,位于F島的核電站,受9級特大地震影響女器,放射性物質(zhì)發(fā)生泄漏酸役。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一驾胆、第九天 我趴在偏房一處隱蔽的房頂上張望涣澡。 院中可真熱鬧,春花似錦丧诺、人聲如沸入桂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抗愁。三九已至,卻和暖如春呵晚,著一層夾襖步出監(jiān)牢的瞬間蜘腌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工饵隙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留撮珠,地道東北人。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓癞季,卻偏偏與公主長得像劫瞳,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子绷柒,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容