k8s安裝Prometheus+Grafana(無(wú)坑版)

一、Prometheus奏夫、Grafana介紹

Prometheus(普羅米修斯)是一套開源的監(jiān)控&報(bào)警&時(shí)間序列數(shù)據(jù)庫(kù)的組合刮吧,起始是由SoundCloud公司開發(fā)的移必。隨著發(fā)展承边,越來(lái)越多公司和組織接受采用Prometheus遭殉,社會(huì)也十分活躍,他們便將它獨(dú)立成開源項(xiàng)目博助,并且有公司來(lái)運(yùn)作险污。Google SRE的書內(nèi)也曾提到跟他們BorgMon監(jiān)控系統(tǒng)相似的實(shí)現(xiàn)是Prometheus。現(xiàn)在最常見的Kubernetes容器管理系統(tǒng)中富岳,通常會(huì)搭配Prometheus進(jìn)行監(jiān)控罗心。
Prometheus基本原理是通過HTTP協(xié)議周期性抓取被監(jiān)控組件的狀態(tài),這樣做的好處是任意組件只要提供HTTP接口就可以接入監(jiān)控系統(tǒng)城瞎,不需要任何SDK或者其他的集成過程。這樣做非常適合虛擬化環(huán)境比如VM或者Docker 疾瓮。
Prometheus應(yīng)該是為數(shù)不多的適合Docker脖镀、Mesos、Kubernetes環(huán)境的監(jiān)控系統(tǒng)之一。
輸出被監(jiān)控組件信息的HTTP接口被叫做exporter 蜒灰。目前互聯(lián)網(wǎng)公司常用的組件大部分都有exporter可以直接使用弦蹂,比如Varnish、Haproxy强窖、Nginx凸椿、MySQL、Linux 系統(tǒng)信息 (包括磁盤翅溺、內(nèi)存脑漫、CPU、網(wǎng)絡(luò)等等)咙崎,具體支持的源看:https://github.com/prometheus优幸。
與其他監(jiān)控系統(tǒng)相比,Prometheus的主要特點(diǎn)是:
1.一個(gè)多維數(shù)據(jù)模型(時(shí)間序列由指標(biāo)名稱定義和設(shè)置鍵/值尺寸)褪猛;
2.非常高效的存儲(chǔ)网杆,平均一個(gè)采樣數(shù)據(jù)占~3.5bytes左右,320萬(wàn)的時(shí)間序列伊滋,每30秒采樣碳却,保持60天,消耗磁盤大概228G笑旺;
3.一種靈活的查詢語(yǔ)言昼浦;
4.不依賴分布式存儲(chǔ),單個(gè)服務(wù)器節(jié)點(diǎn)燥撞;
5.時(shí)間集合通過HTTP上的PULL模型進(jìn)行座柱;
6.通過中間網(wǎng)關(guān)支持推送時(shí)間;
7.通過服務(wù)發(fā)現(xiàn)或靜態(tài)配置發(fā)現(xiàn)目標(biāo)物舒;
8.多種模式的圖形和儀表板支持色洞。
Grafana是一個(gè)跨平臺(tái)的開源的度量分析和可視化工具,可以通過將采集的數(shù)據(jù)查詢?nèi)缓罂梢暬恼故竟诳瑁⒓皶r(shí)通知火诸。它主要有以下六大特點(diǎn):
1、展示方式:快速靈活的客戶端圖表荠察,面板插件有許多不同方式的可視化指標(biāo)和日志置蜀,官方庫(kù)中具有豐富的儀表盤插件,比如熱圖悉盆、折線圖盯荤、圖表等多種展示方式;
2焕盟、數(shù)據(jù)源:Graphite秋秤,InfluxDB,OpenTSDB,Prometheus灼卢,Elasticsearch绍哎,CloudWatch和KairosDB等;
3鞋真、通知提醒:以可視方式定義最重要指標(biāo)的警報(bào)規(guī)則崇堰,Grafana將不斷計(jì)算并發(fā)送通知,在數(shù)據(jù)達(dá)到閾值時(shí)通過Slack涩咖、PagerDuty等獲得通知海诲;
4、混合展示:在同一圖表中混合使用不同的數(shù)據(jù)源抠藕,可以基于每個(gè)查詢指定數(shù)據(jù)源饿肺,甚至自定義數(shù)據(jù)源;
5盾似、注釋:使用來(lái)自不同數(shù)據(jù)源的豐富事件注釋圖表敬辣,將鼠標(biāo)懸停在事件上會(huì)顯示完整的事件元數(shù)據(jù)和標(biāo)記;
6零院、過濾器:Ad-hoc過濾器允許動(dòng)態(tài)創(chuàng)建新的鍵/值過濾器溉跃,這些過濾器會(huì)自動(dòng)應(yīng)用于使用該數(shù)據(jù)源的所有查詢。

二告抄、安裝Prometheus

安裝過程中涉及的yaml文件獲取地址:
鏈接: https://pan.baidu.com/s/12W5DGlVZqWYtMKVxgfR6GA 提取碼: 8uw8

1.在kubernetest集群中創(chuàng)建namespace

apiVersion: v1
kind: Namespace
metadata: 
  name: ns-monitor
  labels:
    name: ns-monitor
    
kubectl apply -f namespace.yaml

2.安裝node-exporter

在kubernetest集群中部署node-exporter撰茎,Node-exporter用于采集kubernetes集群中各個(gè)節(jié)點(diǎn)的物理指標(biāo),比如:Memory打洼、CPU等龄糊。可以直接在每個(gè)物理節(jié)點(diǎn)是直接安裝募疮,這里我們使用DaemonSet部署到每個(gè)節(jié)點(diǎn)上炫惩,使用 hostNetwork: true 和 hostPID: true 使其獲得Node的物理指標(biāo)信息,配置tolerations使其在master節(jié)點(diǎn)也啟動(dòng)一個(gè)pod阿浓。
kubectl apply -f node-exporter.yaml
檢驗(yàn)node-exporter是否成功運(yùn)行
[root@master1 ~]# kubectl get pod -n ns-monitor 
NAME                          READY   STATUS
grafana-677d945674-56m5n      1/1     Running
node-exporter-vkpt2           1/1     Running
node-exporter-zkh9s           1/1     Running
prometheus-6c9574d5ff-292bq   1/1     Running
[root@master1 ~]# kubectl get svc -n ns-monitor 
NAME                    TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)          
grafana-service         NodePort   10.96.101.190    <none>        3000:32405/TCP
node-exporter-service   NodePort   10.107.147.241   <none>        9100:31672/TCP
prometheus-service      NodePort   10.97.249.230    <none>        9090:30437/TCP

瀏覽器訪問: http://主機(jī)ip:31672/metrics
image.png

3.部署Prometheus pod

prometheus.yaml 中包含rbac認(rèn)證他嚷、ConfigMap等。
kubectl apply -f prometheus.yaml 
檢驗(yàn)是否正常運(yùn)行
[root@master1 ~]# kubectl get pod -n ns-monitor 
NAME                          READY   STATUS
grafana-677d945674-56m5n      1/1     Running
node-exporter-vkpt2           1/1     Running
node-exporter-zkh9s           1/1     Running
prometheus-6c9574d5ff-292bq   1/1     Running
[root@master1 ~]# kubectl get svc -n ns-monitor 
NAME                    TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)          
grafana-service         NodePort   10.96.101.190    <none>        3000:32405/TCP
node-exporter-service   NodePort   10.107.147.241   <none>        9100:31672/TCP
prometheus-service      NodePort   10.97.249.230    <none>        9090:30437/TCP

瀏覽器訪問: http://主機(jī)ip:30437/graph
image.png

4.在kubernetest中部署grafana

kubectl apply -f grafana.yaml
檢驗(yàn)是否正常運(yùn)行
[root@master1 ~]# kubectl get pod -n ns-monitor 
NAME                          READY   STATUS
grafana-677d945674-56m5n      1/1     Running
node-exporter-vkpt2           1/1     Running
node-exporter-zkh9s           1/1     Running
prometheus-6c9574d5ff-292bq   1/1     Running
[root@master1 ~]# kubectl get svc -n ns-monitor 
NAME                    TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)          
grafana-service         NodePort   10.96.101.190    <none>        3000:32405/TCP
node-exporter-service   NodePort   10.107.147.241   <none>        9100:31672/TCP
prometheus-service      NodePort   10.97.249.230    <none>        9090:30437/TCP

瀏覽器訪問: http://主機(jī)ip:32405/graph/login  默認(rèn)用戶名和密碼:admin/admin
image.png

5.配置grafana數(shù)據(jù)源

把prometheus配置成數(shù)據(jù)源 :http://prometheus-service.ns-monitor:9090(下圖中的url填寫這個(gè))
image.png
image.png
image.png

6.導(dǎo)入Dashboard

把 kubernetes的Dashboard的模板導(dǎo)入進(jìn)來(lái)芭毙,直接把JSON格式內(nèi)容復(fù)制進(jìn)來(lái)筋蓖。
image.png
image.png
image.png

效果圖

image.png
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市退敦,隨后出現(xiàn)的幾起案子粘咖,更是在濱河造成了極大的恐慌,老刑警劉巖侈百,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涂炎,死亡現(xiàn)場(chǎng)離奇詭異忠聚,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)唱捣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)网梢,“玉大人震缭,你說我怎么就攤上這事≌铰玻” “怎么了拣宰?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)烦感。 經(jīng)常有香客問我巡社,道長(zhǎng),這世上最難降的妖魔是什么手趣? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任晌该,我火速辦了婚禮,結(jié)果婚禮上绿渣,老公的妹妹穿的比我還像新娘朝群。我一直安慰自己,他們只是感情好中符,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布姜胖。 她就那樣靜靜地躺著,像睡著了一般淀散。 火紅的嫁衣襯著肌膚如雪右莱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天档插,我揣著相機(jī)與錄音慢蜓,去河邊找鬼。 笑死阀捅,一個(gè)胖子當(dāng)著我的面吹牛胀瞪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播饲鄙,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼凄诞,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了忍级?” 一聲冷哼從身側(cè)響起帆谍,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎轴咱,沒想到半個(gè)月后汛蝙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體烈涮,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年窖剑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了坚洽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡西土,死狀恐怖讶舰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情需了,我是刑警寧澤跳昼,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站肋乍,受9級(jí)特大地震影響鹅颊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜墓造,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一堪伍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧滔岳,春花似錦杠娱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至刘离,卻和暖如春室叉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背硫惕。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工茧痕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人恼除。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓踪旷,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親豁辉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子令野,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355