国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向私有云平臺(tái)的日志收集與分析系統(tǒng)設(shè)計(jì)

2020-02-04 02:04:02張文燕溫俊陽(yáng)
電子技術(shù)與軟件工程 2020年20期
關(guān)鍵詞:數(shù)據(jù)量使用率日志

張文燕 溫俊陽(yáng)

(1.南京中興新軟件有限責(zé)任公司 江蘇省南京市 210012 2.杭州??低晹?shù)字技術(shù)股份有限公司 浙江省杭州市 310052)

1 引言

隨著云計(jì)算技術(shù)的快速發(fā)展和廣泛應(yīng)用,越來越多的企業(yè)將IT基礎(chǔ)設(shè)施遷移到私有云上,以更低的成本獲得更高效、彈性、可靠,且優(yōu)于公有云安全性的IT 服務(wù)。因此,私有云的應(yīng)用和規(guī)模也隨之?dāng)U大,對(duì)日常運(yùn)維提出了更高的挑戰(zhàn)。

構(gòu)成私有云平臺(tái)的各分布式服務(wù)進(jìn)程在運(yùn)行時(shí)會(huì)記錄大量運(yùn)行狀態(tài)、訪問及安全日志,為運(yùn)維和開發(fā)人員了解系統(tǒng)運(yùn)行狀況、排查故障提供了大量信息。然而,隨著云平臺(tái)規(guī)模的擴(kuò)大,其分布式系統(tǒng)節(jié)點(diǎn)不斷增加,運(yùn)行于各節(jié)點(diǎn)上的服務(wù)進(jìn)程也不斷增加,從而導(dǎo)致日志的分散化和海量化,使得日志查找和檢索異常困難。集中化、自動(dòng)化的日志收集和分析平臺(tái)成為解決這一問題的有效方案。

開源的分布式日志收集和分析平ELK[1](Elasticsearch、Logstash和Kibana)是目前業(yè)界采用的主流解決方案。本文將ELK日志系統(tǒng)應(yīng)用于開源云平臺(tái)0penStack[2],構(gòu)成私有云平臺(tái)的日志收集和分析系統(tǒng),通過統(tǒng)計(jì)系統(tǒng)日志量,針對(duì)系統(tǒng)運(yùn)行中日志量較大、且只增不減的問題,提出了日志數(shù)據(jù)磁盤占用量?jī)?yōu)化方案。

2 ELK日志收集和分析系統(tǒng)架構(gòu)

ELK Stack 是由三個(gè)開源組件Elasticsearch、Logstash 和Kibana構(gòu)成的一套分布式日志收集和分析解決方案,可完成分布式日志的實(shí)時(shí)收集、解析、傳輸、存儲(chǔ)、檢索、分析、告警及可視化等功能。最簡(jiǎn)單的架構(gòu)如圖1所示。

Logstash 是Jruby 開發(fā)的數(shù)據(jù)收集、過濾、擴(kuò)展、傳輸?shù)耐ǖ?,可通過其豐富的插件配置應(yīng)用于分布式數(shù)據(jù)處理領(lǐng)域。常用的插件如input 和output 類的file、http、redis、kafka、rabbitmq、elasticsearch、tcp、udp、syslog 等,分別完成數(shù)據(jù)源端的收集和終端的發(fā)送;filter 類如grok、ruby 等完成數(shù)據(jù)的過濾和擴(kuò)展。具有多種數(shù)據(jù)類型訪問和彈性擴(kuò)展的特點(diǎn)。

Elasticsearch 是基于全文搜索引擎Apache Lucene 構(gòu)建的實(shí)時(shí)分布式搜索引擎,提供對(duì)數(shù)據(jù)的存儲(chǔ)和分析功能,支持Restful API和集群部署,具有高可靠性、易擴(kuò)展、節(jié)點(diǎn)自動(dòng)發(fā)現(xiàn)、索引分片和副本機(jī)制。

Kibana 是專門為Elasticsearch 設(shè)計(jì)的數(shù)據(jù)可視化Web 平臺(tái),它可以在Elasticsearch 的索引中查找、交互數(shù)據(jù),并生成各種維度的圖表。

3 私有云平臺(tái)的日志收集和分析系統(tǒng)部署實(shí)踐

OpenStack 是一個(gè)開源的云計(jì)算管理平臺(tái),由Nova、Cinder、Neutron、Glance、Ceilometer、Keystone 等組件共同為私有云和公有云提供彈性的計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等服務(wù)?;贠penStack 構(gòu)架了私有云平臺(tái),考慮私有云平臺(tái)需支持大規(guī)模部署(可達(dá)500 節(jié)點(diǎn))的分布式系統(tǒng),且日志類型不限于OpenStack 組件的日志,還包括訪問日志、安全日志以及系統(tǒng)日志等,如messages、httpd日志等,日志量很大。最簡(jiǎn)架構(gòu)ELK Stack 無法滿足系統(tǒng)日志分析的需求,部署于該平臺(tái)的ELK 分布式日志收集和分析系統(tǒng)架構(gòu)如圖2所示。

圖1:ELK Stack 最簡(jiǎn)架構(gòu)圖

圖2:私有云平臺(tái)ELK Stack 架構(gòu)

圖3:各進(jìn)程日均CPU_util

圖4:各進(jìn)程日均內(nèi)存使用量

圖5:刪除和備份日志流程圖

實(shí)踐部署系統(tǒng)中Logstash 配置為shipper 和indexer 角色:shipper 駐守在各被管理節(jié)點(diǎn)上,完成各節(jié)點(diǎn)日志的收集、過濾和解析,以減少傳輸通道中的日志量,將日志解析的計(jì)算量進(jìn)行負(fù)載均衡;indexer 部署于三個(gè)節(jié)點(diǎn)上,以負(fù)載均衡方式完成數(shù)據(jù)透?jìng)?。開源流處理平臺(tái)Kafka[3]通過Zookeeper[4]構(gòu)成集群作為信息流傳遞的緩存,實(shí)現(xiàn)負(fù)載均衡以提高可靠性和吞吐量。Elasticsearch 通過自身的集群功能由三節(jié)點(diǎn)構(gòu)成集群,共同完成數(shù)據(jù)存儲(chǔ),并對(duì)外提供索引和搜索的功能,提高數(shù)據(jù)存儲(chǔ)的可靠性和數(shù)據(jù)處理效率。Kibana 部署于一個(gè)節(jié)點(diǎn)上,完成數(shù)據(jù)的可視化呈現(xiàn)和用戶交互。實(shí)驗(yàn)系統(tǒng)配置如表1所示。

表1:私有云平臺(tái)日志收集和分析系統(tǒng)實(shí)驗(yàn)配置

表2:elasticsearch日志數(shù)據(jù)日增長(zhǎng)量

圖6:優(yōu)化后elasticsearch 的日志數(shù)據(jù)占盤空間統(tǒng)計(jì)

4 私有云平臺(tái)的日志收集和分析系統(tǒng)優(yōu)化

為了將該私有云平臺(tái)的日志收集和分析系統(tǒng)應(yīng)用于大規(guī)模環(huán)境(500 以上計(jì)算節(jié)點(diǎn)),對(duì)系統(tǒng)日常運(yùn)行的資源占用情況進(jìn)行統(tǒng)計(jì)。

4.1 CPU使用率和內(nèi)存使用量的統(tǒng)計(jì)

CPU 使用率和內(nèi)存使用率的監(jiān)控,需要在Linux 系統(tǒng)安裝sysstat 包,使用其中的pidstat 命令分別對(duì)進(jìn)程logstash-shipper、logstash-indexer、elasticsearch 以10 秒間隔周期監(jiān)控持續(xù)7 天的CPU 使用率(CPU_util)和內(nèi)存使用率(mem_util),再計(jì)算日平均使用率。因Kibana 使用率取決于用戶負(fù)載,未計(jì)入統(tǒng)計(jì)。各進(jìn)程對(duì)CPU 和內(nèi)存的日平均使用統(tǒng)計(jì)如圖3-4所示。

私有云平臺(tái)日志收集和分析系統(tǒng)的負(fù)載是日志量,服務(wù)的復(fù)雜和增加,平臺(tái)節(jié)點(diǎn)規(guī)模的增加,都會(huì)導(dǎo)致日志量增加。分析以上數(shù)據(jù)與日志量的關(guān)系,統(tǒng)計(jì)各節(jié)點(diǎn)落盤日志量大小關(guān)系為controller >computer2 >computer1??梢妉ogstash-shipper 和logstash-indexer 的內(nèi)存使用量與日志量關(guān)系不大,都保持在固定值;CPU 使用量與日志量正相關(guān),尤其controller 節(jié)點(diǎn)的logstash-shipper CPU 使用率占比相對(duì)太高,需要考慮優(yōu)化。Elasticsearch 的CPU 使用率隨時(shí)間推移,有逐漸增高趨勢(shì),內(nèi)存使用量基本保持在恒定值。

4.2 Elasticsearch日志數(shù)據(jù)磁盤占用量統(tǒng)計(jì)和優(yōu)化

私有云平臺(tái)的日志通過logstash-indexer 傳輸?shù)絜lasticsearch 后,elasticsearch 會(huì)對(duì)原始數(shù)據(jù)建立索引,并在其data 目錄下保存索引文件和原始數(shù)據(jù)。原始數(shù)據(jù)可配置為不保存,若有重建索引的需要,則需要保留原始數(shù)據(jù)。在保留原始數(shù)據(jù)的前提下,統(tǒng)計(jì)data 目錄日增長(zhǎng)量,以評(píng)估大規(guī)模環(huán)境對(duì)磁盤空間的需求,統(tǒng)計(jì)7日增長(zhǎng)量如表2所示。

規(guī)模為15 個(gè)計(jì)算節(jié)點(diǎn)的系統(tǒng),日均新增數(shù)據(jù)量3.74G,預(yù)估500 節(jié)點(diǎn)系統(tǒng)日均新增數(shù)據(jù)量124.76G;且日志量只增不減。數(shù)據(jù)量刪減是必不可少的。因而設(shè)計(jì)了通過elasticsearch API 按日志保存時(shí)間,階梯式備份和刪除日志數(shù)據(jù)量的算法,如圖5所示。其中提供配置項(xiàng):

log_days_to_live:表示日志保留天數(shù),<0 表示不刪除日志;

backup_days_to_live:表示備份日志保留天數(shù),<0 表示不進(jìn)行日志備份。

該算法通過Linux 系統(tǒng)的定時(shí)工具crontab 設(shè)置為每日定時(shí)執(zhí)行一次,設(shè)置log_days_to_live=2,backup_days_to_live=-1,對(duì)elasticsearch 的data 路徑統(tǒng)計(jì)占盤空間如圖6所示。

執(zhí)行效果可以保證占盤空間最多不超過9G,有效保障了系統(tǒng)磁盤空間使用的穩(wěn)定性,提高系統(tǒng)可靠性。

5 結(jié)語(yǔ)

集中式自動(dòng)化的日志管理是對(duì)大規(guī)模分布式系統(tǒng)運(yùn)維的有效方案。本文對(duì)OpenStack 的私有云平臺(tái)設(shè)計(jì)了集群式、負(fù)載均衡的ELK日志收集和分析系統(tǒng),提高系統(tǒng)可靠性和吞吐量;并統(tǒng)計(jì)系統(tǒng)占用資源情況,分析其與系統(tǒng)負(fù)載的關(guān)系;指出Logstash-shipper的CPU 使用率較高,且與日志量正相關(guān),elasticsearch 的CPU 使用率也有隨時(shí)間推移增高的趨勢(shì),需要進(jìn)一步優(yōu)化;各進(jìn)程內(nèi)存使用量與日志量相關(guān)性不大;針對(duì)elasticsearch 存儲(chǔ)日志數(shù)據(jù)量只增不減的問題,設(shè)計(jì)了階梯式日志數(shù)據(jù)刪除和備份算法,實(shí)驗(yàn)表明該方法可按需控制日志數(shù)據(jù)占盤量保持在可接受范圍內(nèi),提高系統(tǒng)可靠性。

猜你喜歡
數(shù)據(jù)量使用率日志
一名老黨員的工作日志
基于大數(shù)據(jù)量的初至層析成像算法優(yōu)化
計(jì)算Lyapunov指數(shù)的模糊C均值聚類小數(shù)據(jù)量法
高刷新率不容易顯示器需求與接口標(biāo)準(zhǔn)帶寬
扶貧日志
心聲歌刊(2020年4期)2020-09-07 06:37:14
寬帶信號(hào)采集與大數(shù)據(jù)量傳輸系統(tǒng)設(shè)計(jì)與研究
電子制作(2019年13期)2020-01-14 03:15:18
游學(xué)日志
胃腸外科圍手術(shù)期合理使用抗菌藥物的探討
一種基于粗集和SVM的Web日志挖掘模型
初中生學(xué)習(xí)·低(2012年4期)2012-04-29 04:29:50
衢州市| 罗城| 中江县| 保康县| 肇庆市| 德兴市| 塔河县| 色达县| 舒兰市| 三河市| 彝良县| 高碑店市| 安溪县| 长岛县| 莱芜市| 安阳县| 安阳市| 金乡县| 陆川县| 许昌县| 乐清市| 秦安县| 成安县| 乐东| 平乐县| 遂川县| 涿鹿县| 筠连县| 汝南县| 尉犁县| 利津县| 梁河县| 宿迁市| 仲巴县| 农安县| 微山县| 镇平县| 武鸣县| 长岛县| 六安市| 瑞安市|