a级片网址,www.一级毛片,日批国产,中文字幕日韩精品有码视频,黄色毛片免费网站,久久久精品午夜免费不卡,天堂福利视频

您當(dāng)前的位置是:  首頁(yè) > 新聞 > 專(zhuān)家觀點(diǎn) >
 首頁(yè) > 新聞 > 專(zhuān)家觀點(diǎn) >

為PaaS云平臺(tái)提供整合的全棧式監(jiān)控

2017-01-06 11:08:39   作者:   來(lái)源:CTI論壇   評(píng)論:0  點(diǎn)擊:


  作為一項(xiàng)日益受到歡迎的技術(shù),平臺(tái)即服務(wù)(Platform-as-a-Service,PaaS)可以在云端部署能夠通過(guò)Web訪問(wèn)的應(yīng)用。借助PaaS,用戶不必關(guān)注詳細(xì)的執(zhí)行信息,例如操作系統(tǒng)、資源分配、網(wǎng)絡(luò)配置以及業(yè)務(wù)生態(tài)系統(tǒng)管理。同時(shí),PaaS可以實(shí)現(xiàn)負(fù)載均衡、資源伸縮和容錯(cuò)功能的自動(dòng)化。應(yīng)用開(kāi)發(fā)人員從而得以專(zhuān)注于編程和創(chuàng)新,無(wú)需考慮部署和系統(tǒng)問(wèn)題。
  PaaS技術(shù)的廣泛應(yīng)用需要新的監(jiān)控技術(shù)。這是因?yàn)橛行У谋O(jiān)控對(duì)于促進(jìn)資源自動(dòng)伸縮、維持高可用性、管理多租戶(多種應(yīng)用共享資源),以及識(shí)別應(yīng)用和PaaS系統(tǒng)中的性能缺陷是至關(guān)重要的。
  為了從PaaS操作環(huán)境中提取充足的信息,必須具備完整和全面的性能數(shù)據(jù),并且進(jìn)行有效率的數(shù)據(jù)收集——而且收集操作對(duì)系統(tǒng)性能不能有太多的影響。因此,應(yīng)用性能監(jiān)控(Application Performance Monitoring,APM)系統(tǒng)成功的關(guān)鍵之處就在于要能夠有效解決這些問(wèn)題并且進(jìn)行相關(guān)的權(quán)衡取舍。
  本文提出了一個(gè)新的PaaS APM設(shè)計(jì),該云APM系統(tǒng)不是通常人們最為熟悉的外部系統(tǒng),而是一個(gè)與PaaS云平臺(tái)緊密集成的系統(tǒng),我們充分利用并增加了現(xiàn)有的組件以提供全面和全棧式的監(jiān)控、分析和可視化管理。
  該設(shè)計(jì)充分利用了目前PaaS平臺(tái)所具有的資源彈性伸縮、容錯(cuò)性、安全性和控制特性,同時(shí)為云應(yīng)用提供了低開(kāi)銷(xiāo)和端到端的監(jiān)控和分析方法。
  云APM設(shè)計(jì)與PaaS集成
  與大多數(shù)的系統(tǒng)監(jiān)控解決方案一樣,新的云APM具有數(shù)據(jù)采集、存儲(chǔ)、處理(包括數(shù)據(jù)分析)和可視化等特點(diǎn)。
  傳感器和代理提供PaaS云平臺(tái)的應(yīng)用程序和核心組件,可以收集數(shù)據(jù)。傳感器對(duì)于一個(gè)特定組件而言是靜態(tài)的,而軟件代理則更為復(fù)雜,可以智能地適應(yīng)不斷變化的情況,包括對(duì)信息采集進(jìn)行動(dòng)態(tài)決策——采集什么信息?以及什么時(shí)候、如何采集信息?鑒于傳感器和代理能夠影響行為和性能,它們必須重量小,并且支持非侵入式部署。為達(dá)到這些標(biāo)準(zhǔn),確保準(zhǔn)確性,我們將定期的、非窮盡抽樣與整個(gè)軟件堆棧的傳感器和代理的智能配置加以結(jié)合。
  在性能數(shù)據(jù)的存儲(chǔ)和處理方面,我們充分利用PaaS自身提供的可擴(kuò)展、長(zhǎng)期、高度可用的分布式服務(wù)。具體而言,我們的系統(tǒng)使用可擴(kuò)展的鍵值存儲(chǔ)、緩存系統(tǒng)、關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)、高性能搜索系統(tǒng),以及批量和串流分析框架,來(lái)構(gòu)建PaaS業(yè)務(wù)生態(tài)系統(tǒng)。對(duì)于PaaS系統(tǒng)間的可移植性,各功能定義一個(gè)應(yīng)用軟件編程接口(Application Programming Interface,API)。通過(guò)這些接口,各功能可以與PaaS組件和業(yè)務(wù)進(jìn)行互動(dòng)。為了能夠與新的PaaS交互,API操作被重寫(xiě)并與該P(yáng)aaS的操作相關(guān)聯(lián)。
  圖1展示了APM與一個(gè)典型PaaS堆棧的集成。左側(cè)深藍(lán)色的區(qū)域表示PaaS的架構(gòu)。箭頭指示則針對(duì)響應(yīng)應(yīng)用請(qǐng)求的數(shù)據(jù)和命令的方向。PaaS云平臺(tái)的最底層,即基礎(chǔ)設(shè)施層由必要的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)資源組成。PaaS可以動(dòng)態(tài)獲取并且釋放這些資源。
  PaaS內(nèi)核就是一組可管理、可擴(kuò)展的業(yè)務(wù)。這些業(yè)務(wù)執(zhí)行大多數(shù)云應(yīng)用程序所需的通用功能。應(yīng)用開(kāi)發(fā)人員將這些業(yè)務(wù)組合起來(lái)進(jìn)行創(chuàng)新。這些業(yè)務(wù)通常包括數(shù)據(jù)存儲(chǔ)和緩沖、隊(duì)列服務(wù)、認(rèn)證、用戶管理,以及眾多的其它業(yè)務(wù)。
\
  APM架構(gòu)
  PaaS云平臺(tái)提供一個(gè)API(云軟件開(kāi)發(fā)工具包)管理集。開(kāi)發(fā)人員利用這些API將PaaS功能連接到應(yīng)用程序上。云軟件開(kāi)發(fā)工具包——類(lèi)似PaaS代理機(jī)制——簡(jiǎn)化、控制以及負(fù)載均衡針對(duì)應(yīng)用程序和系統(tǒng)間PaaS業(yè)務(wù)的訪問(wèn)。
  應(yīng)用服務(wù)器執(zhí)行應(yīng)用程序的副本并且連接應(yīng)用代碼和下層的PaaS內(nèi)核。同時(shí),這些服務(wù)器還將應(yīng)用代碼隔離起來(lái)以確保安全的多用戶操作,并提供業(yè)務(wù)控制和計(jì)費(fèi)服務(wù)。負(fù)載均衡器(或者前端)作為應(yīng)用程序的入口點(diǎn),可以攔截應(yīng)用請(qǐng)求,過(guò)濾并發(fā)送給適當(dāng)?shù)姆⻊?wù)器實(shí)例。
  回到圖1中,與PaaS組件相連的灰色小方框代表用于監(jiān)控這個(gè)云平臺(tái)組件的傳感器和代理。它們可以收集事件和性能數(shù)據(jù)。APM收集來(lái)自PaaS堆棧(全棧式監(jiān)控)各層的數(shù)據(jù)。測(cè)量速率是可配置的,并且在許多情況下具有自適應(yīng)性。傳感器和代理程序利用批量操作和異步通信來(lái)減少性能故障和費(fèi)用開(kāi)銷(xiāo)。
  APM收集來(lái)自前端和負(fù)載均衡層的信息,這些信息與后續(xù)的應(yīng)用請(qǐng)求相關(guān)。監(jiān)控代理分析HTTP服務(wù)器日志以提取時(shí)間戳、源/目標(biāo)地址、響應(yīng)時(shí)間和其它參數(shù)。通常這些信息隨時(shí)通過(guò)目前使用的大部分前端技術(shù),例如Apache HTTPD和Nginx來(lái)進(jìn)行采集。另外,代理還收集活動(dòng)連接、無(wú)效訪問(wèn)嘗試和HTTP錯(cuò)誤信息。
  在應(yīng)用服務(wù)器層內(nèi)部,傳感器收集應(yīng)用和運(yùn)行時(shí)間/容器日志數(shù)據(jù)。這些數(shù)據(jù)一般包括表明單個(gè)應(yīng)用實(shí)例的資源使用情況的流程級(jí)指標(biāo)。針對(duì)日志文件進(jìn)行分析可以避免因?yàn)闃?gòu)建應(yīng)用程序和應(yīng)用服務(wù)器而產(chǎn)生的高開(kāi)銷(xiāo)。當(dāng)然,如果收益能夠沖抵開(kāi)銷(xiāo)的話,還是可以增加額外的應(yīng)用程序和應(yīng)用服務(wù)器的。
  在PaaS內(nèi)核中,我們?cè)谒蠵aaS業(yè)務(wù)的入口點(diǎn)都做了如下部署:
  • 收集主叫人和被叫人信息;
  • 時(shí)間戳;
  • 各操作調(diào)用的執(zhí)行時(shí)間;
  • 請(qǐng)求細(xì)節(jié),包括參數(shù)長(zhǎng)度和哈希。
  這有助于區(qū)別PaaS的不同執(zhí)行階段,匯總和描述操作調(diào)用實(shí)例。同時(shí)也可以實(shí)現(xiàn)低開(kāi)銷(xiāo)和準(zhǔn)確的全棧式監(jiān)控。
  可以通過(guò)云基礎(chǔ)設(shè)施收集來(lái)自虛擬機(jī)、操作系統(tǒng)容器,以及各物理主機(jī)與進(jìn)程和資源使用相關(guān)的信息。這一層的大多數(shù)傳感器可以分析日志、查詢(xún)Linux proc文件系統(tǒng)、收集網(wǎng)絡(luò)/CPU/內(nèi)存/資源配置的相關(guān)指標(biāo),以及管理和編排框架做出的回收決定。
  收集到的信息支持集群活動(dòng)和全系統(tǒng)事件。由于PaaS系統(tǒng)通常承載Web應(yīng)用和服務(wù),因而我們的APM設(shè)計(jì)將Web請(qǐng)求看作事件。每個(gè)HTTP請(qǐng)求頭都附有一個(gè)請(qǐng)求識(shí)別碼,對(duì)所有組件均可見(jiàn)。然后適當(dāng)?shù)腁PM代理經(jīng)過(guò)配置來(lái)記錄這些識(shí)別碼。數(shù)據(jù)處理層隨后利用請(qǐng)求識(shí)別碼進(jìn)行集群測(cè)量,用于單個(gè)Web請(qǐng)求的端到端系統(tǒng)分析。
  數(shù)據(jù)處理層存儲(chǔ)并提供可擴(kuò)展的性能數(shù)據(jù)訪問(wèn)。該數(shù)據(jù)處理層還支持例行的插件分析,可以用來(lái)描述隨時(shí)間變化的應(yīng)用與系統(tǒng)行為、檢測(cè)行為和性能的異常與工作量變化,并且識(shí)別出能夠?qū)崿F(xiàn)更有效的資源利用,以及資源、業(yè)務(wù)和應(yīng)用實(shí)例的自動(dòng)縮放的機(jī)遇。
  這些分析程序可以進(jìn)行推理和預(yù)測(cè),并且利用統(tǒng)計(jì)分析庫(kù)批量處理業(yè)務(wù)和搜索查詢(xún)系統(tǒng)。
  APM的基礎(chǔ):彈性棧
  經(jīng)過(guò)全方位評(píng)估,我們選擇Elastic Stack作為APM的基礎(chǔ)。Elastic Stack是一種開(kāi)源分布式系統(tǒng),建立在Linux KVM(Kernel-based Virtual Machine)基礎(chǔ)之上,用于數(shù)據(jù)存儲(chǔ)和處理。
  Elastic Stack包括3大組成部分,即ElasticSearch、Logstash和Kibana。
  • ElasticSearch:支持通過(guò)自動(dòng)分庫(kù)和復(fù)制實(shí)現(xiàn)結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)的可擴(kuò)展、高可用性管理;同時(shí),其還提供全面的數(shù)據(jù)索引、過(guò)濾、匯總和查詢(xún)支持,可以簡(jiǎn)化上層數(shù)據(jù)處理算法的實(shí)施過(guò)程。ElasticSearch在諸如Spark和MapReduce等大數(shù)據(jù)工作流中易于整合,實(shí)現(xiàn)高級(jí)分析。
  • Logstash:有利于將數(shù)據(jù)從廣泛的標(biāo)準(zhǔn)日志格式中提取出來(lái)。通過(guò)簡(jiǎn)單配置可以支持自定義日志格式。
  • Kibana:提供強(qiáng)大的基于Web的儀表盤(pán),支持大量的圖表、表格和時(shí)間序列。另外,自定義數(shù)據(jù)處理與分析組件及其擴(kuò)展可以根據(jù)對(duì)度量系統(tǒng)的研究實(shí)現(xiàn)對(duì)可視化數(shù)據(jù)的優(yōu)化,從而更加便于提取有價(jià)值的信息。
\
  APM應(yīng)用案例
  以下的應(yīng)用案例利用APM收集的PaaS性能數(shù)據(jù)來(lái)提供新的PaaS特性。其中有兩個(gè)特別令人感興趣的問(wèn)題:第一,APM系統(tǒng)如何幫助預(yù)測(cè)部署在PaaS云平臺(tái)端的Web應(yīng)用的基于性能的服務(wù)等級(jí)目標(biāo)(Service Level Objective,SLO)?第二,性能異常是如何在PaaS堆棧中被偵測(cè)出來(lái)的?
  應(yīng)用響應(yīng)時(shí)間預(yù)測(cè)
  該AMP應(yīng)用案例提供可擴(kuò)展和精確的響應(yīng)時(shí)間預(yù)測(cè),能夠在云供應(yīng)商和PaaS用戶間充當(dāng)各應(yīng)用程序SLO的角色。為實(shí)現(xiàn)這一目標(biāo),我們將托管Web應(yīng)用的靜態(tài)程序分析和PaaS云平臺(tái)的APM監(jiān)控結(jié)合起來(lái)。因?yàn)槲覀兿M赑aaS用戶安裝這些應(yīng)用的時(shí)候?yàn)槠涮峁╊A(yù)測(cè),所以在PaaS云平臺(tái)上安裝或運(yùn)行一個(gè)應(yīng)用之前會(huì)進(jìn)行這一靜態(tài)分析。
  對(duì)于每個(gè)功能路徑,我們的靜態(tài)分析通過(guò)傳統(tǒng)技術(shù)提取PaaS內(nèi)核呼叫清單以進(jìn)行基于抽象解釋的循環(huán)邊界分析、分支預(yù)測(cè)和最壞情況下的執(zhí)行時(shí)間分析。為節(jié)省開(kāi)銷(xiāo),我們禁止應(yīng)用程序收集運(yùn)行時(shí)的性能指標(biāo)。相反地,這些清單被記錄在APM系統(tǒng)中,業(yè)務(wù)也在該系統(tǒng)中獨(dú)立于應(yīng)用程序的執(zhí)行之外受到監(jiān)控。
  該系統(tǒng)利用APM收集的PaaS內(nèi)核業(yè)務(wù)性能數(shù)據(jù),隨后分析程序提取清單中每個(gè)業(yè)務(wù)操作執(zhí)行時(shí)間的時(shí)間序列,預(yù)測(cè)方法計(jì)算應(yīng)用響應(yīng)時(shí)間的統(tǒng)計(jì)邊界,然后云供應(yīng)商再把這些值作為性能SLO的基礎(chǔ)。
  為了預(yù)測(cè)SLO,我們采用基于時(shí)間序列的隊(duì)列邊界估算法(Queue Bounds Estimation from Time Series,QBETS),這是我們?cè)O(shè)計(jì)用來(lái)預(yù)測(cè)在高性能計(jì)算環(huán)境中批量隊(duì)列系統(tǒng)的調(diào)度延遲的一種非參數(shù)的時(shí)間序列分析方法。我們對(duì)這一方法進(jìn)行優(yōu)化,使其可以在PaaS APM系統(tǒng)中用來(lái)支持“X即服務(wù)”以便估算安裝應(yīng)用所需的響應(yīng)時(shí)間。
  由于PaaS業(yè)務(wù)和平臺(tái)行為負(fù)載隨時(shí)間而變化,預(yù)測(cè)出的SLO可能隨時(shí)間的推移而失效。我們的系統(tǒng)可以檢測(cè)SLO違規(guī),因此云供應(yīng)商可以進(jìn)行重新協(xié)商。當(dāng)此類(lèi)失效情況出現(xiàn)時(shí),PaaS會(huì)觸發(fā)APM的SLO分析程序以建立新的SLO。
  目前,我們的云APM已整合在谷歌應(yīng)用程序引擎內(nèi),以及開(kāi)源PaaS AppScale的完整的堆棧中,以使用這些平臺(tái)對(duì)運(yùn)行在其上的開(kāi)源Java Web應(yīng)用進(jìn)行廣泛的測(cè)試和實(shí)證評(píng)估。我們發(fā)現(xiàn)我們的系統(tǒng)在任何情況下都可以生成準(zhǔn)確的SLO。
  性能異常檢測(cè)
  人們開(kāi)發(fā)了無(wú)數(shù)的統(tǒng)計(jì)模型用于動(dòng)態(tài)檢測(cè)性能異常,然而之前的大部分工作只關(guān)注簡(jiǎn)單、獨(dú)立的應(yīng)用程序。我們的目標(biāo)是為基于PaaS(分布式)的Web應(yīng)用提供異常檢測(cè)。為此,我們部署了大量名為異常檢測(cè)器的APM分析插件,這些設(shè)備可以定期分析PaaS中安裝的每個(gè)應(yīng)用的性能數(shù)據(jù)。
  每個(gè)檢測(cè)器使用不同的檢測(cè)統(tǒng)計(jì)方法。應(yīng)用級(jí)的檢測(cè)器支持不同的應(yīng)用使用一個(gè)或多個(gè)不同的異常檢測(cè)器。每個(gè)檢測(cè)器配有執(zhí)行時(shí)間表和單個(gè)已處理數(shù)據(jù)的滑動(dòng)窗口,例如,從10分鐘前直到現(xiàn)在。
  除此之外,路徑異常檢測(cè)器利用PaaS內(nèi)核呼叫清單檢測(cè)每個(gè)應(yīng)用請(qǐng)求處理路徑。在這種情況下,來(lái)自PaaS內(nèi)核(PaaS內(nèi)核調(diào)用數(shù)據(jù))的數(shù)據(jù)用于推測(cè)單個(gè)應(yīng)用的執(zhí)行路徑。檢測(cè)器計(jì)算不同路徑的頻率分布,檢測(cè)該分布隨時(shí)間的變化情況,識(shí)別新路徑、最頻繁的執(zhí)行路徑以及路徑頻率分布中的重要變化。
  一旦檢測(cè)到異常情況,檢測(cè)器會(huì)發(fā)送事件給一組異常處理器。該事件包括與異常情況對(duì)應(yīng)的唯一的異常識(shí)別碼、時(shí)間戳、應(yīng)用識(shí)別碼和源檢測(cè)器的滑動(dòng)窗口。異常處理器支持全局配置,也可以設(shè)置為忽略特定的事件類(lèi)別。與檢測(cè)器一樣,APM支持大量的異常處理器,用于處理日志異常、發(fā)送告警郵件,以及更新儀表盤(pán)等等。
  此外,我們還提供兩種特殊的異常處理器:一種是工作量變化分析器,另外一種是根因分析器。
  工作量變化分析器利用一套變化點(diǎn)檢測(cè)算法分析歷史工作量趨勢(shì)。
  根因分析器評(píng)估PaaS內(nèi)核呼叫歷史趨勢(shì),試圖決定最有可能導(dǎo)致異常云(在PaaS內(nèi)核中)的組件。
  異常檢測(cè)器和異常處理器與固定大小的滑動(dòng)窗口協(xié)同工作,在滑動(dòng)窗口隨時(shí)間線移動(dòng)的同時(shí)丟棄舊數(shù)據(jù)。由于這些實(shí)體必須儲(chǔ)存的狀態(tài)信息的數(shù)量有嚴(yán)格的上限,因而程序都是輕量級(jí)的。如有必要,歷史數(shù)據(jù)能夠被保存在APM中進(jìn)行線下批量處理。
  指導(dǎo)新的PaaS業(yè)務(wù)
  由于PaaS的應(yīng)用日益受到歡迎,利用技術(shù)進(jìn)行監(jiān)控、分析已安裝應(yīng)用的性能和行為變得十分重要。然而,大多數(shù)PaaS云平臺(tái)無(wú)法為輕量級(jí)、全棧式的性能、數(shù)據(jù)收集和分析提供足夠的支持。
  人們已經(jīng)設(shè)計(jì)了許多監(jiān)控框架來(lái)支持收集和分析性能數(shù)據(jù)以獲取系統(tǒng)行為、性能、可用性和故障信息。不幸的是,雖然許多框架都不同程度地支持?jǐn)?shù)據(jù)搜集、存儲(chǔ)、分析和可視化,但沒(méi)有一個(gè)能夠作為云平臺(tái)的一部分而運(yùn)行。數(shù)據(jù)存儲(chǔ)機(jī)制、API和配置模型作為獨(dú)立實(shí)體,旨在監(jiān)控服務(wù)器或應(yīng)用程序,無(wú)法在更大的系統(tǒng)中支持端到端的請(qǐng)求流跟蹤。并且,它們不易擴(kuò)展,僅支持基本的度量計(jì)算,不支持相關(guān)性或根因分析。
  我們提出了新的易于整合的APM系統(tǒng)作為一個(gè)解決方案,該系統(tǒng)可以利用PaaS云平臺(tái)的特點(diǎn)進(jìn)行全面、全棧式監(jiān)控和分析。通過(guò)定義一套API呼叫,該APM可以整合到PaaS系統(tǒng)中,促進(jìn)推理和預(yù)測(cè)。這一功能可以用來(lái)指導(dǎo)新的PaaS業(yè)務(wù),包括應(yīng)用安裝時(shí)的響應(yīng)時(shí)間SLO、全系統(tǒng)的性能異常和工作量變化點(diǎn)檢測(cè),以及應(yīng)用性能異常的根因分析。
  Chandra Krintz和Rich Wolski/文
  加利福尼亞大學(xué)圣芭芭拉分校計(jì)算機(jī)科學(xué)系適應(yīng)性計(jì)算環(huán)境研究實(shí)驗(yàn)室主任

專(zhuān)題

溆浦县| 安阳县| 开化县| 新平| 沂源县| 江安县| 桓台县| 迁西县| 海门市| 普兰县| 大邑县| 衡水市| 西华县| 南昌市| 达拉特旗| 潜江市| 陇西县| 平顶山市| 康乐县| 河东区| 高安市| 额敏县| 巴南区| 隆子县| 三明市| 息烽县| 罗源县| 太湖县| 万宁市| 湾仔区| 霸州市| 屯门区| 沅江市| 南涧| 华蓥市| 普兰店市| 盘锦市| 旺苍县| 潼南县| 藁城市| 同江市|