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