grafana + prometheus搭建服務(wù)器監(jiān)控系統(tǒng)(一)---安裝淋昭、配置

一俐填、Grafana介紹

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. 注釋:使用來自不同數(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介紹

Prometheus是一個(gè)開源的系統(tǒng)監(jiān)控和報(bào)警系統(tǒng)吵冒,現(xiàn)在已經(jīng)加入到CNCF基金會(huì),成為繼k8s之后第二個(gè)在CNCF托管的項(xiàng)目西剥,在kubernetes容器管理系統(tǒng)中痹栖,通常會(huì)搭配prometheus進(jìn)行監(jiān)控,同時(shí)也支持多種exporter采集數(shù)據(jù)瞭空,還支持pushgateway進(jìn)行數(shù)據(jù)上報(bào)揪阿,Prometheus性能足夠支撐上萬(wàn)臺(tái)規(guī)模的集群。

  1. 多維度數(shù)據(jù)模型
    每一個(gè)時(shí)間序列數(shù)據(jù)都由metric度量指標(biāo)名稱和它的標(biāo)簽labels鍵值對(duì)集合唯一確定:這個(gè)metric度量指標(biāo)名稱指定監(jiān)控目標(biāo)系統(tǒng)的測(cè)量特征(如:http_requests_total- 接收http請(qǐng)求的總計(jì)數(shù))咆畏。labels開啟了Prometheus的多維數(shù)據(jù)模型:對(duì)于相同的度量名稱南捂,通過不同標(biāo)簽列表的結(jié)合, 會(huì)形成特定的度量維度實(shí)例。(例如:所有包含度量名稱為/api/tracks的http請(qǐng)求旧找,打上method=POST的標(biāo)簽溺健,則形成了具體的http請(qǐng)求)。這個(gè)查詢語(yǔ)言在這些度量和標(biāo)簽列表的基礎(chǔ)上進(jìn)行過濾和聚合钮蛛。改變?nèi)魏味攘可系娜魏螛?biāo)簽值鞭缭,則會(huì)形成新的時(shí)間序列圖。
  2. 靈活的查詢語(yǔ)言(PromQL):可以對(duì)采集的metrics指標(biāo)進(jìn)行加法魏颓,乘法岭辣,連接等操作;
  3. 可以直接在本地部署甸饱,不依賴其他分布式存儲(chǔ)沦童;
  4. 通過基于HTTP的pull方式采集時(shí)序數(shù)據(jù);
  5. 可以通過中間網(wǎng)關(guān)pushgateway的方式把時(shí)間序列數(shù)據(jù)推送到prometheus server端;
  6. 可通過服務(wù)發(fā)現(xiàn)或者靜態(tài)配置來發(fā)現(xiàn)目標(biāo)服務(wù)對(duì)象(targets)搞动。
  7. 有多種可視化圖像界面,如Grafana等渣刷。
  8. 高效的存儲(chǔ)鹦肿,每個(gè)采樣數(shù)據(jù)占3.5 bytes左右,300萬(wàn)的時(shí)間序列辅柴,30s間隔箩溃,保留60天,消耗磁盤大概200G碌嘀。
  9. 做高可用涣旨,可以對(duì)數(shù)據(jù)做異地備份,聯(lián)邦集群股冗,部署多套prometheus霹陡,pushgateway上報(bào)數(shù)據(jù)

三、前期準(zhǔn)備

我將搭建三個(gè)虛擬機(jī)止状,一臺(tái)安裝grafana烹棉、prometheus,用作監(jiān)控匯總展示的主機(jī)怯疤,其它兩臺(tái)是被監(jiān)控的浆洗,上面會(huì)按需安裝prometheus的exporter。

  • oracle vm virtualbox 創(chuàng)建虛擬機(jī)
  • cmder 命令行工具
  • centos7

創(chuàng)建虛擬機(jī)以及配置網(wǎng)絡(luò)的過程這里就不贅述了

四集峦、grafana下載安裝

grafana官網(wǎng) 查找最新版本的grafana安裝包

grafana下載鏈接

登錄服務(wù)器1伏社,按你喜好找一個(gè)安裝grafana的目錄,我是在根目錄下的packages文件夾中安裝

cd /packages
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.3.3-1.x86_64.rpm
yum install grafana-enterprise-8.3.3-1.x86_64.rpm
// 設(shè)置grafana為開機(jī)自啟
systemctl daemon-reload  // 加載新的systemd配置
systemctl enable grafana-server  // 設(shè)置開機(jī)自啟
systemctl start grafana-server  // 啟動(dòng)grafana
systemctl status grafana-server  // 查看進(jìn)程啟動(dòng)狀態(tài)

grafana啟動(dòng)默認(rèn)會(huì)占用3000端口塔淤,可以在瀏覽器通過ip:3000的方式打開grafana管理界面
如果打不開摘昌,可能是防火墻沒有開放3000端口

// 加上--permanent會(huì)永久開啟
firewall-cmd --zone=public --add-port=3000/tcp --permanent
// 開啟后要重啟防火墻
firewall-cmd --reload
// 查看已開放的端口
firewall-cmd --zone=public --list-ports
grafana首頁(yè)

五、prometheus下載安裝

prometheus官網(wǎng) 查找prometheus的最新包地址

prometheus下載頁(yè)

// 在/packages目錄下
wget https://github.com/prometheus/prometheus/releases/download/v2.33.0-rc.0/prometheus-2.33.0-rc.0.linux-amd64.tar.gz
// 下載得到prometheus-2.33.0-rc.0.linux-amd64.tar.gz文件
tar xvfz prometheus-2.33.0-rc.0.linux-amd64.tar.gz
// 解壓得到prometheus-2.33.0-rc.0.linux-amd64文件夾高蜂,用mv命令改個(gè)簡(jiǎn)單的名字
mv prometheus-2.33.0-rc.0.linux-amd64 prometheus

下一步第焰,進(jìn)入prometheus文件夾,修改prometheus.yml文件

# 這是官網(wǎng)上提供的最簡(jiǎn)配置
global:
  scrape_interval:     15s
  evaluation_interval: 15s

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

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

設(shè)置prometheus開機(jī)自啟

// 創(chuàng)建文件 /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus Monitoring System
Documentation=Prometheus Monitoring System

[Service]
ExecStart=/packages/prometheus/prometheus \
  --config.file=/packages/prometheus/prometheus.yml \
  --web.listen-address=:9090

Restart=on-failure
[Install]
WantedBy=multi-user.target
// packages/prometheus 是我prometheus的安裝路徑妨马,可以按需修改
systemctl daemon-reload  // 加載新的systemd配置
systemctl enable prometheus  // 設(shè)置開機(jī)自啟
systemctl start prometheus  // 啟動(dòng)prometheus
systemctl status prometheus  // 查看啟動(dòng)狀態(tài)

在yml文件中可以配置占用的端口號(hào)挺举,記得在防火墻設(shè)置放開該端口,我的是9090
可以通過ip:9090的方式在瀏覽器中打開prometheus的管理界面


prometheus首頁(yè)

六烘跺、安裝node-exporter

在被監(jiān)聽的linux機(jī)器上安裝node_exporter湘纵,可以監(jiān)控服務(wù)器CPU、內(nèi)存滤淳、磁盤梧喷、I/O等信息。node_exporter的作用是用于機(jī)器系統(tǒng)數(shù)據(jù)收集。
和其他exporter一樣铺敌,node_exporter提供http接口提供數(shù)據(jù)汇歹,prometheus會(huì)隔段時(shí)間調(diào)接口拉取數(shù)據(jù)匯總。

在需要監(jiān)控的機(jī)器的根目錄偿凭,創(chuàng)建/packages文件夾
prometheus官網(wǎng) 查找node_exporter的最新包地址

wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
tar xvfz node_exporter-1.3.1.linux-amd64.tar.gz
mv node_exporter-1.3.1.linux-amd64 node_exporter

將node_exporter加入開機(jī)自啟

// 創(chuàng)建文件 /etc/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
Documentation=https://github.com/prometheus/node_exporter

[Service]
ExecStart=/packages/node_exporter/node_exporter
Restart=on-failure

[Install]
WantedBy=multi-user.target
systemctl daemon-reload  // 加載新的systemd配置
systemctl enable node_exporter// 設(shè)置開機(jī)自啟
systemctl start node_exporter // 啟動(dòng)node_exporter
systemctl status node_exporter // 查看啟動(dòng)狀態(tài)

可以訪問ip:9100产弹,確定是否運(yùn)行成功(記得在防火墻開放端口)


node_exporter啟動(dòng)成功

為prometheus添加監(jiān)控項(xiàng)(裝了prometheus的主機(jī))

// 編輯prometheus.yml文件,添加下面部分
# node_exporter監(jiān)聽主機(jī)信息
  - job_name: "node_info"
    static_configs:
      - targets: ['172.20.10.7:9100']
        labels:
          app: node2
          hostname: node2
          role: node
      - targets: ['172.20.10.8:9100']
        labels:
          app: node3
          hostname: node3
          role: node
// 注意這個(gè)ip是啟用了node_exporter的服務(wù)器地址弯囊,大家可以按需填寫痰哨,命名也是自定義的
// 重啟prometheus
systemctl restart prometheus

此時(shí),在prometheus管理界面就可以找到新增的target了


添加target成功

在grafana管理界面添加prometheus為數(shù)據(jù)源datasource
在grafana管理界面添加node_exporter的dashboard模板(id 8919)
然后就可以看到被監(jiān)控服務(wù)器的圖表信息了


dashboard截圖
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末匾嘱,一起剝皮案震驚了整個(gè)濱河市斤斧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌霎烙,老刑警劉巖撬讽,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異悬垃,居然都是意外死亡锐秦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門盗忱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來酱床,“玉大人,你說我怎么就攤上這事趟佃∩纫ィ” “怎么了?”我有些...
    開封第一講書人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵闲昭,是天一觀的道長(zhǎng)罐寨。 經(jīng)常有香客問我,道長(zhǎng)序矩,這世上最難降的妖魔是什么鸯绿? 我笑而不...
    開封第一講書人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮簸淀,結(jié)果婚禮上瓶蝴,老公的妹妹穿的比我還像新娘。我一直安慰自己租幕,他們只是感情好舷手,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著劲绪,像睡著了一般男窟。 火紅的嫁衣襯著肌膚如雪盆赤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,274評(píng)論 1 300
  • 那天歉眷,我揣著相機(jī)與錄音牺六,去河邊找鬼。 笑死汗捡,一個(gè)胖子當(dāng)著我的面吹牛淑际,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播凉唐,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼霍骄!你這毒婦竟也來了台囱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤读整,失蹤者是張志新(化名)和其女友劉穎簿训,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體米间,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡强品,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了屈糊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片的榛。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖逻锐,靈堂內(nèi)的尸體忽然破棺而出夫晌,到底是詐尸還是另有隱情,我是刑警寧澤昧诱,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布晓淀,位于F島的核電站,受9級(jí)特大地震影響盏档,放射性物質(zhì)發(fā)生泄漏凶掰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一蜈亩、第九天 我趴在偏房一處隱蔽的房頂上張望懦窘。 院中可真熱鬧,春花似錦稚配、人聲如沸奶赠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)毅戈。三九已至苹丸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間苇经,已是汗流浹背赘理。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扇单,地道東北人商模。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蜘澜,于是被迫代替她去往敵國(guó)和親施流。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

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