北京2021年5月24日 /美通社/ -- Venus是什么?初見(jiàn)還要追溯到去年11月召開(kāi)的浪潮云海創(chuàng)新論壇2020。會(huì)上不僅分享了浪潮云海對(duì)于前沿科技的創(chuàng)新洞見(jiàn)以及扎實(shí)可靠的落地實(shí)踐,更重要的是TA,一個(gè)開(kāi)源并貢獻(xiàn)社區(qū)的OpenStack日志管理項(xiàng)目,被稱(chēng)為Venus。
伴隨OpenStack技術(shù)發(fā)展愈發(fā)成熟,全球75個(gè)公有云、數(shù)以千計(jì)的私有云都在使用,累計(jì)部署了超過(guò)1000萬(wàn)個(gè)計(jì)算核心,確然成為行業(yè)大中型私有云建設(shè)的首選。
為應(yīng)對(duì)行業(yè)中大型云建設(shè)的剛需,主要表現(xiàn)為節(jié)點(diǎn)規(guī)模部署環(huán)境逐漸走向大規(guī)模,涉及到的功能模塊層出不窮,尤其是各種日志類(lèi)型更是紛繁復(fù)雜?!昂A?、繁多、分散……無(wú)論是格式還是位置都讓運(yùn)維人員在服務(wù)器上很難通過(guò)日志排查發(fā)現(xiàn)問(wèn)題?!崩顺痹坪Q邪l(fā)團(tuán)隊(duì)表示。
更重要的一點(diǎn),當(dāng)系統(tǒng)發(fā)生故障或者出現(xiàn)性能瓶頸時(shí),經(jīng)常需要各種類(lèi)型日志通過(guò)串聯(lián)才能定位故障原因或者找出導(dǎo)致系統(tǒng)性能瓶頸的線(xiàn)索才行,但OpenStack平臺(tái)的調(diào)用多為分布式調(diào)用,日志的串聯(lián)簡(jiǎn)直難出天際。綜合考量,浪潮云海實(shí)力推出統(tǒng)一日志管理項(xiàng)目Venus,主要還是取決于大規(guī)模部署條件下,針對(duì)OpenStack平臺(tái)在日志存儲(chǔ)、檢索、分析等方面的核心需求。
貢獻(xiàn)社區(qū)的Venus具體能做啥?
總體來(lái)說(shuō),Venus可以做到一站式滿(mǎn)足日志的采集、清洗、索引、分析、告警、可視化、生成報(bào)告等需求,幫助運(yùn)維人員快速檢索問(wèn)題,掌握平臺(tái)的運(yùn)行健康度,并在未來(lái)計(jì)劃引用機(jī)器學(xué)習(xí)算法,快速定位IT故障及根因,提高運(yùn)維效率以及平臺(tái)管理的水平。 簡(jiǎn)單來(lái)說(shuō)在檢索工作上,主要提供了簡(jiǎn)單易用的檢索方式,可以做到檢索一切日志數(shù)據(jù),定位日志上下文;分析上主要實(shí)現(xiàn)日志關(guān)聯(lián)、字段數(shù)值統(tǒng)計(jì),提供多場(chǎng)景、多維度的可視化分析報(bào)表;告警層面則將搜索轉(zhuǎn)化為主動(dòng)告警,實(shí)現(xiàn)海量日志中錯(cuò)誤的“大海撈針”;定位主要是通過(guò)建立知識(shí)圖譜和調(diào)用的鏈?zhǔn)疥P(guān)系,結(jié)合算法實(shí)現(xiàn)故障的快速定位。
以日志預(yù)處理為例。對(duì)于日志數(shù)據(jù),OpenStack社區(qū)從開(kāi)始開(kāi)發(fā)就制定了嚴(yán)格的日志規(guī)范,大部分模塊都遵守此規(guī)范,即社區(qū)規(guī)定的日志格式為<時(shí)間戳><日志等級(jí)><代碼模塊><Request ID><日志內(nèi)容><源代碼位置> 。對(duì)于此種日志很容易進(jìn)行預(yù)處理,拆分成多種維度進(jìn)行索引,如下圖所示。
通常OpenStack日志索引的維度主要包括時(shí)間維度、主機(jī)維度、用戶(hù)維度(用戶(hù)id)、租戶(hù)維度(租戶(hù)id)、級(jí)別維度(info、warning、error等)、組件維度(nova_api、nova_compute等)、python_module(neutron.wsgi、nova.osapi_comput.wsgi.server等)、日志文件名(nova、neutron等)、API status(200、404等)、API type(GET、POST等)、API time等,但也有部分原生模塊的日志記錄并不規(guī)范,浪潮的OpenStack對(duì)其全部進(jìn)行了規(guī)范化處理。
如此看來(lái)開(kāi)源到OpenStack社區(qū)的Venus項(xiàng)目現(xiàn)已具備基本的日志分析處理功能,總結(jié)一下,主要功能為:
從實(shí)踐層面看,浪潮云海每年都會(huì)對(duì)自研OpenStack產(chǎn)品進(jìn)行為期1個(gè)月到2個(gè)月的大規(guī)模測(cè)試,這是一個(gè)測(cè)試、調(diào)優(yōu)、測(cè)試環(huán)節(jié)不斷循環(huán)的過(guò)程,而支撐這個(gè)過(guò)程快速完成的除了監(jiān)控系統(tǒng),還有日益成熟的日志系統(tǒng),以2020年1000節(jié)點(diǎn)大規(guī)模測(cè)試為例:
測(cè)試過(guò)程中,報(bào)錯(cuò)LOG可視化快速展現(xiàn),從而了解各組件的報(bào)錯(cuò)信息,具體如下:
測(cè)試過(guò)程中出現(xiàn)過(guò)RABBITMQ掛掉的情況,可通過(guò)RABBITMQ的連接錯(cuò)誤告警,可以做進(jìn)一步的數(shù)據(jù)分析,詳情如下:
表現(xiàn)出挑的Venus,整體的技術(shù)架構(gòu)又如何?
浪潮云海技術(shù)研發(fā)團(tuán)隊(duì)稱(chēng),日志管理模塊Venus以efk為基礎(chǔ),總體架構(gòu)如圖:
未來(lái)的Venus,我們期望是這樣的!
Venus項(xiàng)目旨在打造一個(gè)開(kāi)放的OpenStack日志管理平臺(tái),集合廣大用戶(hù)在日志領(lǐng)域的需求和實(shí)踐,提供各場(chǎng)景日志分析并集成算法和知識(shí)圖譜實(shí)現(xiàn)故障的快速定位,構(gòu)建完備的日志運(yùn)維場(chǎng)景,未來(lái)Venus計(jì)劃如下:
一直以來(lái),浪潮云海都通過(guò)對(duì)開(kāi)源開(kāi)放技術(shù)的攻堅(jiān),突破開(kāi)源版本在性能、大規(guī)模管理能力方面的瓶頸,秉承“源于開(kāi)源、饋于開(kāi)源”的理念助力業(yè)界共同構(gòu)建開(kāi)放統(tǒng)一的智能基礎(chǔ)設(shè)施,未來(lái)定會(huì)在此領(lǐng)域更多發(fā)力創(chuàng)造更多驚喜、取得更多成績(jī)。