服務(wù)器監(jiān)控是每個(gè)互聯(lián)網(wǎng)廠商都重視并且想要盡可能做好的事情,從數(shù)據(jù)收集、數(shù)據(jù)處理、數(shù)據(jù)可視化最終再到實(shí)時(shí)監(jiān)控告警,這一系列復(fù)雜的流程可能耗費(fèi)企業(yè)大量的人力和時(shí)間,以至于某些時(shí)候因?yàn)槠鋸?fù)雜性高無(wú)法達(dá)到預(yù)期的監(jiān)控效果。而當(dāng)事故發(fā)生時(shí)才發(fā)現(xiàn),由于監(jiān)控體系的不完善造成了很多不必要的損失, 讓我們追悔莫及。
為了解決企業(yè)的此類煩惱,七牛云推出了快速構(gòu)建服務(wù)器性能監(jiān)控報(bào)警的解決方案。七牛云開源的日志/信息采集工具 logkit
配合七牛云 Pandora 大數(shù)據(jù)工作流引擎和時(shí)序數(shù)據(jù)庫(kù)服務(wù),可以方便地對(duì)大量服務(wù)器的海量性能指標(biāo)數(shù)據(jù)進(jìn)行全方位監(jiān)控。而整個(gè)部署和使用的流程,您完整體驗(yàn)的時(shí)間僅需15分鐘。
監(jiān)控的內(nèi)容
logkit
目前收集的機(jī)器性能指標(biāo)主要包括十大模塊, 上百個(gè)指標(biāo)
-
system
模塊: 監(jiān)控load1
、load5
、load15
、用戶數(shù)
、cpu 核數(shù)
以及系統(tǒng)啟動(dòng)時(shí)間
等. -
processes
模塊: 監(jiān)控處于各種狀態(tài)的進(jìn)程數(shù)量, 比如運(yùn)行中
/暫停
/可中斷
/空閑
/掛起
等狀態(tài)的進(jìn)程數(shù)量等等. -
netstat
: 監(jiān)控處于各種狀態(tài)的網(wǎng)絡(luò)連接數(shù), 比如syn send
/syn recv
等狀態(tài)的網(wǎng)絡(luò)連接數(shù). -
net
: 監(jiān)控網(wǎng)絡(luò)設(shè)備的狀態(tài),比如收發(fā)包的數(shù)量
、收發(fā)包的字節(jié)數(shù)
等. -
mem
: 監(jiān)控內(nèi)存的實(shí)時(shí)狀態(tài). -
swap
: 監(jiān)控 swap 分區(qū)的狀態(tài),比如換入
、換出
、使用率
、空閑大小
等. -
cpu
: 監(jiān)控 CPU 的實(shí)時(shí)狀態(tài),包括cpu 用量
,中斷時(shí)間占比
等. -
kernel
: 監(jiān)控內(nèi)核中斷次數(shù)、上下文切換次數(shù)、fork 的進(jìn)程數(shù)等. -
disk
: 監(jiān)控磁盤的使用情況, 包括磁盤用量
、inode 使用情況
等. -
diskio
: 監(jiān)控磁盤讀寫狀態(tài), 包括讀寫次數(shù)
、總用時(shí)
等.
各項(xiàng)指標(biāo)的詳細(xì)介紹請(qǐng)參考 logkit
系統(tǒng)信息采集模塊介紹和配置
監(jiān)控效果圖
部署完成后,您可以直接載入我們?yōu)槟鷺?gòu)建的監(jiān)控模板,最終看到的效果圖如下。
1. 模板變量
模板變量可以起到過(guò)濾數(shù)據(jù)的作用, 比如通過(guò)hostname
這個(gè)模板變量可以具體查看某臺(tái)特定的服務(wù)器上的metric
信息,這樣即使有數(shù)十上百臺(tái)機(jī)器您也可以輕松管理。同樣的,對(duì)于某臺(tái)機(jī)器的一些具體的資源,如磁盤、CPU、網(wǎng)卡等等,也有相應(yīng)的模板變量可以選擇。
2. 全局概覽
全局信息概覽可以看到服務(wù)器的一些基本信息,比如系統(tǒng) load 值、內(nèi)存使用率、磁盤使用率、網(wǎng)絡(luò)帶寬等。以最直觀的方式全局把控整個(gè)系統(tǒng)的運(yùn)行狀態(tài),方便在基礎(chǔ)資源不夠時(shí)及時(shí)發(fā)現(xiàn)、及時(shí)處理。
現(xiàn)在我也找了很多測(cè)試的朋友,做了一個(gè)分享技術(shù)的交流群,共享了很多我們收集的技術(shù)文檔和視頻教程。
如果你不想再體驗(yàn)自學(xué)時(shí)找不到資源,沒人解答問題,堅(jiān)持幾天便放棄的感受
可以加入我們一起交流。而且還有很多在自動(dòng)化,性能,安全,測(cè)試開發(fā)等等方面有一定建樹的技術(shù)大牛
分享他們的經(jīng)驗(yàn),還會(huì)分享很多直播講座和技術(shù)沙龍
可以免費(fèi)學(xué)習(xí)!劃重點(diǎn)!開源的?。?!
qq群號(hào):691998057【暗號(hào):csdn999】
3. CPU Usage 信息
CPU Usage 顧名思義,就是指 CPU 的使用率,通過(guò)這幅圖可以看到系統(tǒng)中 user
、system
等對(duì)于系統(tǒng) CPU 資源的占用情況。當(dāng) CPU 使用率較高且整體運(yùn)行平穩(wěn)時(shí),說(shuō)明您的業(yè)務(wù)非常健康;若 CPU 的用量曲線波動(dòng)較大,那就說(shuō)明服務(wù)有可以優(yōu)化的地方,或者可以添加報(bào)警,在業(yè)務(wù)高峰時(shí)及時(shí)添加資源。
4. 系統(tǒng) load 值與進(jìn)程
在這張圖中你可以看到不同的統(tǒng)計(jì)時(shí)間段中系統(tǒng)的負(fù)載情況,可以根據(jù)負(fù)載大小設(shè)置告警閾值。同時(shí)也可以看到對(duì)應(yīng)的進(jìn)程數(shù)量, 如運(yùn)行的進(jìn)程數(shù)、在休眠中的進(jìn)程數(shù),并且可以看到值得關(guān)注的一些異常進(jìn)程,如僵尸進(jìn)程(zombies)以及被阻塞的進(jìn)程(blocked)。當(dāng)存在僵尸進(jìn)程時(shí)說(shuō)明存在服務(wù)異常,需要及時(shí)關(guān)注并處理。
5. 內(nèi)存用量
通過(guò)這張圖可以看到總內(nèi)存(total)、已使用內(nèi)存(used)、空閑內(nèi)存(free)等信息, 同理, 也可以針對(duì)這些信息設(shè)置告警,及時(shí)發(fā)現(xiàn)系統(tǒng)性能短板。另一方面要注意,當(dāng)系統(tǒng)free
的內(nèi)存少或接近零,而cache
部分的內(nèi)存多時(shí),說(shuō)明這部分業(yè)務(wù)對(duì)內(nèi)存緩存較為依賴,雖然服務(wù)仍然可以正常運(yùn)行,但此時(shí)極有可能程序沒法最大限度利用內(nèi)存緩存, 導(dǎo)致性能出現(xiàn)了問題。
6. kernel 信息
kernel 基本信息中可以看到內(nèi)核的上下文切換(context switch)、 fork 的進(jìn)程數(shù)(forks)、 已打開(opened)/最大(max)句柄數(shù)等信息。通常情況下服務(wù)器打開的句柄數(shù)都有一個(gè)上限,超過(guò)了這個(gè)限制服務(wù)就會(huì)出現(xiàn)問題,而服務(wù)器的高并發(fā)訪問極有可能導(dǎo)致打開的句柄數(shù)過(guò)多,實(shí)時(shí)監(jiān)控句柄數(shù)有助于查看服務(wù)運(yùn)行狀況。
7. CPU 的狀態(tài)
在這張圖中可以看到服務(wù)器中各個(gè)的CPU
的狀態(tài),是對(duì)于 CPU Usage
的詳細(xì)拓展。CPU 是一種彈性資源,即使使用量達(dá)到 100% 也不會(huì)出現(xiàn)直接的服務(wù)崩潰,但是極有可能導(dǎo)致服務(wù)響應(yīng)變得極慢,密切關(guān)注 CPU 用量,并對(duì)于 CPU 設(shè)置報(bào)警監(jiān)控也是運(yùn)維必不可少的一環(huán)。
8. 網(wǎng)絡(luò)相關(guān)
- TCP
這張圖展示了系統(tǒng)中處于各個(gè)狀態(tài)的 TCP 連接數(shù)量,比如SYN SENT
、FIN WAIT
等, 利用這些數(shù)據(jù)可以及時(shí)發(fā)現(xiàn)請(qǐng)求的健康狀態(tài),常見的如出現(xiàn)大量的FIN WAIT
、CLOST WAIT
等狀態(tài)的連接,說(shuō)明出現(xiàn)了很多慢請(qǐng)求或連接有問題,需要排查,通常這一類指標(biāo)可以結(jié)合打開文件句柄數(shù)一同查看。
- ICMP、IPV4
這張圖中可以看到 icmp
、ipv4
等網(wǎng)絡(luò)協(xié)議的收發(fā)狀態(tài)。
- UDP
這張圖中可以看到 udp 數(shù)據(jù)報(bào)
以及 udp
錯(cuò)誤數(shù)目等,如錯(cuò)誤數(shù)過(guò)多,表示網(wǎng)絡(luò)狀況不佳。
- 各個(gè)網(wǎng)卡的狀態(tài)
網(wǎng)卡狀態(tài)展示了包括網(wǎng)卡收發(fā)數(shù)據(jù)的速度(Network Usage)、收發(fā)包的速度(Network Packets)、丟包率(Network drops)以及出錯(cuò)頻率(Network errors)等信息。
9. 交換分區(qū)狀態(tài)
這張圖展示了交換分區(qū)的換入換出狀態(tài)、交換分區(qū)的使用情況等.
10. 磁盤用量
磁盤的重要性毋庸置疑,磁盤爆滿可能會(huì)對(duì)服務(wù)產(chǎn)生毀滅性打擊,無(wú)疑也是需要監(jiān)控的重點(diǎn)。
- 磁盤 IO
這張圖給出了當(dāng)前各個(gè)磁盤的 IO 信息,包括磁盤請(qǐng)求頻率(Disk IO requests)、讀寫速度(Disk IO bytes)以及讀寫時(shí)間(Disk IO time)等,當(dāng)磁盤 IO 過(guò)高時(shí),也有可能存在性能問題,需要關(guān)注。
- 磁盤使用情況
這張圖中可以看到磁盤總空間(total)與已使用空間(used), 實(shí)時(shí)展現(xiàn)磁盤使用情況,并且可以設(shè)置告警機(jī)制,當(dāng)磁盤的剩余空間少于某個(gè)閾值時(shí)及時(shí)告警。
快速開始
下面就 Pandora 提供的組件來(lái)搭建一個(gè)運(yùn)維監(jiān)控應(yīng)用,搭建這個(gè)應(yīng)用只需要四步。
!> 注意,為了順利使用 Pandora 的各項(xiàng)服務(wù),第一,需要一個(gè)已經(jīng)實(shí)名認(rèn)證的七牛賬戶;第二,申請(qǐng)開通 Pandora 的使用權(quán)限;
第一步:下載&啟動(dòng) logkit
從 f="https://github.com/qiniu/logkit/wiki/Download">logkit下載頁(yè)面 下載對(duì)應(yīng)操作系統(tǒng)的 logkit 應(yīng)用程序。logkit 的詳細(xì)配置可以參考
logkit Wiki
, 當(dāng)然如果沒有特殊需求,只需要使用默認(rèn)的配置即可。 啟動(dòng) logkit,輸入以下命令./logkit -f logkit.conf
第二步:配置 metric 采集收集器
借助 logkit
的可視化配置界面,可以很方便的配置需要采集的 metric 信息,在瀏覽器中輸入配置的 url
訪問 logkit 管理中心
(默認(rèn)為 http://127.0.0.1:3000
)。
- 1.打開
logkit
配置助手后,點(diǎn)擊增加系統(tǒng)信息采集收集器
按鈕,進(jìn)入編輯收集器頁(yè)面。
- 2.首先選擇要收集的 Metric 信息類型,默認(rèn)收集全部信息,點(diǎn)擊下拉框可以選擇不再收集。
- 3.然后選擇每個(gè)想要收集的
Metric
的字段,通過(guò)“全選/全不選“按鈕可以快速選中/取消選中所有的字段。注意:請(qǐng)至少為每個(gè)Metric
信息選擇一個(gè)字段;
- 4.然后填寫相關(guān)
Metric
的配置信息,注意:有些Metric
沒有可以填寫的配置,所以沒有顯示;
- 5.填寫發(fā)送的目的地,將數(shù)據(jù)發(fā)往
pandora
平臺(tái)時(shí),選擇pandora sender
, 填入自己pandora
賬號(hào)的ak/sk
, 填入reponame
,如果沒有特殊需求,其他的選項(xiàng)可以使用默認(rèn)值, 詳細(xì)的sender
信息,可以參考Senders Wiki
- 6.最后可以瀏覽一下配置文件的內(nèi)容,避免之前有忽略的錯(cuò)誤,同時(shí)可以自定義配置 metric 信息收集的頻率,默認(rèn)是
3s
- 7.點(diǎn)擊“確認(rèn)并提交“后,一條收集 metric 信息的 runner 就創(chuàng)建成功了。
第三步: 配置 Grafana 數(shù)據(jù)源
在七牛應(yīng)用市場(chǎng)打開 Grafana 應(yīng)用,然后按照以下步驟配置:
創(chuàng)建應(yīng)用
- 1.首先登陸七牛 portal 的應(yīng)用平臺(tái) 找到 Grafana
- 2.點(diǎn)擊立即部署按鈕開始創(chuàng)建 Grafana 應(yīng)用
輸入您的 app 名和應(yīng)用別名,選擇部署區(qū)域(注意!目前 TSDB 的數(shù)據(jù)在華東
,所以 Grafana 只可部署在華東區(qū)域),點(diǎn)擊確定創(chuàng)建
應(yīng)用名稱:賬號(hào)內(nèi)唯一應(yīng)用名稱,且只能滿足以下條件:(1. 只能包含字母、數(shù)字和減號(hào),首尾字符只能為字母或數(shù)字。 2. 字符長(zhǎng)度不能超過(guò) 30) 應(yīng)用別名:供顯示使用的標(biāo)題名。
- 3.等待 app 啟動(dòng)后,輸入密碼(密碼長(zhǎng)度必須>=6),點(diǎn)擊 確認(rèn)配置
注意,因?yàn)?Grafana App 具有公網(wǎng)域名,所以建議設(shè)置一個(gè)高強(qiáng)度的密碼(此密碼在進(jìn)入 Grafana App 后可以修改)。
- 4.訪問 Grafana 進(jìn)入 Grafana 頁(yè)面
注意,該 Grafana App 是暴露在公網(wǎng)上的,可收藏地址用于后續(xù)訪問。
配置 TSDB 數(shù)據(jù)源
在 Grafana 中使用 Pandora TSDB 之前,我們需要先添加數(shù)據(jù)源。
1.登錄 Grafana,點(diǎn)擊菜單中的 Data Sources
2.點(diǎn)擊 Add data source 按鈕
3.在Name
填入數(shù)據(jù)源的名字, Type 選擇 Pandora TSDB
4.填入相應(yīng)參數(shù),點(diǎn)擊添加按鈕即可 如果在上面 metric收集器
的 sender
配置中沒有額外配置 pandora_tsdb_reponame
的話,此處的 Name
填寫上面配置的 pandora_repo_name
注意: url 必須填入 http://localhost:8999
第四步: 導(dǎo)入 Grafana dashboard 配置文件
下載 Grafana dashboard 配置文件
下載配置文件模板 https://pandora-dl.qiniu.com/MetricMemo.json
將下載的 dashboard 導(dǎo)入 Grafana
至此,您就可以看到一張酷炫的可視化運(yùn)維監(jiān)控圖啦,當(dāng)然沒有報(bào)警的監(jiān)控是不完整的,下面我們配置一下監(jiān)控的告警。
配置 Grafana 告警
1.就在 Grafana上,我們?yōu)槟峁┝送晟频膱?bào)警功能。設(shè)置 Grafana 報(bào)警的 Channel
2.點(diǎn)擊 New Channel 按鈕,可以在 Type 選擇包括 Slack, Email 郵箱,Webhook 等在內(nèi)的多種報(bào)警方式。
3.以cpu usage
高于 30% 發(fā)郵件報(bào)警為例(僅做測(cè)試使用,實(shí)際生產(chǎn)環(huán)境使用時(shí)請(qǐng)結(jié)合實(shí)際情況配置), 配置方法為: 編輯相應(yīng)的 panel
, 選擇 Alert
, 配置需要監(jiān)控的查詢及其閾值。
4.點(diǎn)擊 State history
可以看到報(bào)警歷史。
5.當(dāng)有報(bào)警信息產(chǎn)生時(shí),可以收到報(bào)警郵件。
更多關(guān)于 Grafana 告警功能的配置可以參考 Grafana 告警文檔
至此,一個(gè)詳細(xì)的服務(wù)器性能監(jiān)控系統(tǒng)搭建完成啦,快去體驗(yàn)吧!
下面是配套資料,對(duì)于做【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴我走過(guò)了最艱難的路程,希望也能幫助到你!
最后: 可以在公眾號(hào):程序員小濠 ! 免費(fèi)領(lǐng)取一份216頁(yè)軟件測(cè)試工程師面試寶典文檔資料。以及相對(duì)應(yīng)的視頻學(xué)習(xí)教程免費(fèi)分享!,其中包括了有基礎(chǔ)知識(shí)、Linux必備、Shell、互聯(lián)網(wǎng)程序原理、Mysql數(shù)據(jù)庫(kù)、抓包工具專題、接口測(cè)試工具、測(cè)試進(jìn)階-Python編程、Web自動(dòng)化測(cè)試、APP自動(dòng)化測(cè)試、接口自動(dòng)化測(cè)試、測(cè)試高級(jí)持續(xù)集成、測(cè)試架構(gòu)開發(fā)測(cè)試框架、性能測(cè)試、安全測(cè)試等。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-815684.html
如果我的博客對(duì)你有幫助、如果你喜歡我的博客內(nèi)容,請(qǐng) “點(diǎn)贊” “評(píng)論” “收藏” 一鍵三連哦!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-815684.html
到了這里,關(guān)于15分鐘搭建無(wú)門檻服務(wù)器性能監(jiān)控系統(tǒng),讓你的服務(wù)器運(yùn)行如飛!的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!