簡(jiǎn)述:有很多文章都提到過(guò)白盒監(jiān)控和黑盒監(jiān)控,以及監(jiān)控的四個(gè)黃金指標(biāo)。關(guān)于白盒與黑盒監(jiān)控的定義,這里不再贅述。一般來(lái)說(shuō),白盒與黑盒分別從內(nèi)部和外部來(lái)監(jiān)控系統(tǒng)的運(yùn)行狀況,例如機(jī)器存活、CPU內(nèi)存使用率、業(yè)務(wù)日志、JMX等監(jiān)控都屬于白盒監(jiān)控,而外部端口
有許多文章內(nèi)容都提及過(guò)黑盒監(jiān)管和白盒監(jiān)管,還有監(jiān)管的四個(gè)金子指標(biāo)值。有關(guān)黑盒與白盒監(jiān)管的界定,這兒不會(huì)再過(guò)多闡釋。一般來(lái)說(shuō),黑盒與白盒各自從里面和外界來(lái)視頻監(jiān)控系統(tǒng)的運(yùn)行情況,比如設(shè)備生存、CPU內(nèi)存使用率、業(yè)務(wù)流程日志、JMX等監(jiān)管都?xì)w屬于黑盒監(jiān)管,而外界端口號(hào)探活、HTTP檢測(cè)及其端到端作用監(jiān)管等則歸屬于白盒監(jiān)管的領(lǐng)域。
本篇文章將關(guān)鍵從黑盒監(jiān)管的收集下手,解釋關(guān)于新系統(tǒng)軟件如何添加監(jiān)管的情況。
白盒與黑盒監(jiān)管
監(jiān)控指標(biāo)的收集
配備監(jiān)管時(shí),大家主要面臨是指監(jiān)控?cái)?shù)據(jù)假如收集的情況。一般我們能把監(jiān)控指標(biāo)分成兩大類:基本監(jiān)管和業(yè)務(wù)流程監(jiān)管。
基本監(jiān)管
包含CPU、運(yùn)行內(nèi)存、硬盤、端口號(hào)和過(guò)程等網(wǎng)絡(luò)服務(wù)器設(shè)備、互聯(lián)網(wǎng)的電腦操作系統(tǒng)等級(jí)的數(shù)據(jù)。一般來(lái)說(shuō),完善的視頻監(jiān)控系統(tǒng)(比如開源系統(tǒng)的Prometheus、Zabbix等)均會(huì)給予基本監(jiān)管項(xiàng)的收集實(shí)力,在這里不做太多詳細(xì)介紹。但應(yīng)注意的一點(diǎn),設(shè)備等級(jí)的基本監(jiān)控指標(biāo)一般根本無(wú)法意味著業(yè)務(wù)的實(shí)際運(yùn)行情況,比如每臺(tái)案例的常見故障對(duì)一個(gè)設(shè)計(jì)方案合理性的分布式架構(gòu)而言并不會(huì)產(chǎn)生嚴(yán)重危害。因此只能融合業(yè)務(wù)流程有關(guān)監(jiān)控指標(biāo),基本監(jiān)控指標(biāo)才更有意義。
業(yè)務(wù)流程監(jiān)管
業(yè)務(wù)流程監(jiān)控指標(biāo)由業(yè)務(wù)管理系統(tǒng)內(nèi)部結(jié)構(gòu)的業(yè)務(wù)造成,一般可以真正反映業(yè)務(wù)流程運(yùn)行狀態(tài)。設(shè)計(jì)方案合理性的系統(tǒng)軟件一般都會(huì)給予有關(guān)監(jiān)控指標(biāo)供視頻監(jiān)控系統(tǒng)收集。監(jiān)控?cái)?shù)據(jù)的收集方式一般能夠分成下述幾大類。
日志:日志能夠包括服務(wù)項(xiàng)目運(yùn)作的各個(gè)方面,是主要的監(jiān)控?cái)?shù)據(jù)由來(lái)。比如,根據(jù)Nginxaccess日志能夠匯總出不正確(5xx)、延遲時(shí)間(響應(yīng)速度)和總流量,融合已經(jīng)知道的容積限制就能夠估算出對(duì)比度。一般除視頻監(jiān)控系統(tǒng)給予的日志采集插件外,如Rsyslog、Logstash、Filebeat、Flume等全是較為杰出的日志采集工具。
JMX:大部分Java開發(fā)設(shè)計(jì)的服務(wù)項(xiàng)目均可由JMX插口導(dǎo)出監(jiān)控指標(biāo)。許多視頻監(jiān)控系統(tǒng)也是有集成化JMX采集插件,此外大家也可以根據(jù)jmxtrans、jmxcmd專用工具開展收集。
REST:給予RESTAPI來(lái)開展監(jiān)控?cái)?shù)據(jù)的收集,如Hadoop、ElasticSearch。
OpenMetrics:歸功于Prometheus的時(shí)興,做為Prometheus的監(jiān)控?cái)?shù)據(jù)收集計(jì)劃方案,OpenMetrics很有可能迅速會(huì)變成將來(lái)監(jiān)管的行業(yè)規(guī)范。現(xiàn)階段絕大多數(shù)受歡迎開源系統(tǒng)服務(wù)項(xiàng)目均有官方網(wǎng)或第三方的exporter可供使用。
cmd:一些業(yè)務(wù)給予當(dāng)?shù)氐闹噶顏?lái)導(dǎo)出監(jiān)控指標(biāo)。
積極匯報(bào):針對(duì)選用PUSH實(shí)體模型的視頻監(jiān)控系統(tǒng)而言,服務(wù)項(xiàng)目能夠采用積極匯報(bào)的方法把監(jiān)控指標(biāo)push到視頻監(jiān)控系統(tǒng),如Java服務(wù)可使用Metrics接口自定sink導(dǎo)出。此外,運(yùn)維管理也可以用自定的監(jiān)管外掛來(lái)進(jìn)行監(jiān)管的收集。
前后端分離:前后端分離是侵入式的監(jiān)控?cái)?shù)據(jù)收集方法,其特點(diǎn)是其能夠更靈便地為大家給予業(yè)務(wù)流程內(nèi)部結(jié)構(gòu)的監(jiān)控指標(biāo),自然缺陷也很明顯:必須在源代碼方面做手腳(經(jīng)常必須產(chǎn)品研發(fā)適用,成本費(fèi)比較高)。
其他方法:之上未覆蓋的監(jiān)控指標(biāo)收集方法,比如Zookeeper的四字指令,MySQL的showstatus指令。
之上列舉了幾個(gè)比較常見的監(jiān)控指標(biāo)收集方式,在實(shí)際工作,要是沒有現(xiàn)有的監(jiān)管采集插件,則必須大家自主開發(fā)設(shè)計(jì)收集腳本制作。
監(jiān)管的四個(gè)金子指標(biāo)值
不管業(yè)務(wù)管理系統(tǒng)怎樣繁雜,監(jiān)控指標(biāo)怎樣目不暇接,但以不變應(yīng)萬(wàn)變,監(jiān)管的目地?zé)o非是為掌握服務(wù)項(xiàng)目運(yùn)行情況、發(fā)覺服務(wù)項(xiàng)目常見故障和協(xié)助精準(zhǔn)定位故障原因。因?yàn)檫_(dá)到這一效果,GoogleSRE總結(jié)的監(jiān)管四個(gè)金子指標(biāo)值對(duì)大家加上監(jiān)管具備非常重要的指導(dǎo)作用。下面的圖得出四個(gè)金子指標(biāo)值所包括的關(guān)鍵監(jiān)控指標(biāo),下邊人們就這四個(gè)金子指標(biāo)值各自進(jìn)行表明,并提供一些監(jiān)管項(xiàng)的收集案例。
四個(gè)金子指標(biāo)值
不正確:不正確就是指現(xiàn)階段系統(tǒng)軟件產(chǎn)生的不正確要求和差錯(cuò)率
不正確是必須在加上監(jiān)管時(shí)主要關(guān)心的指數(shù)。
在加上不正確有關(guān)監(jiān)管時(shí),我們應(yīng)該關(guān)心下列這幾個(gè)層面:
基本監(jiān)管:服務(wù)器宕機(jī)、硬盤(壞盤或文件系統(tǒng)錯(cuò)誤)、過(guò)程或端口號(hào)掛了、網(wǎng)絡(luò)延時(shí)等常見故障。
業(yè)務(wù)流程監(jiān)管:
核心功能處理錯(cuò)誤,每一種系統(tǒng)軟件都是有特殊的核心功能,例如HDFS的文檔塊讀寫能力、Zookeeper對(duì)Key的讀寫能力和改動(dòng)實(shí)際操作。
基礎(chǔ)功能模塊遺失或出現(xiàn)異常,這兒的基礎(chǔ)功能模塊就是指一個(gè)系統(tǒng)功能里的基本要素,比如HDFS的Block、Kafka的Message,這類數(shù)據(jù)資料的遺失一般都會(huì)讓業(yè)務(wù)功能導(dǎo)致立即的危害。
Master常見故障,針對(duì)去中心化的分布式架構(gòu)而言,Master的身體狀況全是頭等大事。比如HDFS的NameNode、Zookeeper的Leader,ElasticSearch的MasterNode。
可以用節(jié)點(diǎn)數(shù),針對(duì)分布式架構(gòu)而言,可以用節(jié)點(diǎn)數(shù)都是非常重要的,例如Zookeeper、ETCD等系統(tǒng)軟件必須達(dá)到可以用節(jié)點(diǎn)數(shù)超過(guò)不能用節(jié)點(diǎn)數(shù)才可以確保功能性的正常的。
留意:除黑盒監(jiān)管外,基本功能或插口、及其內(nèi)部結(jié)構(gòu)具有顯著界限的模塊和上下游依靠控制模塊,都應(yīng)該加上白盒端到端監(jiān)管。
延遲時(shí)間:服務(wù)項(xiàng)目要求需要時(shí)長(zhǎng)
服務(wù)項(xiàng)目延遲時(shí)間的升高不僅表現(xiàn)在客戶體驗(yàn)的降低,也是有可能會(huì)致使要求沉積并最后發(fā)展為全部業(yè)務(wù)管理系統(tǒng)的山崩。
下列為延遲時(shí)間指標(biāo)值的關(guān)鍵側(cè)重點(diǎn):
基本監(jiān)管:IO等候、網(wǎng)絡(luò)延時(shí);
業(yè)務(wù)流程監(jiān)管:業(yè)務(wù)流程有關(guān)指標(biāo)值關(guān)鍵必須關(guān)心核心功能的反應(yīng)時(shí)間。例如Zookeeper的延遲時(shí)間指標(biāo)值z(mì)k_avg_latency,ElasticSearch的數(shù)據(jù)庫(kù)索引、檢索延遲時(shí)間和慢查看。
留意:與不正確指標(biāo)值相近,黑盒延遲時(shí)間指標(biāo)值一般僅能意味著系統(tǒng)軟件內(nèi)部結(jié)構(gòu)延遲時(shí)間,提議為基本功能或插口加上白盒監(jiān)管來(lái)收集端到端的延遲時(shí)間指標(biāo)值。
總流量:現(xiàn)階段系統(tǒng)軟件的總流量
總流量指標(biāo)值能夠指系統(tǒng)軟件方面的網(wǎng)上和硬盤IO,服務(wù)項(xiàng)目方面的QpS、PV和UV等數(shù)據(jù)信息。總流量和猛增或突減都可能意味著系統(tǒng)軟件很有可能出現(xiàn)問(wèn)題(進(jìn)攻事情、系統(tǒng)異常…)。一下為總流量關(guān)鍵關(guān)心的層面:
基本監(jiān)管:硬盤和網(wǎng)口IO;
業(yè)務(wù)流程監(jiān)管:核心功能總流量,比如根據(jù)QpS/PV/UV等一般可以意味著Web服務(wù)的總流量,而ElasticSearch的總流量可以用數(shù)據(jù)庫(kù)索引建立速度、檢索速度表明。
對(duì)比度:用以考量現(xiàn)階段服務(wù)項(xiàng)目的使用率
更加簡(jiǎn)單的講,對(duì)比度能理解為業(yè)務(wù)的使用率,能夠意味著系統(tǒng)軟件承擔(dān)的工作壓力。因此對(duì)比度與數(shù)據(jù)流量密切相關(guān),總流量的升高一般還會(huì)造成對(duì)比度的升高。一般來(lái)說(shuō),每一種業(yè)務(wù)管理系統(tǒng)都應(yīng)該有分別的對(duì)比度指標(biāo)值。
在許多業(yè)務(wù)管理系統(tǒng)中,線程池長(zhǎng)短是一個(gè)較為主要的對(duì)比度指標(biāo)值,此外CPU、運(yùn)行內(nèi)存、硬盤、互聯(lián)網(wǎng)等系統(tǒng)軟件資源利用率還可以做為對(duì)比度的一種表現(xiàn)形式。
基本監(jiān)管:CPU、運(yùn)行內(nèi)存、硬盤和互聯(lián)網(wǎng)使用率、運(yùn)行內(nèi)存局部變量使用率、文件句柄數(shù)、TCP線程數(shù)等;
業(yè)務(wù)流程監(jiān)管:
基礎(chǔ)功能模塊利用率,大部分對(duì)系統(tǒng)其基本的基本功能模塊都是有其處理能力的限制,將近或做到該限制時(shí)可能會(huì)致使服務(wù)項(xiàng)目的不正確、延遲時(shí)間擴(kuò)大。比如HDFS的Block總數(shù)升高會(huì)造成NameNode堆內(nèi)存使用率升高,Kafka的Topics和Partitions的總數(shù)、Zookeeper的node數(shù)的升高都是會(huì)系統(tǒng)對(duì)造成工作壓力。
線程池長(zhǎng)短,許多系統(tǒng)軟件選用線程池儲(chǔ)放等待處理數(shù)據(jù)信息,因此線程池長(zhǎng)短在一定程度上能夠意味著體系的忙碌水平。如ElasticSearch、HDFS等都是有序列長(zhǎng)短有關(guān)指標(biāo)值能夠收集。
匯總
之上匯總了普遍的監(jiān)控指標(biāo)收集方式,及其四個(gè)金子指標(biāo)值所包括的普遍具體內(nèi)容。在現(xiàn)實(shí)工作上,不一樣的視頻監(jiān)控系統(tǒng)的設(shè)計(jì)方案各種各樣,并沒有統(tǒng)一標(biāo)準(zhǔn),而且不一樣的業(yè)務(wù)管理系統(tǒng)一般也有特殊的監(jiān)測(cè)收集方式和不一樣的金子指標(biāo)定義,實(shí)際怎樣收集監(jiān)控指標(biāo)和加上報(bào)警都要大家對(duì)于不一樣系統(tǒng)特點(diǎn)靈便解決。
騰佑科技(mubashirfilms.com)成立于2009年,總部位于河南鄭州,是一家集互聯(lián)網(wǎng)基礎(chǔ)設(shè)施及軟硬件于一體化的高新技術(shù)企業(yè),具有IDC/ISP/ICP/云牌照、雙軟等資質(zhì),并擁有多個(gè)國(guó)家版權(quán)局認(rèn)證。公司自成立以來(lái),一直致力于發(fā)展互聯(lián)網(wǎng)IDC數(shù)據(jù)中心DataCenter、云計(jì)算Cloud、大數(shù)據(jù)BigDate、人工智能AI、內(nèi)容加速CDN、互聯(lián)網(wǎng)安全、軟件定制開發(fā)等產(chǎn)品服務(wù)及行業(yè)客戶技術(shù)一體化智能解決方案;2018年成為百度智能云AI河南服務(wù)中心。
售前咨詢熱線:400-996-8756
備案提交:0371-89913068
售后客服:0371-89913000
搜索詞
熱門產(chǎn)品推薦