中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

基于ELK的大數(shù)據(jù)平臺(tái)實(shí)踐分享

2018-07-28    來源:raincent

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬Linux鏡像隨意使用
本文為《基于ELK的大數(shù)據(jù)平臺(tái)》的分享。在本次分享中,介紹了數(shù)據(jù)分類,包括數(shù)據(jù)采集及數(shù)據(jù)類型等;然后重點(diǎn)闡述了運(yùn)維之路,最后進(jìn)行了告警分析。

數(shù)據(jù)分類

數(shù)據(jù)采集

數(shù)據(jù)采集主要分為網(wǎng)絡(luò)類和日志類。網(wǎng)絡(luò)類主要為旁路部署,用小盒子部署在機(jī)房?jī)?nèi)不同的點(diǎn),包括出口入口。日志類主要包括Nagios (filebeat)和Zabbix (mysqlexporter)。

數(shù)據(jù)類型

 

 

上圖為主要數(shù)據(jù)類型,網(wǎng)絡(luò)協(xié)議里也有數(shù)據(jù)庫,是一些協(xié)議解析,還有一些交易的解析?梢詮木W(wǎng)絡(luò)層面和日志層面分開來比對(duì)。

數(shù)據(jù)量

每天數(shù)據(jù)量至少2TB,記錄數(shù)22億,不含副本;高峰數(shù)據(jù)量每秒6萬條記錄;單個(gè)索引最快處理12萬條記錄每秒。

使用場(chǎng)景

主要有三個(gè)使用場(chǎng)景:查詢聚合;大屏分析,預(yù)測(cè)告警;網(wǎng)絡(luò)指標(biāo),業(yè)務(wù)指標(biāo)安全指標(biāo)。

網(wǎng)絡(luò)業(yè)務(wù)安全是基于一些不同的團(tuán)隊(duì),定制個(gè)性化的指標(biāo),進(jìn)行一些對(duì)比分析。

運(yùn)維之路

集群演變

在使用ELK的整個(gè)過程中,我們使用過Vmware、Docker,跟美國(guó)的第三方公司的一些合作。我們自己用的最多的是單節(jié)點(diǎn)單實(shí)例和單節(jié)點(diǎn)雙實(shí)例;臼怯糜诠δ軠y(cè)試小公司一些測(cè)試部署。

冷熱分離

我們做的冷熱分離,開始采用的是flashcache模式,每臺(tái)物理機(jī)上面都配備了一個(gè)SSD的小盤,主要是為了抵消傳統(tǒng)的機(jī)械式硬盤尋到的一個(gè)LPS。LPS比較慢,延遲比較高,所以分布式集群每一塊都配備一個(gè)小盤。在這種模式下,磁盤IO連續(xù)小塊讀,負(fù)載高,IOwait高,分析發(fā)現(xiàn)存在抖動(dòng)。采用單機(jī)雙實(shí)例冷熱分離模式,充分利用1.6TB的SSD,只保存每天的熱數(shù)據(jù),隔夜遷移到HDD Raid0。

升級(jí)的主要目的有兩個(gè):內(nèi)存隔離,當(dāng)天和歷史JAVA對(duì)象分離在不同的JVM里;IO隔離,當(dāng)天和歷史數(shù)據(jù)的磁盤IO分離在不同的磁盤上。

 

 

上圖為運(yùn)維前后對(duì)比效果圖。左邊是運(yùn)維之前,右邊是運(yùn)維之后。升級(jí)后,有效減少了cpu wait和磁盤讀,降低了系統(tǒng)負(fù)載,有效提升了查詢和寫入性能。

 

 

上圖為在單個(gè)索引上做的測(cè)試。之前做了許多積壓,可以發(fā)現(xiàn)索引的速度是上升的。單個(gè)索引最高速度從之前的60000條每秒提升到120000條記錄每秒,平均10萬條每秒。聚合查詢性能提升1倍。

重要選型

重要選型首先從cpu介紹,我們推薦使用Xeon E5-2600 V4系列。官方測(cè)試顯示,它比V3系列提升JAVA性能60%,我們進(jìn)行了一些設(shè)置,包括指令預(yù)取,cache line預(yù)取,Numa Set。結(jié)合雙路cpu,它的內(nèi)存和節(jié)點(diǎn)有一個(gè)就近讀取的原則。我們根據(jù)單個(gè)機(jī)器的實(shí)例進(jìn)行cpu的綁定。設(shè)置以后可以提高cpu的命中率,減少內(nèi)存的切換。

在內(nèi)存方面,每臺(tái)物理機(jī)配備的是128TB,SSD是1.6TB,HDD是40TB~48TB。具有大內(nèi)存的特點(diǎn),我們還進(jìn)行了Cache加速,寫負(fù)載高的時(shí)候上SSD,定期做Trim優(yōu)化,利用SSD,SAS和SATA盤分級(jí)存儲(chǔ)。

OS file system用的最多的是xfs。針對(duì)HDD、SSD 4k對(duì)齊優(yōu)化,確保每個(gè)分區(qū)的start Address能被8整除,解決跨扇區(qū)訪問,減少讀寫次數(shù)和延遲。

Shard和Replica個(gè)數(shù)是基于測(cè)試的經(jīng)驗(yàn),可以作為參考,還基于負(fù)載、性能等。節(jié)點(diǎn)數(shù)設(shè)置為1.5。Shard size 控制在30GB以內(nèi),Shard docs 控制在5百萬記錄以內(nèi),Replica至少為1。

可靠性

 

 

由上圖可以看到每個(gè)角色都有A、B、C三個(gè)點(diǎn),然后做了冷熱分離,Client多個(gè)點(diǎn)做了負(fù)載均衡。

性能分析

高負(fù)載

高負(fù)載主要采用IO負(fù)載型,主要關(guān)注Sar,Vmstat,IOstat,Dstat和Systemtap,Perf。

線程池

線程池這里主要關(guān)注Index,Query,Merge,Bulk,包括Thread,Queue Size和Active,Queue。

內(nèi)存占用

內(nèi)存占用主要看各個(gè)節(jié)點(diǎn)的內(nèi)存占用大小,F(xiàn)ielddata設(shè)置為10%,也有的設(shè)置為1%,大部分場(chǎng)景都是精確查詢。

查詢

用慢查詢作為告警,然后進(jìn)行請(qǐng)求、響應(yīng)、延時(shí)、峰值統(tǒng)計(jì)。隨著資源使用率的提升,我們會(huì)發(fā)現(xiàn)在80%的點(diǎn)位,延時(shí)會(huì)特別大,于是會(huì)有多個(gè)監(jiān)工。單個(gè)監(jiān)工是沒問題的,但是多個(gè)監(jiān)工可能是有問題的。Query profile用來定位各個(gè)階段的時(shí)間。Cache filling用來觀看命中率如何,可以做一些cache的設(shè)置。然后會(huì)進(jìn)行日志埋點(diǎn)采集,query replay,做一些測(cè)試。

集群健康

集群健康這里主要是對(duì)以下幾項(xiàng)進(jìn)行指標(biāo)監(jiān)控。 _cluster/health:active, reallocating, initializing,unassigned;Ping timeout;Shard allocation,recover latency。

GC效率

GC效率主要關(guān)注以下幾點(diǎn):GC時(shí)長(zhǎng)占比,GC回收量占比;內(nèi)存增長(zhǎng)速率,內(nèi)存回收速率;各代回收耗時(shí),頻率;Dump profile;Jstack,Jmap,Jstat。

存儲(chǔ)規(guī)劃

 

 

上圖為基于不同業(yè)務(wù)做的存儲(chǔ)規(guī)劃。

性能提升

合理設(shè)計(jì)

首先我們會(huì)考慮每個(gè)域的意義,沒有意義的域是不允許插進(jìn)來的。然后要考慮需要存儲(chǔ)搜索還是聚合,思考每一個(gè)域的價(jià)值所在。它是字符串型的還是數(shù)值型的?然后我們會(huì)對(duì)模板進(jìn)行動(dòng)態(tài)的設(shè)置。當(dāng)字符串過長(zhǎng)的時(shí)候,我們是否要做一個(gè)截取?是否要做一個(gè)Hash?

批處理

適當(dāng)調(diào)大處理時(shí)間,Translog適當(dāng)把頻率降低。

 

 

上圖做了一個(gè)按需隔離,分表分級(jí)分組。

規(guī)劃計(jì)算

提前聚合后插入;因?yàn)榭臻g不夠,所以超過生命周期后只保留基線,然后做壓縮,做合并;隨后可以做Pipeline拆分。

集群監(jiān)控

監(jiān)控這里用了一些工具。Netdata用來做一些系統(tǒng)資源的升級(jí), _cat api是官方自帶的,Cerebro是用的比較多的一個(gè)插件,Prometheus可以開箱即用。

告警分析

用Sql語法做一些包裝、抽象,告警模型基于從工作日開始的迭代、同比環(huán)比、平均值及標(biāo)準(zhǔn)差,基線學(xué)習(xí)。

我們發(fā)現(xiàn)問題,解決問題,需要不停的去思考。不斷迭代,嚴(yán)苛細(xì)節(jié),最終性能是否滿足?是否可接受?這些都是需要思考的問題。

標(biāo)簽: Mysql ssd 安全 大數(shù)據(jù) 大數(shù)據(jù)平臺(tái) 機(jī)房 數(shù)據(jù)庫 搜索 網(wǎng)絡(luò)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:全球18家頂級(jí)企業(yè)數(shù)據(jù)存儲(chǔ)供應(yīng)商

下一篇:大家都在學(xué)的編程語言 Python,可以用來干什么?