借助DataStream和多路復(fù)用實(shí)現(xiàn)可觀察性
實(shí)時(shí)查看日志數(shù)據(jù)有助于確定應(yīng)用程序的管理方式和基礎(chǔ)設(shè)施的擴(kuò)展方式。為了確定并解決最終用戶遇到的問題,我們往往需要獲取來自多個(gè)來源(如CDN、安全系統(tǒng)、服務(wù)器端等)的日志,然而這可能導(dǎo)致復(fù)雜的基礎(chǔ)設(shè)施設(shè)置,會(huì)產(chǎn)生不同級(jí)別的可見性需求,并且由于數(shù)據(jù)量大,往往還會(huì)產(chǎn)生較高的數(shù)據(jù)出口成本。
延伸閱讀,點(diǎn)擊鏈接了解 Akamai Cloud Computing
為了實(shí)現(xiàn)高效、可預(yù)測(cè)且具有成本效益的可觀察性工作流,一種方法是實(shí)施基于云的多路復(fù)用解決方案,在將日志數(shù)據(jù)發(fā)送到相關(guān)DevOps團(tuán)隊(duì)之前,先進(jìn)行數(shù)據(jù)攝取和解析。結(jié)合Akamai的DataStream邊緣日志報(bào)告,多路復(fù)用可以幫助企業(yè)管理日志的傳輸方式和位置,提升數(shù)據(jù)安全性,并降低整體成本。
本文概括介紹了可觀察性工作流中的業(yè)務(wù)挑戰(zhàn)、集成和遷移的關(guān)鍵要點(diǎn),并展示了使用Linode Kubernetes Engine(LKE)運(yùn)行Elastic Stack(ELK)和Vector的多路復(fù)用參考架構(gòu)。
DataStream和多路復(fù)用工作流
以下是在可觀察性工作流中使用多路復(fù)用與DataStream的大致步驟:
- 運(yùn)行DataStream的邊緣服務(wù)器接收客戶端請(qǐng)求。
- DataStream將日志數(shù)據(jù)作為單一流輸出到運(yùn)行多路復(fù)用軟件解決方案的LKE集群,該解決方案由ELK棧和Vector組成。
- ELK和Vector攝取日志數(shù)據(jù),對(duì)日志進(jìn)行分析、解析,并輸出到用戶定義的對(duì)象存儲(chǔ)端點(diǎn)。
- 區(qū)域?qū)ο蟠鎯?chǔ)桶用于存儲(chǔ)已解析的日志數(shù)據(jù)。
應(yīng)對(duì)不同挑戰(zhàn)
跨團(tuán)隊(duì)管理可觀察性需求
使用多路復(fù)用將日志數(shù)據(jù)發(fā)送給需要的團(tuán)隊(duì)。
許多企業(yè)(尤其是大型企業(yè))往往需要將特定日志數(shù)據(jù)發(fā)送給多個(gè)地理區(qū)域的特定團(tuán)隊(duì)。然而,并不是每個(gè)地區(qū)的每個(gè)團(tuán)隊(duì)都需要(或應(yīng)該擁有)每一條數(shù)據(jù)來達(dá)到所需的可見性水平。處理未經(jīng)篩選、未經(jīng)解析的日志數(shù)據(jù)不僅耗時(shí)易出錯(cuò),而且也會(huì)造成不必要的安全風(fēng)險(xiǎn)。
將多路復(fù)用方法引入可觀察性工作流,可確保相關(guān)DevOps團(tuán)隊(duì)只獲取他們所需的數(shù)據(jù)。這不僅提高了數(shù)據(jù)安全性,還能提升效率并降低整體日志存儲(chǔ)成本。
海量數(shù)據(jù)
通過避免傳輸不必要的數(shù)據(jù)來降低成本。
日志數(shù)據(jù)對(duì)于有效的可觀察性工作流至關(guān)重要。然而,日志數(shù)據(jù)龐大、數(shù)量眾多且持續(xù)不斷;大量日志數(shù)據(jù)必須傳輸?shù)侥硞€(gè)地方,如果在到達(dá)目的地之前沒有正確解析,就可能造成不必要的存儲(chǔ)和數(shù)據(jù)出口成本。
多路復(fù)用可提前整理數(shù)據(jù)并使用數(shù)據(jù)“標(biāo)識(shí)符”(如日志特定元數(shù)據(jù))將已解析日志定向到指定的目的地,從而降低這些成本。這樣,不僅日志能被發(fā)送給正確的團(tuán)隊(duì),還確保了非必要數(shù)據(jù)不會(huì)首先被發(fā)送,從而減少了整體日志存儲(chǔ)量。
在分布式架構(gòu)中維持可觀察性
確保不同類型日志在需要的地方進(jìn)行分發(fā)。
分布式架構(gòu)是高可用性、高流量應(yīng)用的標(biāo)配。隨著分布式架構(gòu)的實(shí)施,往往會(huì)涉及多地區(qū)、多VPC、多微服務(wù)以及與每個(gè)組件相關(guān)的日志。除了大量數(shù)據(jù)外,這還可能導(dǎo)致復(fù)雜的監(jiān)控和可見性需求,這些需求可能因地區(qū)而異。
將基于云的多路復(fù)用與DataStream邊緣日志記錄相結(jié)合,可精確控制CDN、安全系統(tǒng)、服務(wù)器端和其他日志如何在多區(qū)域基礎(chǔ)設(shè)施中處理和分發(fā)。
集成和遷移工作
本文涉及的多路復(fù)用解決方案不需要遷移任何與應(yīng)用程序相關(guān)的軟件或數(shù)據(jù)。該解決方案是一種與位置無關(guān)的,基于云的管道,位于企業(yè)的邊緣交付基礎(chǔ)設(shè)施和日志存儲(chǔ)端點(diǎn)(如Amazon S3兼容的桶、Google Cloud Storage等)之間。
通過以下示例,大家可以通過將云端多路復(fù)用架構(gòu)指向Akamai的對(duì)象存儲(chǔ)(而非第三方對(duì)象存儲(chǔ)解決方案),借此降低整體數(shù)據(jù)出口成本。
多路復(fù)用DataStream設(shè)計(jì)示意圖
下圖使用單區(qū)域、可擴(kuò)展的LKE集群運(yùn)行ELK和Vector,從DataStream攝取并解析單一日志流。解析后的日志被發(fā)送到由對(duì)象存儲(chǔ)桶組成的區(qū)域日志處理基礎(chǔ)設(shè)施,并在那里進(jìn)行處理和存儲(chǔ):
- 發(fā)出請(qǐng)求。最終用戶提交應(yīng)用請(qǐng)求。
- 邊緣服務(wù)器接收請(qǐng)求。請(qǐng)求被Akamai的邊緣基礎(chǔ)設(shè)施接收,該基礎(chǔ)設(shè)施運(yùn)行了DataStream。如果該請(qǐng)求在邊緣未緩存,最終用戶請(qǐng)求的HTTP數(shù)據(jù)將被轉(zhuǎn)發(fā)到運(yùn)行用戶請(qǐng)求信息的區(qū)域SaaS集群。
- HTTP數(shù)據(jù):HTTP數(shù)據(jù)傳輸不受影響,也與基于云的多路復(fù)用日志解析解決方案無關(guān)。
- 日志發(fā)送到云基礎(chǔ)設(shè)施進(jìn)行多路復(fù)用。DataStream根據(jù)最終用戶的請(qǐng)求捕獲并傳輸日志信息。日志不是直接發(fā)送到區(qū)域日志處理基礎(chǔ)設(shè)施,而是以單一流的形式發(fā)送到Akamai Cloud上的單區(qū)域LKE集群。
- 日志被解析和分發(fā)。運(yùn)行ELK和Vector多路復(fù)用解決方案的LKE集群攝取、處理、排序并將解析后的日志傳輸?shù)絽^(qū)域本地日志處理基礎(chǔ)設(shè)施。
- 區(qū)域桶接收并存儲(chǔ)解析后的日志。由對(duì)象存儲(chǔ)桶和軟件組成的本地日志處理基礎(chǔ)設(shè)施,會(huì)根據(jù)解析過程中提供的數(shù)據(jù)標(biāo)識(shí)符攝取并存儲(chǔ)解析后的日志。這些桶位于與運(yùn)行最終用戶查詢應(yīng)用程序SaaS集群相同的區(qū)域。
系統(tǒng)和組件
- 邊緣CDN和安全性:Akamai的邊緣基礎(chǔ)設(shè)施,接收并路由最終用戶的請(qǐng)求和數(shù)據(jù)。
- DataStream:Akamai的邊緣原生日志報(bào)告服務(wù),是此場(chǎng)景中使用的邊緣解決方案之一。DataStream通過捕獲性能和安全日志并將這些數(shù)據(jù)流傳輸?shù)接脩舳x的目標(biāo),提供對(duì)流量交付的可見性。
- SaaS集群:跨多個(gè)區(qū)域的節(jié)點(diǎn)集群,運(yùn)行應(yīng)用程序后端。
- 本地日志處理:用于攝取LKE集群輸出的日志數(shù)據(jù)的對(duì)象存儲(chǔ)桶和軟件,該LKE集群運(yùn)行日志多路復(fù)用解決方案。與應(yīng)用程序的SaaS集群位于相同的區(qū)域。
- 可選的其他區(qū)域處理軟件包括本地ELK?;騎rafficPeak。
- LKE:Linode Kubernetes Engine是Akamai云計(jì)算的托管Kubernetes平臺(tái)。Kubernetes集群可以通過Cloud Manager、Linode CLI或Linode API快速高效地部署。
- ELK:由Elasticsearch、Kibana和Logstash組成的軟件棧。ELK棧能夠可靠且安全地從任何來源、任何格式的數(shù)據(jù)中獲取數(shù)據(jù),然后進(jìn)行搜索、分析和可視化。
- Vector:數(shù)據(jù)解析軟件,用于收集、轉(zhuǎn)換和路由輸入/輸出數(shù)據(jù),包括日志信息。
通過上述解決方案,我們即可在Akamai云計(jì)算平臺(tái)上實(shí)施基于云的多路復(fù)用可觀察性解決方案,確保在將日志數(shù)據(jù)發(fā)送到相關(guān)團(tuán)隊(duì)之前,先進(jìn)行必要的數(shù)據(jù)攝取和解析。在Akamai DataStream邊緣日志和多路復(fù)用能力的幫助下,企業(yè)將能更好地管理日志傳輸方式和位置,在提升數(shù)據(jù)安全性的同時(shí)大幅降低數(shù)據(jù)存儲(chǔ)和出口成本。
歡迎通過注冊(cè)賬號(hào)并獲得額度,親自試用Akamai云計(jì)算服務(wù)。
—————————————————————————————————————————————————
如您所在的企業(yè)也在考慮采購云服務(wù)或進(jìn)行云遷移,
點(diǎn)擊鏈接了解Akamai Linode的解決方案