• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    應用軟件運行日志的收集與服務處理框架

    2018-05-21 06:20:30驍,應,張
    計算機工程與應用 2018年10期
    關(guān)鍵詞:日志預處理分布式

    張 驍,應 時 ,張 韜

    1.武漢大學 軟件工程國家重點實驗室,武漢 430072

    2.武漢大學 計算機學院,武漢 430072

    3.中國移動通信集團 湖北有限公司,武漢 430023

    在信息系統(tǒng)應用中,每次操作都會留下痕跡,這就是日志,每個日志文件由日志記錄組成,每條日志記錄描述了一次單獨發(fā)生的事件[1]。在一個完整的信息系統(tǒng)里面,日志系統(tǒng)是一個非常重要的功能組成部分。它可以記錄下系統(tǒng)所產(chǎn)生的所有行為,并按照某種規(guī)范表達出來。日志為服務器、工作站、防火墻和應用軟件等IT資源相關(guān)活動記錄必要的、有價值的信息,這些信息的記錄對系統(tǒng)監(jiān)控、查詢、安全審計和診斷故障都是十分重要的[2]。

    現(xiàn)有的大規(guī)模軟件大都是多人開發(fā),或者采用多種來源的軟件,集成了大量開源社區(qū)的代碼,軟件內(nèi)部的代碼風格存在許多不一致,這種應用程序運行日志由于組織龐大,架構(gòu)復雜,日志數(shù)據(jù)量巨大且比較分散,存在日志數(shù)據(jù)格式多樣,數(shù)據(jù)存儲和檢索困難、日志數(shù)據(jù)讀取效率低等問題。導致大量日志數(shù)據(jù)信息無法被充分地挖掘利用,用戶很難快速從日志中得到有效的信息,難以達到提高故障診斷效率的目的[3]。

    目前一些開發(fā)團體在他們的日志管理系統(tǒng)加入了一些日志處理方法,但都存在很多問題,如:日志數(shù)據(jù)的存儲混亂;面向用戶的服務涉及得很少,用戶很難根據(jù)需求定制日志數(shù)據(jù)。目前大多數(shù)日志數(shù)據(jù)處理工具面對海量化的日志數(shù)據(jù)處理往往達不到用戶的需求,因此,如何快速有效地對日志進行處理,并將有用的日志信息進行返回是目前日志服務研究必須考慮的一個問題[4-5]。

    本文針對以上問題,提出了一種基于Spark的應用軟件運行日志的收集與服務處理框架,該框架利用分布式收集策略對日志數(shù)據(jù)收集,定義了一種多層次數(shù)據(jù)存儲結(jié)構(gòu)對日志數(shù)據(jù)進行存儲,并向用戶提供日志數(shù)據(jù)查詢服務。其特色主要體現(xiàn)在多層次的日志數(shù)據(jù)收集和存儲兩方面。通過分布式收集策略解決了日志數(shù)據(jù)收集緩慢的問題,并通過本文提出的多層次的日志數(shù)據(jù)存儲解決了由于日志數(shù)據(jù)多樣化導致在日志數(shù)據(jù)存儲上消耗大量資源的問題。

    1 相關(guān)工作

    隨著應用軟件的運行日志不斷增多,越來越多的研究人員開始關(guān)注日志收集和服務處理這方面的研究工作,同時也出現(xiàn)了大量針對這方面研究的軟件與系統(tǒng),Scribe是Facebook開源的日志收集系統(tǒng),在Facebook內(nèi)部已經(jīng)得到大量的應用。它能夠從各種日志源上收集日志。logstash是一個應用程序日志、事件的傳輸、處理、管理和搜索的平臺,可以用它來統(tǒng)一對應用程序日志進行收集管理,提供 Web接口用于查詢和統(tǒng)計。Flume[6]是Cloudera提供的一個高可用的、高可靠的、分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng),F(xiàn)lume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù)。但是這些軟件大多數(shù)只傾向于收集日志,收集后的日志并沒有后續(xù)的處理,難以達到用戶對日志數(shù)據(jù)精確化的需求。

    目前許多研究學者也對日志收集和服務處理這塊有很多研究,廖湘科等人[3]從日志特征分析、基于日志的故障診斷、日志的增強三方面綜述了日志研究的現(xiàn)狀。通過對軟件缺陷特征的分析,對幾種常用的大規(guī)模開源軟件的日志進行調(diào)研,發(fā)現(xiàn)了一些日志相關(guān)的特征和規(guī)律,以及現(xiàn)有工具難以解決的問題。周江[7]設計并實現(xiàn)了一個面向大數(shù)據(jù)分析、專為大規(guī)模集群應用的分布式文件系統(tǒng)Clover。實現(xiàn)了對海量數(shù)據(jù)的存儲,解決了傳統(tǒng)的分布式文件系統(tǒng)在擴展性、可靠性和數(shù)據(jù)訪問性能等方面難以滿足新形勢下的需求。李玉榮[6]在分析大型分布式系統(tǒng)對日志服務需求的基礎上,設計并實現(xiàn)了一種分布式環(huán)境下的日志服務,采用這種分布式日志服務有效地簡化了分布式應用系統(tǒng)的開發(fā)、調(diào)試和維護,但是文中沒有考慮到日志數(shù)據(jù)實際上是一種大數(shù)據(jù),并沒有使用適合大數(shù)據(jù)存儲的數(shù)據(jù)結(jié)構(gòu)。付博[1]首先介紹了Web查詢?nèi)罩镜某S眯畔⒑凸_的數(shù)據(jù)集;進而闡述了查詢?nèi)罩驹赪eb搜索、信息抽取等方面的相關(guān)研究,并對它們進行了細致的介紹和分析,但是只適合對于Web端的查詢?nèi)罩荆瑢密浖\行日志的分析研究存在不足。申利民[8]通過對面向SAAS模式的日志架構(gòu)進行相應的配置和擴展,能夠滿足SaaS軟件分別針對不同用戶記錄日志的要求,從總體上描述架構(gòu)的框架設計,但是該框架只適合針對SAAS模式下的日志研究,并不適用于普通應用軟件的運行日志研究。

    2 日志數(shù)據(jù)服務層次框架

    為了能夠在該框架的每個部位找到對應的日志服務,本文針對該框架設計了三層結(jié)構(gòu),其中層次與其對應的服務如圖1所示,該框架針對圖1左邊日志數(shù)據(jù)服務的三個層次,在右邊分別提供對應的服務,包括資源層的日志收集服務、服務層的日志數(shù)據(jù)存儲服務、應用層的用戶獲取日志數(shù)據(jù)服務。下面對不同層次的不同服務進行敘述。

    圖1 日志數(shù)據(jù)服務框架

    (1)日志數(shù)據(jù)資源層:實現(xiàn)日志收集工作。

    (2)日志數(shù)據(jù)服務層:提供日志處理與存儲服務。

    (3)日志數(shù)據(jù)應用層:提供數(shù)據(jù)接口供用戶使用。

    其中,日志數(shù)據(jù)資源層是為了實現(xiàn)日志數(shù)據(jù)集的收集工作,日志數(shù)據(jù)服務層相當于一個日志處理平臺,能夠根據(jù)不同的需求對日志數(shù)據(jù)進行處理;日志數(shù)據(jù)應用層主要是向用戶提供日志服務。

    該框架具有以下幾個特性:

    (l)高可擴展性。由于框架分為三個層級,每個層次直接相互獨立,因此能夠滿足在日志數(shù)據(jù)不斷增長的同時,通過添加服務器,擴展存儲空間等簡單手段提升該框架的處理日志數(shù)據(jù)的能力,滿足用戶需求。

    (2)高并發(fā)。該框架采用了分布式收集策略實現(xiàn)對數(shù)據(jù)的收集,能夠最大限度減少收集數(shù)據(jù)的等待時間。

    (3)高容錯性。通過多層次的數(shù)據(jù)存儲結(jié)構(gòu)來保證數(shù)據(jù)不會丟失,從而提高容錯能力。

    2.1 日志數(shù)據(jù)資源層

    資源層是整個日志數(shù)據(jù)服務框架的基礎,負責提供原始日志數(shù)據(jù)收集服務,原始日志數(shù)據(jù)是一切研究的基礎,有了原始數(shù)據(jù)下一步的研究才能繼續(xù)下去,因此如何快速獲得原始數(shù)據(jù)非常重要。原始日志數(shù)據(jù)在各類應用軟件中分布較多,日志數(shù)據(jù)存放位置也不集中,如果要直接通過日志服務將日志收集,就會導致日志傳輸過慢,系統(tǒng)負載過重,單個節(jié)點失效而導致整個日志收集系統(tǒng)的崩潰等危險,為了提高收集日志的效率,本文采用了分布式日志收集策略,作用于應用層上運行的應用軟件上,當運行應用程序時,便會記錄該應用程序的運行日志,分布式日志收集策略有以下幾點優(yōu)點:

    (1)可以將分布在各處的日志數(shù)據(jù)集中起來綜合利用,這種利用對用戶而言是透明的。

    (2)可以將負載由單個節(jié)點轉(zhuǎn)移到多個,從而提高效率,這對于大數(shù)據(jù)量的日志文件收集效率的提高是很明顯的。

    (3)分布式技術(shù)可以避免由于單個節(jié)點失效而使整個系統(tǒng)崩潰的危險。

    2.2 日志數(shù)據(jù)服務層

    服務層是整個日志服務框架的核心部分,服務層通過對資源層提供的原始日志數(shù)據(jù)進行預處理后,向用戶提供精確化的日志數(shù)據(jù)。在服務層主要包含兩種服務:日志數(shù)據(jù)預處理服務與日志數(shù)據(jù)存儲服務。

    2.2.1 日志數(shù)據(jù)預處理服務

    日志數(shù)據(jù)預處理服務:日志數(shù)據(jù)預處理服務是整個應用層服務的核心服務,負責將原始日志數(shù)據(jù)根據(jù)需求將不必要的信息剔除,留下用戶需要的消息。本文中數(shù)據(jù)預處理,包括對原始數(shù)據(jù)做出以下三方面預處理工作:數(shù)據(jù)過濾、數(shù)據(jù)去重與日志記錄分段。首先一個原始日志數(shù)據(jù)集中會包含大量不必要的記錄,如系統(tǒng)控制臺記錄,這些對于普通用戶來說,并不是必須的,因此需要對原始日志數(shù)據(jù)進行過濾;其次是日志去重,一個原始日志數(shù)據(jù)集中會包含大量重復的記錄,需要將重復的日志記錄去除;最后是日志記錄分段,一般日志數(shù)據(jù)格式:時間-日志等級-服務名稱-發(fā)生的事件。這樣一條原始日志數(shù)據(jù)用戶無法進行閱讀,因此需要對日志記錄進行分段,不同的詞段代表不同的含義。

    2.2.2 多層次的日志數(shù)據(jù)存儲服務

    日志數(shù)據(jù)存儲服務:日志數(shù)據(jù)存儲服務是服務層的一個重要構(gòu)成部分,負責對原始數(shù)據(jù)以及預處理后的數(shù)據(jù)進行存儲。應用軟件的運行日志具有以下特點[9]:

    (1)數(shù)據(jù)容量巨大。應用軟件運行時會產(chǎn)生海量的上下文日志信息,這些數(shù)據(jù)隱含了海量有價值的支持故障診斷的數(shù)據(jù)信息,是后續(xù)工作得以進行的前提,因此需要一個海量數(shù)據(jù)存儲系統(tǒng)支持原始日志數(shù)據(jù)的存儲。

    (2)數(shù)據(jù)產(chǎn)生速度快。隨著應用服務的不斷增多,處理用戶請求也越來越多,每秒產(chǎn)生的應用軟件運行日志記錄數(shù)也越大,使得對日志數(shù)據(jù)量的精確預計變得困難,這對存儲系統(tǒng)的水平擴展能力提出了更高的要求。

    (3)異構(gòu)的日志記錄結(jié)構(gòu)。原始日志記錄的格式根據(jù)運行時場景提供日志記錄信息,通常Debug日志會包含服務方法的參數(shù)信息,Error日志會包含異常堆棧信息,Info日志則含有相對簡略的信息。

    以上闡述存儲的日志數(shù)據(jù)的特點,恰好符合大數(shù)據(jù)規(guī)模大、速度快、多樣性特點,表明了應用軟件運行日志數(shù)據(jù)實質(zhì)上是一種大數(shù)據(jù)。

    目前的常見的數(shù)據(jù)庫類型包括關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫,關(guān)系型數(shù)據(jù)庫優(yōu)點包括:

    (1)數(shù)據(jù)的結(jié)構(gòu)化。數(shù)據(jù)庫中的數(shù)據(jù)并不是雜亂無章、毫不相干的,它們具有一定的組織結(jié)構(gòu),屬于同一集合的數(shù)據(jù)具有相似的特征。關(guān)系型數(shù)據(jù)庫的模型一般用二維表來表示,二維表結(jié)構(gòu)是非常貼近邏輯世界一個概念,關(guān)系模型相對網(wǎng)狀、層次等其他模型來說更容易理解。

    (2)數(shù)據(jù)的安全性。關(guān)系型數(shù)據(jù)庫對每次數(shù)據(jù)的訪問都有中介,這種狹窄的接口有助于數(shù)據(jù)安全。

    (3)數(shù)據(jù)的完整性。數(shù)據(jù)的完整性是指保證數(shù)據(jù)庫中數(shù)據(jù)的正確性。可能造成數(shù)據(jù)不正確的原因很多,關(guān)系型數(shù)據(jù)庫通過對數(shù)據(jù)性質(zhì)進行檢查而管理它們。豐富的完整性(實體完整性、參照完整性和用戶定義的完整性)大大減低了數(shù)據(jù)冗余和數(shù)據(jù)不一致的概率。

    (4)數(shù)據(jù)的靈活性。關(guān)系型數(shù)據(jù)庫不是把數(shù)據(jù)簡單堆積,它在記錄數(shù)據(jù)信息的基礎上具有很多的管理功能,如輸入、輸出、查詢、編輯修改等,同時它的操作基于集合運算與謂詞演算,非常靈活。

    非關(guān)系型數(shù)據(jù)庫優(yōu)點包括:

    (1)不需要預定義模式:不需要事先定義數(shù)據(jù)模式,預定義表結(jié)構(gòu)。數(shù)據(jù)中的每條記錄都可能有不同的屬性和格式。當插入數(shù)據(jù)時,并不需要預先定義它們的模式,因此在大數(shù)據(jù)量的情況下,非關(guān)系型數(shù)據(jù)庫表現(xiàn)出非常高的讀寫性能。

    (2)基于鍵值對,數(shù)據(jù)沒有耦合性,容易擴展;并且非關(guān)系型數(shù)據(jù)庫在不太影響性能的情況下就可以方便地實現(xiàn)高可用的架構(gòu)。

    (3)存儲數(shù)據(jù)的格式:nosql的存儲格式是key,value形式、文檔形式、圖片形式等等,而關(guān)系型數(shù)據(jù)庫則只支持基礎類型。

    以上介紹了兩種數(shù)據(jù)庫的優(yōu)點,但事實上這還存在不少缺點:

    (1)關(guān)系型數(shù)據(jù)庫為了維護一致性所付出的巨大代價就是其讀寫性能比較差;固定的表結(jié)構(gòu);高并發(fā)讀寫需求;海量數(shù)據(jù)的高效率讀寫難以支持。

    (2)非關(guān)系型數(shù)據(jù)缺點是不提供sql支持,學習和使用成本較高,例如用戶查詢這樣的工作成本會很高;無事務處理,附加功能和報表等支持也不好。

    由以上可以看出關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫各有優(yōu)缺點,但是某種程度上兩種數(shù)據(jù)庫又可以互補。本文中如果采用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫對原始日志數(shù)據(jù)進行存儲管理,將會出現(xiàn)難以支持海量數(shù)據(jù)存儲的問題,所以需要設計一種適合大數(shù)據(jù)量日志存儲的數(shù)據(jù)存儲結(jié)構(gòu)。因此利用基于海量數(shù)據(jù)的分布式非關(guān)系數(shù)據(jù)庫來對大數(shù)據(jù)日志進行存儲,但一般的基于海量數(shù)據(jù)的分布式非關(guān)系數(shù)據(jù)庫對服務層的日志數(shù)據(jù)插入刪除修改的支持比較薄弱,而傳統(tǒng)的關(guān)系型數(shù)據(jù)庫對插入刪除的支持比較好,但是對大數(shù)據(jù)存儲這塊比較薄弱,為了解決兩者的矛盾,并將兩種數(shù)據(jù)庫的優(yōu)點體現(xiàn)出來,本文將二者相結(jié)合,將日志數(shù)據(jù)分為兩種:一種是原始日志數(shù)據(jù),當前數(shù)據(jù)會存放到關(guān)系型數(shù)據(jù)庫集群中;另一種是預處理后的日志數(shù)據(jù),預處理后的日志數(shù)據(jù)存放到基于海量數(shù)據(jù)的分布式非關(guān)系數(shù)據(jù)庫中,這樣對原始日志數(shù)據(jù)進行插入刪除修改可以在關(guān)系型數(shù)據(jù)庫集群中進行,對預處理后的日志數(shù)據(jù)進行查詢的工作放在基于海量數(shù)據(jù)的分布式非關(guān)系數(shù)據(jù)庫中執(zhí)行,通過這種多層次的數(shù)據(jù)庫存儲結(jié)構(gòu),既保障了對原始日志數(shù)據(jù)的增添修改,又解決了對大數(shù)據(jù)量日志數(shù)據(jù)的存儲問題。

    2.3 日志數(shù)據(jù)應用層

    應用層是面向用戶的,目的是為用戶提供預處理后的日志數(shù)據(jù),預處理后的數(shù)據(jù)會存放在服務層的數(shù)據(jù)庫中,本文通過提供多條件查詢服務接口,向用戶提供查詢服務,用戶可以根據(jù)不同的需求來查詢?nèi)罩緮?shù)據(jù)[10]。

    2.4 框架中的數(shù)據(jù)流

    整個日志數(shù)據(jù)框架的數(shù)據(jù)流如圖2所示。

    日志框架的數(shù)據(jù)通過分布式收集策略從各個節(jié)點上收集而來,這也是數(shù)據(jù)的來源。數(shù)據(jù)收集之后通過消息隊列發(fā)送到日志數(shù)據(jù)服務層進行數(shù)據(jù)預處理,經(jīng)過處理后的數(shù)據(jù)發(fā)送到數(shù)據(jù)庫進行存儲,并建立索引,為用戶提供處理后的日志數(shù)據(jù)以及原始日志數(shù)據(jù)的查詢。

    3 系統(tǒng)實現(xiàn)

    由于日志數(shù)據(jù)服務框架所具有的層次性,本文采用了多種不同的技術(shù)來滿足不同層次上的服務,如圖3所示。

    3.1 日志數(shù)據(jù)資源層

    日志數(shù)據(jù)收集服務:資源層負責對原始日志數(shù)據(jù)進行收集,能夠?qū)⑿庐a(chǎn)生的日志數(shù)據(jù)實時發(fā)送到收集端,如圖4是資源層日志數(shù)據(jù)收集的一個具體流程,從圖中可以看出日志收集工作通過分布式收集策略來完成,整個分布式收集結(jié)構(gòu)由子節(jié)點和父節(jié)點以及數(shù)據(jù)庫構(gòu)成,其中每個子節(jié)點由三部分構(gòu)成,包括source、channel、sink,source是數(shù)據(jù)來源,channel是數(shù)據(jù)進行傳輸?shù)耐ǖ?,sink用于將數(shù)據(jù)傳輸?shù)街付ǖ胤?,當每個子節(jié)點上的原始日志數(shù)據(jù)產(chǎn)生后,會通過當前子節(jié)點上的Agent傳遞給對應的日志收集器Collector。日志數(shù)據(jù)收集器Collector具有實時管道傳輸能力,可以處理各式各樣的數(shù)據(jù),并可以將這些數(shù)據(jù)集中起來以統(tǒng)一的格式發(fā)送到目的地。這三者之間通過event來觸發(fā)和協(xié)調(diào),當Collector收到數(shù)據(jù)后會對數(shù)據(jù)進行聚合,產(chǎn)生一個更大的數(shù)據(jù)流,最后傳輸?shù)綌?shù)據(jù)庫中。

    3.2 日志數(shù)據(jù)服務層

    本文的日志數(shù)據(jù)一般分為兩類,第一類就是從各個應用軟件上采集的原始日志數(shù)據(jù)。這類日志數(shù)據(jù)信息量很大但雜亂不堪。本文將這類原始日志數(shù)據(jù)進行歸檔,由于此類數(shù)據(jù)不會被高頻訪問,對實時性要求也不高,因此在規(guī)范化后會存儲到MySQL集群當中。第二類就是通過預處理的日志數(shù)據(jù),此類數(shù)據(jù)對于故障診斷等日志分析工作有很重要的意義,因此這些數(shù)據(jù)將會被頻繁地訪問。因此這類數(shù)據(jù)本文中考慮存儲到性能較高的分布式數(shù)據(jù)庫Hbase中。如何將關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫結(jié)合,并設計出適合日志數(shù)據(jù)存儲的規(guī)范化數(shù)據(jù)結(jié)構(gòu)是日志數(shù)據(jù)存儲服務的核心部分[11]。

    圖2 框架數(shù)據(jù)流

    圖3 日志數(shù)據(jù)服務框架技術(shù)實現(xiàn)

    圖4 數(shù)據(jù)收集流程圖

    關(guān)系型數(shù)據(jù)庫存儲:如表1所示,可以看到的是關(guān)系型數(shù)據(jù)庫MySQL的數(shù)據(jù)庫表設計。

    表1 MySQL數(shù)據(jù)庫表

    設計完MySQL數(shù)據(jù)庫表后,資源層上的日志數(shù)據(jù)收集服務會將原始日志數(shù)據(jù)導入服務層,先將原始數(shù)據(jù)存入關(guān)系型數(shù)據(jù)庫集群中,在服務層本文調(diào)用日志數(shù)據(jù)存儲服務將數(shù)據(jù)存儲到Mysql集群中,如圖3所示,這里本文中采用了MySQL Cluster來搭建數(shù)據(jù)庫集群。

    規(guī)范化日志數(shù)據(jù):通過日志數(shù)據(jù)收集服務收集原始日志數(shù)據(jù)后,為了方便對原始日志數(shù)據(jù)進行查詢修改,本文將原始日志數(shù)據(jù)發(fā)送到MySQL數(shù)據(jù)庫集群中,原始日志數(shù)據(jù)的格式一般包括如時間-日志等級-發(fā)生的事件,這樣的日志數(shù)據(jù)很不規(guī)范,如果直接將這樣的原始日志數(shù)據(jù)直接存入Hbase數(shù)據(jù)庫,數(shù)據(jù)庫將會浪費大量的時間在解析原始數(shù)據(jù)上,造成整個多層次日志數(shù)據(jù)存儲效率低下,因此必須對日志數(shù)據(jù)格式規(guī)范化,在原始日志數(shù)據(jù)中,每條日志記錄都包含一些主要的信息和次要信息,如一條應用程序的運行日志記錄可能包含:服務ID、服務開始時間、發(fā)生的事件、請求類型等。但對于一般用戶來說,有些信息不是非常重要的,比如服務ID等,有些信息可以通過預處理轉(zhuǎn)化為用戶所需要的信息,因此對于不用的日志數(shù)據(jù)需求,需要進行日志記錄的規(guī)范化處理。

    規(guī)范化格式處理是為了達到以下兩個目的:可擴展性、簡單化??蓴U展性目的是為了容納不同類型的應用程序日志使日志在類型上沒有約束,簡單化是為了規(guī)范化后的日志數(shù)據(jù)在被用戶拿來做日志分析時能夠提高效率,如圖5所示本文將原始日志數(shù)據(jù)格式劃分為三部分:日志索引、日志記錄體以及日志等級。

    圖5 日志數(shù)據(jù)結(jié)構(gòu)圖

    日志索引是整個日志數(shù)據(jù)存儲格式的核心,為每個日志服務定義一個服務ID,作為主鍵索引便于快速檢索定位日志記錄,提高了預處理以及之后的查詢服務的效率;日志記錄體存放日志數(shù)據(jù)本身的信息,日志記錄體對于日志系統(tǒng)來說是透明的,日志系統(tǒng)通過對這些信息的分析來進行故障診斷;為了更詳細地控制日志數(shù)據(jù)輸出的級別,本文將日志等級分為三個等級INFO、ERROR、DEBUG。如表2所示就是經(jīng)過規(guī)范化后的日志數(shù)據(jù)格式。

    表2 規(guī)范化后的日志數(shù)據(jù)格式

    在圖3可以看出規(guī)范化后的日志數(shù)據(jù)進入MySQL集群后會分布到不同的ndbd節(jié)點上,然后通過NDB引擎來進行存儲操作。管理節(jié)點(也可以稱管理服務器)主要負責管理數(shù)據(jù)節(jié)點和SQL節(jié)點,還有群集配置文件和群集日志文件。它監(jiān)控其他節(jié)點的工作狀態(tài),能夠啟動、關(guān)閉或重啟某個節(jié)點。數(shù)據(jù)節(jié)點用于存儲數(shù)據(jù)。SQL節(jié)點跟一般的MySQL服務器是一樣的,可以通過它進行SQL操作。

    當原始數(shù)據(jù)存儲到MySQL集群后,隨即導入Spark,通過Spark Streaming對原始數(shù)據(jù)進行過濾、去重和日志記錄分段的預處理工作,Spark Streaming是建立在Spark上的實時計算框架,它將流式計算分解成短小的批處理作業(yè),交給Spark引擎處理,每一段日志數(shù)據(jù)都轉(zhuǎn)換為Spark中的RDD,然后將Spark Streaming中對DStream的操作變?yōu)獒槍park中對RDD的Transformation的操作。這里用戶可以根據(jù)自己的選擇將自己所需要的日志數(shù)據(jù)記錄通過預處理單獨提取出來,隨后將預處理后的結(jié)果導入Hbase進行存儲。

    非關(guān)系型數(shù)據(jù)庫存儲:在HBase中,通過劃分region的方式,來管理大規(guī)模的分布式數(shù)據(jù)庫。預處理后的數(shù)據(jù)會按照記錄為單位存入,本文使用定制的MapReduce Job方式來將預處理后的數(shù)據(jù)導入Hbase。由于HBase底層的文件存儲系統(tǒng)是HDFS。因此仍然具備HDFS高容錯的優(yōu)點,同時HBase提供索引機制,也方便了其他應用訪問日志數(shù)據(jù)[12]。

    在本文中根據(jù)日志等級將預處理后的日志數(shù)據(jù)分為3種:INFO、ERROR、DEBUG,分別對應3個表。INFO表通常用一個事物來表示上下文執(zhí)行信息,ERROR表的每一行通常表示一個事物執(zhí)行失敗時產(chǎn)生的上下文執(zhí)行信息,Debug表通常表示一個事物執(zhí)行步驟時所產(chǎn)生的上下文信息。

    如表3所示,可以看到的是Hbase的存儲處理后的日志數(shù)據(jù)的邏輯物理設計模型。這里本文選用了日志等級INFO表作為例子。INFO日志記錄信息的字段包括服務ID(ID)、時間戳(Time)、日志等級(Level)、服務時間內(nèi)發(fā)生的事件(Event),通過這種日志存儲模型用戶可以通過日志類型以及服務ID的組合直接獲取到所需要的日志數(shù)據(jù)。

    表3 Hbase邏輯物理設計模型

    3.3 日志數(shù)據(jù)應用層

    日志數(shù)據(jù)查詢服務:經(jīng)過預處理的日志數(shù)據(jù)存儲到Hbase數(shù)據(jù)庫中后,用戶需要對日志數(shù)據(jù)庫進行查詢以便獲得所需要的日志數(shù)據(jù)。Hbase本身只支持基于rowkey的查詢方式,用戶并不知道需要查詢數(shù)據(jù)的rowkey,只能通過關(guān)鍵字對日志數(shù)據(jù)進行查詢,為了滿足用戶的這種多條件查詢需求,本文采用基于Solr的HBase多條件查詢?yōu)橛脩籼峁┓?,通過Solr將HBase數(shù)據(jù)庫中數(shù)據(jù)按照不同條件封裝起來,用戶可以按照不同的需求對經(jīng)過預處理的日志數(shù)據(jù)進行條件查詢,獲得自己所需要的日志數(shù)據(jù)。

    如圖6所示,本文將Hbase表中涉及條件過濾的字段和rowkey在Solr中建立索引,通過Solr的多條件查詢快速獲得符合過濾條件的rowkey值,拿到這些rowkey之后在Hbase中通過指定rowkey進行查詢,最后將結(jié)果返回數(shù)據(jù)集給用戶。由于日志數(shù)據(jù)是一種大數(shù)據(jù)量的數(shù)據(jù),因此傳統(tǒng)的單鍵索引已經(jīng)不適合用于日志數(shù)據(jù)的查詢,因此本文將在Solr上建立一個鍵組合索引,針對規(guī)范化后的日志數(shù)據(jù)的特點,本文在Time、Skype和ID這3個鍵字段上建立索引,并按照Time進行降序排序。

    圖6 日志數(shù)據(jù)查詢流程圖

    日志查詢服務可以實現(xiàn)根據(jù)關(guān)鍵字和日志產(chǎn)生的時間進行查詢。根據(jù)關(guān)鍵字查詢是指基于特定的語法進行查詢,一句條件篩選符合條件的字段類型或者字段內(nèi)容的日志信息;根據(jù)時間查詢包括相對時間查詢(相對定義的時間點之前時間點的記錄)和絕對時間查詢(自定義時間查詢)。

    4 案例研究

    為了對本文提出的日志數(shù)據(jù)收集與處理方法進行驗證可行性以及同傳統(tǒng)的日志收集與分析系統(tǒng)進行對比,在一個真實的環(huán)境中進行了案例的部署和研究,測試環(huán)境是由3臺物理機構(gòu)成,這3臺物理機構(gòu)成了一個Spark集群,其中兩臺作為從節(jié)點,一臺作為主節(jié)點,主機的操作系統(tǒng)都為Ubuntu,主節(jié)點作為調(diào)度分配任務存在的,從節(jié)點才是真正計算的部分。主節(jié)點是DELL PowerEdge M630,它有2個6核E5-2609 v3處理器,1.9 GHz,15 MB緩存,64 GB DDR4內(nèi)存,2塊300 GB 10K 2.5′SAS硬盤。從節(jié)點是DELL PowerEdge M630,2個8核Xeon E5-2640 v3處理器,2.6 GHz,20 MB緩存,128 GB DDR4內(nèi)存,2塊300 GB 10K 2.5′SAS硬盤。這些硬件設備之間通過萬兆網(wǎng)卡相連;同時這3臺物理機也搭建了MySQL集群,負責提供關(guān)系型數(shù)據(jù)庫服務。

    本文所用的數(shù)據(jù)來源采用了某綜合減災空間信息服務應用系統(tǒng)的日志數(shù)據(jù),該應用系統(tǒng)的目標是從空間和時間的維度可視化自然災害的風險和損失,為各項災害管理工作各階段提供直觀的信息,并提供產(chǎn)品、技術(shù)、決策等服務,保障了防災減災工作的有效進行。該應用系統(tǒng)采用面向服務的體系架構(gòu)(SOA),包含一系列具有獨立功能的Web組件。本文從該系統(tǒng)得到的數(shù)據(jù)分為三種,分別為樣本數(shù)據(jù)(100 MB)、一個月的數(shù)據(jù)(700 MB)、一年的完整數(shù)據(jù)(4.96 GB)。日志數(shù)據(jù)收集與服務處理框架應用案例如圖7所示。

    4.1 日志數(shù)據(jù)處理流程

    由圖7可以看出在本案例中日志數(shù)據(jù)資源層負責收集某綜合減災空間信息服務應用系統(tǒng)產(chǎn)生的日志數(shù)據(jù),收集到的原始日志數(shù)據(jù)如圖8所示。

    經(jīng)過規(guī)范化后Spark分布式處理系統(tǒng)會調(diào)用MySQL中的原始數(shù)據(jù),通過RDD模塊進行日志數(shù)據(jù)預處理,再將處理過的數(shù)據(jù)存儲到Hbase數(shù)據(jù)庫中。預處理后的日志數(shù)據(jù)如表4所示。

    圖7 日志數(shù)據(jù)收集與服務處理框架應用案例

    表4 預處理后的日志數(shù)據(jù)

    圖8 原始日志數(shù)據(jù)

    如表4可以看到Hbase的數(shù)據(jù)庫表和字段,最后用戶通過應用層提供的日志數(shù)據(jù)查詢服務得到精確化的日志數(shù)據(jù)。如圖9所示,用戶查詢了在時間點之間的Error日志,結(jié)果會返回在這個時間點之間發(fā)生錯誤的時間以及發(fā)生錯誤的服務ID。由以上可知,本文提出的日志收集與服務處理框架能夠有效地完成對日志數(shù)據(jù)收集與處理的任務,并向用戶提供所需要的查詢結(jié)果。從而驗證了本文提出的日志數(shù)據(jù)收集與服務處理框架的實用性。

    本文選用通過JSON數(shù)據(jù)格式給出,因為JSON是一種輕量級的數(shù)據(jù)交換格式,采用完全獨立于語言的文本格式,易于閱讀和編寫,同時也易于數(shù)據(jù)解析,傳輸JSON格式的日志數(shù)據(jù)帶來的傳輸負載很小,非常符合日志數(shù)據(jù)傳輸?shù)囊?。如圖10所示,截取了一段用戶查詢的處理后的日志數(shù)據(jù)。

    圖9 日志數(shù)據(jù)查詢結(jié)果

    圖10 預處理后日志數(shù)據(jù)查詢結(jié)果

    4.2 實用性測試

    為了測試查詢服務的效率,這里對不同數(shù)據(jù)量下的日志數(shù)據(jù)進行數(shù)據(jù)查詢,比較響應時間和響應數(shù)。本文以日志記錄的條數(shù)為基準比較不同數(shù)據(jù)量下,每個請求的時長。

    從圖11中可以看出,日志數(shù)據(jù)量的增大,導致查詢的響應時間呈現(xiàn)出先減后升的趨勢,這是因為日志查詢服務會對查詢結(jié)果進行緩存,可以看到當用戶查詢?nèi)罩緮?shù)量達到50 000條時,響應時間仍然保持在80 ms水平,說明了整個查詢服務能夠保證良好的用戶體驗。

    圖11 日志數(shù)據(jù)查詢測試結(jié)果

    4.3 對比分析

    為了評價本文日志框架的價值,同常用的ELK分布式日志系統(tǒng)以及Chukwa進行對比,ELK是一種日志收集分析平臺,由ElasticSearch、Logstash和Kiabana 3個開源工具組成,所以被稱為ELK。chukwa是一個開源的用于監(jiān)控大型分布式系統(tǒng)的數(shù)據(jù)收集系統(tǒng)。這是構(gòu)建在hadoop的hdfs和map/reduce框架之上的,繼承了hadoop的可伸縮性和魯棒性。Chukwa還包含了一個強大和靈活的工具集,可用于展示、監(jiān)控和分析已收集的數(shù)據(jù)。這里對日志數(shù)據(jù)處理日志數(shù)據(jù)所占用的時間與CPU利用率進行比較,實驗使用系統(tǒng)監(jiān)控工具Nagios對兩者分別監(jiān)控。如圖12所示,隨著日志數(shù)據(jù)集的不斷增大,整個CPU的利用率會緩慢提高。日志數(shù)量達到50 000條時,Chukwa的CPU使用率達到了25.3%,ELK的CPU使用率達到了22.6%,而本文的日志框架的CPU使用率達到了22.3%,可以看出三者之間沒有太大的區(qū)別,但隨著日志數(shù)量的不斷增多,本文的日志框架CPU使用率相比其他兩者略有降低,因此從CPU使用率來看本文中的日志框架在處理大數(shù)據(jù)量日志數(shù)據(jù)時相對這些已經(jīng)成熟使用的日志收集分析系統(tǒng)來說有一定優(yōu)勢。

    圖12 CPU使用率對比圖

    圖13是對以上三種不同日志收集分析系統(tǒng),從處理日志數(shù)據(jù)到查詢?nèi)罩緮?shù)據(jù)結(jié)束所占用的時間進行了比較。這里本文對1到100個日志文件進行測試,每個文件單位時間內(nèi)所產(chǎn)生的日志數(shù)據(jù)量為30 kb,同時在不同時間段內(nèi)進行采樣,最終取平均值,實驗結(jié)果如下:隨著日志文件的增多每條記錄從產(chǎn)生到進行日志處理與查詢所耗費的時間也隨之增大,當達到50個日志文件時,本文的日志框架所消耗的時間同ElK與Chukwa所消耗的時間相比略長,但到100個日志文件時,所消耗的時間相比ELK與Chukwa已經(jīng)有所減少,因此可以說明在處理大數(shù)據(jù)量日志數(shù)據(jù)時本文提出的框架相比傳統(tǒng)的ELK以及Chukwa有一定優(yōu)勢。

    圖13 處理時間對比圖

    5 結(jié)束語

    應用程序運行過程中會產(chǎn)生大量的操作痕跡,如何快速地收集這些日志操作痕跡去生成日志數(shù)據(jù),存儲日志數(shù)據(jù),并根據(jù)這些日志數(shù)據(jù)向用戶提供下一步的服務,具有很大的意義。本文提出了一種面向應用層程序運行日志的收集與服務處理框架,該方法利用分布式收集策略實現(xiàn)了針對應用程序的運行日志的收集,利用Spark對日志數(shù)據(jù)進行預處理,并且利用了Hbase數(shù)據(jù)庫以及MySQL數(shù)據(jù)庫集群實現(xiàn)了對日志數(shù)據(jù)的存儲,最后通過自定義的日志服務向用戶提供日志數(shù)據(jù)查詢。相比傳統(tǒng)的日志收集處理方案,這種日志收集與服務處理框架有諸多優(yōu)點:首先,日志數(shù)據(jù)采用實時采集并通過數(shù)據(jù)庫保存,因此可以對某些數(shù)據(jù)進行實時分析。其次,該框架考慮到日志數(shù)據(jù)的特點,采用大數(shù)據(jù)平臺對日志數(shù)據(jù)進行處理,并通過多層次的數(shù)據(jù)庫存儲來滿足不同類型日志數(shù)據(jù)的存儲需求。最后,該框架可以滿足用戶的個性化需求。在接下來的研究工作中,將進一步考慮如何進一步降低本文框架處理日志數(shù)據(jù)時CPU使用率的問題,并且提高整個框架的穩(wěn)定性。

    [1]付博,趙世奇,劉挺.Web查詢?nèi)罩狙芯烤C述[J].電子學報,2013,41(9):1800-1808.

    [2]Fu Q,Zhu J,Hu W,et al.Where do developers log?An empiricalstudy on logging practices in industry[C]//36th International Conference on Software Engineering(ICSE),2014:24-33.

    [3]廖湘科,李姍姍,董威,等.大規(guī)模軟件系統(tǒng)日志研究綜述[J].軟件學報,2016,27(8):1934-1947.

    [4]韋勇,連一峰.基于日志審計與性能修正算法的網(wǎng)絡安全態(tài)勢評估模型[J].計算機學報,2009,32(4):763-772.

    [5]劉虎球,馬超,白家駒.面向驅(qū)動配置的自動日志插入方法研究[J].計算機學報,2013,36(10):1982-1992.

    [6]李玉榮,楊樹強,賈焰,等.分布式日志服務關(guān)鍵技術(shù)研究[J].計算機工程與應用,2006,42(7):116-118.

    [7]周江,王偉平,孟丹,等.面向大數(shù)據(jù)分析的分布式文件系統(tǒng)關(guān)鍵技術(shù)[J].計算機研究與發(fā)展,2014,51(2):382-394.

    [8]申利民,張旭暉.面向SAAS模式的日志架構(gòu)設計與實現(xiàn)[J].計算機應用與軟件,2011,28(12):57-59.

    [9]崔杰,李陶深,蘭紅星.基于Hadoop的海量數(shù)據(jù)存儲平臺設計與開發(fā)[J].計算機研究與發(fā)展,2012,49(s1):12-18.

    [10]鐘武,胡守仁.一種分布式數(shù)據(jù)庫查詢優(yōu)化算法[J].計算機學報,1997(11):1024-1033.

    [11]薛永慶,徐維祥.一種適應大型數(shù)據(jù)庫的多支持度關(guān)聯(lián)規(guī)則算法[J].計算機工程與應用,2008,44(2):182-185.

    [12]宛婉,周國祥.Hadoop平臺的海量數(shù)據(jù)并行隨機抽樣[J].計算機工程與應用,2014,50(20):115-118.

    [13]Zhu Jieming,He Pinjia,F(xiàn)u Qiang,et al.Learning to log:helping developers make informed logging decisions[C]//IEEE/ACM 37th IEEE International Conference on Software Engineering,2015:415-425.

    [14]Cinque M,Cotroneo D,Pecchia A.Event logs for the analysis of software failures:a rule-based approach[J].IEEE Transactions on Software Engineering,2013,39.

    [15]Lan Z,Zheng Z,Li Y.Toward automated anomaly identification in large-scale systems[J].IEEE Transactions on Parallel&Distributed Systems,2010,21(2):174-187.

    [16]Rabkin A,Xu W,Wildani A,et al.A graphical representation for identifier structure in logs[C]//The Workshop on Managing Systems Via Log Analysis&Machine Learning,2010.

    [17]Salfner F,Tschirpke S,Malek M.Comprehensive logfiles for autonomic systems[C]//International Parallel and Distributed Processing Symposium,2004.

    猜你喜歡
    日志預處理分布式
    一名老黨員的工作日志
    華人時刊(2021年13期)2021-11-27 09:19:02
    扶貧日志
    心聲歌刊(2020年4期)2020-09-07 06:37:14
    分布式光伏熱錢洶涌
    能源(2017年10期)2017-12-20 05:54:07
    游學日志
    基于預處理MUSIC算法的分布式陣列DOA估計
    制導與引信(2017年3期)2017-11-02 05:16:56
    分布式光伏:爆發(fā)還是徘徊
    能源(2017年5期)2017-07-06 09:25:54
    淺談PLC在預處理生產(chǎn)線自動化改造中的應用
    基于DDS的分布式三維協(xié)同仿真研究
    雷達與對抗(2015年3期)2015-12-09 02:38:50
    絡合萃取法預處理H酸廢水
    基于自適應預處理的改進CPF-GMRES算法
    欧美精品高潮呻吟av久久| 热re99久久国产66热| 美女福利国产在线| 精品国产超薄肉色丝袜足j| www.av在线官网国产| 日韩人妻精品一区2区三区| 国产一区亚洲一区在线观看| 亚洲自偷自拍图片 自拍| 999精品在线视频| 欧美精品高潮呻吟av久久| 老司机影院毛片| 欧美日韩福利视频一区二区| 高清不卡的av网站| 18禁观看日本| 91精品三级在线观看| 一区二区三区精品91| 久久久精品94久久精品| 亚洲熟女毛片儿| 久热这里只有精品99| 欧美日韩一区二区视频在线观看视频在线| 爱豆传媒免费全集在线观看| 曰老女人黄片| 80岁老熟妇乱子伦牲交| 这个男人来自地球电影免费观看 | 国产免费又黄又爽又色| 亚洲一码二码三码区别大吗| svipshipincom国产片| 一本久久精品| 午夜福利视频在线观看免费| 最近中文字幕2019免费版| 日韩精品有码人妻一区| 卡戴珊不雅视频在线播放| 国产一级毛片在线| 看十八女毛片水多多多| 中国三级夫妇交换| 一边摸一边抽搐一进一出视频| 亚洲成人免费av在线播放| 免费高清在线观看日韩| 少妇的丰满在线观看| 美国免费a级毛片| 久久精品国产a三级三级三级| 五月开心婷婷网| 美女主播在线视频| 卡戴珊不雅视频在线播放| 国产欧美日韩一区二区三区在线| 亚洲成色77777| 视频区图区小说| 少妇猛男粗大的猛烈进出视频| 国产精品久久久久久久久免| 在线天堂中文资源库| 国产熟女午夜一区二区三区| 欧美日韩视频高清一区二区三区二| 欧美成人午夜精品| 捣出白浆h1v1| 极品人妻少妇av视频| 午夜日韩欧美国产| 国产在线一区二区三区精| 成人亚洲精品一区在线观看| 亚洲一级一片aⅴ在线观看| 亚洲综合精品二区| 一区二区日韩欧美中文字幕| 黄片无遮挡物在线观看| 美女福利国产在线| 欧美在线黄色| 亚洲av欧美aⅴ国产| 亚洲精品国产一区二区精华液| 久久久久精品性色| 免费在线观看完整版高清| 久久精品国产亚洲av高清一级| 亚洲av中文av极速乱| 亚洲免费av在线视频| 最近中文字幕高清免费大全6| 一级毛片我不卡| 麻豆乱淫一区二区| 在线观看一区二区三区激情| 满18在线观看网站| 久久午夜综合久久蜜桃| 免费黄网站久久成人精品| 亚洲中文av在线| 日韩精品有码人妻一区| 99久国产av精品国产电影| 在线观看一区二区三区激情| 久久99精品国语久久久| 91精品国产国语对白视频| 午夜精品国产一区二区电影| 狠狠婷婷综合久久久久久88av| 各种免费的搞黄视频| 色婷婷久久久亚洲欧美| 国产成人午夜福利电影在线观看| 一区二区三区精品91| 久久久久久久精品精品| 亚洲精品一区蜜桃| 一级片免费观看大全| 免费av中文字幕在线| 亚洲精品成人av观看孕妇| 宅男免费午夜| 日韩不卡一区二区三区视频在线| 在现免费观看毛片| a级片在线免费高清观看视频| 亚洲精品,欧美精品| 日本av手机在线免费观看| 在线亚洲精品国产二区图片欧美| 亚洲人成77777在线视频| 亚洲av男天堂| 国产精品一区二区精品视频观看| 十八禁网站网址无遮挡| 国产极品粉嫩免费观看在线| 热99国产精品久久久久久7| 巨乳人妻的诱惑在线观看| 交换朋友夫妻互换小说| 亚洲精品久久午夜乱码| 九九爱精品视频在线观看| 国产又色又爽无遮挡免| 成人亚洲精品一区在线观看| 满18在线观看网站| 看免费av毛片| 日本一区二区免费在线视频| 成人三级做爰电影| 精品第一国产精品| 久久韩国三级中文字幕| 在线免费观看不下载黄p国产| 老熟女久久久| 在线精品无人区一区二区三| 久久99一区二区三区| 久久久久精品久久久久真实原创| 亚洲av电影在线观看一区二区三区| 女人爽到高潮嗷嗷叫在线视频| 如何舔出高潮| 欧美老熟妇乱子伦牲交| 久久99一区二区三区| 性少妇av在线| 校园人妻丝袜中文字幕| 亚洲五月色婷婷综合| 久久精品熟女亚洲av麻豆精品| av电影中文网址| 无遮挡黄片免费观看| 亚洲精品aⅴ在线观看| 久久久久人妻精品一区果冻| 亚洲国产精品国产精品| 亚洲国产精品一区二区三区在线| 久久久久久久精品精品| 欧美在线黄色| av福利片在线| 丝袜脚勾引网站| 欧美老熟妇乱子伦牲交| 一本色道久久久久久精品综合| 丝袜脚勾引网站| 亚洲男人天堂网一区| 午夜老司机福利片| 一边摸一边做爽爽视频免费| 久久国产精品大桥未久av| 国产亚洲欧美精品永久| 国产精品蜜桃在线观看| 国产成人精品无人区| 亚洲av电影在线观看一区二区三区| 午夜精品国产一区二区电影| 色精品久久人妻99蜜桃| 丝袜美足系列| 日韩电影二区| bbb黄色大片| www日本在线高清视频| 久久天堂一区二区三区四区| 亚洲欧美成人综合另类久久久| 不卡av一区二区三区| 亚洲人成网站在线观看播放| 色吧在线观看| 国产 精品1| 十八禁网站网址无遮挡| 成人三级做爰电影| 免费黄网站久久成人精品| 国产免费福利视频在线观看| 久久青草综合色| 丝袜喷水一区| 婷婷色综合大香蕉| 亚洲一区中文字幕在线| 精品酒店卫生间| 久久久久视频综合| 国产精品蜜桃在线观看| 男女边摸边吃奶| 国产av国产精品国产| 国产成人系列免费观看| 99精品久久久久人妻精品| 高清欧美精品videossex| 亚洲精华国产精华液的使用体验| 十分钟在线观看高清视频www| 韩国av在线不卡| 久久女婷五月综合色啪小说| 成人漫画全彩无遮挡| 亚洲av在线观看美女高潮| 欧美精品一区二区大全| 毛片一级片免费看久久久久| 1024香蕉在线观看| 日韩一卡2卡3卡4卡2021年| 曰老女人黄片| 99精国产麻豆久久婷婷| 亚洲精品久久午夜乱码| 国产精品久久久人人做人人爽| 操出白浆在线播放| 亚洲欧美一区二区三区国产| 欧美日韩综合久久久久久| 黑人猛操日本美女一级片| 狠狠精品人妻久久久久久综合| 男女之事视频高清在线观看 | 久久影院123| 人人妻,人人澡人人爽秒播 | 最新在线观看一区二区三区 | 亚洲av成人不卡在线观看播放网 | 天天添夜夜摸| 久久人人爽av亚洲精品天堂| 一级爰片在线观看| 久久精品久久久久久噜噜老黄| 中文乱码字字幕精品一区二区三区| 深夜精品福利| 午夜久久久在线观看| 中文字幕亚洲精品专区| 丝袜人妻中文字幕| 亚洲欧美一区二区三区久久| 看免费成人av毛片| 亚洲精品国产色婷婷电影| av线在线观看网站| 国产黄频视频在线观看| 亚洲国产精品成人久久小说| 国产精品一区二区在线观看99| 一级毛片电影观看| 日本91视频免费播放| 在线观看免费日韩欧美大片| 一边摸一边抽搐一进一出视频| 大香蕉久久网| 丰满迷人的少妇在线观看| 波多野结衣av一区二区av| 青草久久国产| 中文乱码字字幕精品一区二区三区| 啦啦啦 在线观看视频| 又粗又硬又长又爽又黄的视频| 丝袜在线中文字幕| 18在线观看网站| 国产在视频线精品| 女性生殖器流出的白浆| 日韩成人av中文字幕在线观看| 久久国产精品男人的天堂亚洲| 男人操女人黄网站| 2021少妇久久久久久久久久久| 热99久久久久精品小说推荐| 国产极品粉嫩免费观看在线| 精品少妇一区二区三区视频日本电影 | 男人添女人高潮全过程视频| 免费不卡黄色视频| 女人被躁到高潮嗷嗷叫费观| 十八禁人妻一区二区| 高清欧美精品videossex| 久久鲁丝午夜福利片| 国产精品人妻久久久影院| 悠悠久久av| 久久久久久久久久久久大奶| 欧美人与性动交α欧美软件| av视频免费观看在线观看| 精品福利永久在线观看| 国产一区亚洲一区在线观看| a级毛片黄视频| h视频一区二区三区| 精品免费久久久久久久清纯 | 国产精品久久久久久人妻精品电影 | 看免费成人av毛片| 看非洲黑人一级黄片| av在线播放精品| 女人高潮潮喷娇喘18禁视频| 久久人妻熟女aⅴ| 777米奇影视久久| 一边摸一边抽搐一进一出视频| 国产精品久久久av美女十八| 别揉我奶头~嗯~啊~动态视频 | 五月天丁香电影| 成人亚洲精品一区在线观看| 我的亚洲天堂| 久热这里只有精品99| 国产精品亚洲av一区麻豆 | 日本av免费视频播放| 女性被躁到高潮视频| 午夜福利免费观看在线| 国产99久久九九免费精品| 另类亚洲欧美激情| 色综合欧美亚洲国产小说| 天天躁夜夜躁狠狠躁躁| 欧美日韩一级在线毛片| 亚洲精品中文字幕在线视频| 国产黄频视频在线观看| 欧美成人午夜精品| 亚洲精品日韩在线中文字幕| 777久久人妻少妇嫩草av网站| 最近中文字幕2019免费版| av国产精品久久久久影院| 国产午夜精品一二区理论片| 日韩av免费高清视频| 国产野战对白在线观看| 亚洲成色77777| 校园人妻丝袜中文字幕| 亚洲久久久国产精品| 夫妻午夜视频| 精品人妻在线不人妻| 精品久久蜜臀av无| 国产一区有黄有色的免费视频| 国产精品秋霞免费鲁丝片| 老汉色∧v一级毛片| 色精品久久人妻99蜜桃| 日韩 亚洲 欧美在线| 黄频高清免费视频| av电影中文网址| 女人久久www免费人成看片| 久久综合国产亚洲精品| 一本一本久久a久久精品综合妖精| 国产成人啪精品午夜网站| 亚洲国产毛片av蜜桃av| 最新在线观看一区二区三区 | 午夜福利乱码中文字幕| 日本猛色少妇xxxxx猛交久久| tube8黄色片| 亚洲欧洲国产日韩| 久久久久久人妻| 亚洲熟女精品中文字幕| 老汉色∧v一级毛片| 欧美亚洲 丝袜 人妻 在线| 国产精品一区二区精品视频观看| 电影成人av| 欧美 亚洲 国产 日韩一| 久久久国产精品麻豆| 最近中文字幕高清免费大全6| 国产伦理片在线播放av一区| 精品第一国产精品| 人妻一区二区av| 久久午夜综合久久蜜桃| 久久av网站| 伦理电影免费视频| 亚洲国产毛片av蜜桃av| 亚洲国产欧美在线一区| 亚洲国产看品久久| 亚洲精品国产一区二区精华液| 国产精品麻豆人妻色哟哟久久| 欧美日韩福利视频一区二区| 中文字幕亚洲精品专区| 中文字幕人妻熟女乱码| 久久久久久久国产电影| 日本一区二区免费在线视频| 国产深夜福利视频在线观看| 精品国产一区二区久久| 久久精品国产a三级三级三级| 久久精品久久久久久噜噜老黄| 老汉色∧v一级毛片| 黄片无遮挡物在线观看| 美女视频免费永久观看网站| av免费观看日本| 久久久久久免费高清国产稀缺| 欧美精品一区二区大全| a 毛片基地| 国产成人精品久久二区二区91 | 精品亚洲成a人片在线观看| 香蕉国产在线看| 亚洲欧美一区二区三区国产| 美女脱内裤让男人舔精品视频| 成人漫画全彩无遮挡| 亚洲成人国产一区在线观看 | 国产精品一区二区精品视频观看| 麻豆av在线久日| a 毛片基地| 欧美精品人与动牲交sv欧美| 国产黄色视频一区二区在线观看| 最新的欧美精品一区二区| 777久久人妻少妇嫩草av网站| 久久精品国产亚洲av高清一级| 无限看片的www在线观看| 90打野战视频偷拍视频| 女人爽到高潮嗷嗷叫在线视频| 亚洲成色77777| 色播在线永久视频| 丝袜美腿诱惑在线| 欧美人与性动交α欧美软件| 欧美在线一区亚洲| 免费黄色在线免费观看| 免费高清在线观看视频在线观看| 欧美亚洲日本最大视频资源| 国产熟女午夜一区二区三区| 国产欧美日韩一区二区三区在线| 亚洲欧洲国产日韩| 久久久国产欧美日韩av| 在线观看三级黄色| 午夜免费观看性视频| 免费av中文字幕在线| 美女中出高潮动态图| 亚洲熟女毛片儿| 日韩一本色道免费dvd| 人妻人人澡人人爽人人| 五月开心婷婷网| 成人18禁高潮啪啪吃奶动态图| 美女午夜性视频免费| 午夜老司机福利片| 热re99久久精品国产66热6| av.在线天堂| 精品少妇久久久久久888优播| 男女床上黄色一级片免费看| 久久国产亚洲av麻豆专区| 女人久久www免费人成看片| 嫩草影院入口| 一级毛片黄色毛片免费观看视频| 久久久久网色| 丝袜人妻中文字幕| 亚洲国产欧美日韩在线播放| 午夜老司机福利片| 一级爰片在线观看| 丰满乱子伦码专区| 亚洲成av片中文字幕在线观看| 久久99热这里只频精品6学生| www.av在线官网国产| 嫩草影院入口| 大话2 男鬼变身卡| 少妇人妻精品综合一区二区| 91aial.com中文字幕在线观看| 国产精品蜜桃在线观看| 日本vs欧美在线观看视频| 一个人免费看片子| 黑人猛操日本美女一级片| 熟女av电影| 黄色怎么调成土黄色| 成人免费观看视频高清| 一本大道久久a久久精品| 国产成人精品久久二区二区91 | 国产熟女欧美一区二区| 国产 精品1| 一区二区三区精品91| 如何舔出高潮| 日本午夜av视频| 国产亚洲av高清不卡| 男的添女的下面高潮视频| 欧美国产精品va在线观看不卡| videosex国产| 人人妻人人添人人爽欧美一区卜| 97在线人人人人妻| 少妇被粗大猛烈的视频| 久久精品久久久久久久性| 国产免费福利视频在线观看| 精品久久久精品久久久| 不卡视频在线观看欧美| 99热网站在线观看| 欧美日韩亚洲高清精品| av在线观看视频网站免费| 9热在线视频观看99| 欧美日韩亚洲综合一区二区三区_| 黄色毛片三级朝国网站| 国产伦理片在线播放av一区| 男女高潮啪啪啪动态图| 欧美97在线视频| 亚洲成国产人片在线观看| 伊人久久大香线蕉亚洲五| 国产无遮挡羞羞视频在线观看| 黄色一级大片看看| av电影中文网址| 大话2 男鬼变身卡| 日韩中文字幕欧美一区二区 | 日日摸夜夜添夜夜爱| 美女脱内裤让男人舔精品视频| 一边摸一边抽搐一进一出视频| 久久天躁狠狠躁夜夜2o2o | 捣出白浆h1v1| 日韩免费高清中文字幕av| 母亲3免费完整高清在线观看| 一级黄片播放器| 99香蕉大伊视频| 精品亚洲乱码少妇综合久久| 美女扒开内裤让男人捅视频| 91精品三级在线观看| av国产久精品久网站免费入址| 亚洲欧美精品自产自拍| 一区二区三区激情视频| 久久久久精品久久久久真实原创| 日韩视频在线欧美| 欧美日韩视频高清一区二区三区二| 90打野战视频偷拍视频| 9热在线视频观看99| 日本av免费视频播放| 精品亚洲乱码少妇综合久久| svipshipincom国产片| 久久久久精品人妻al黑| 最近手机中文字幕大全| 汤姆久久久久久久影院中文字幕| 丝瓜视频免费看黄片| 一级片'在线观看视频| 国产伦理片在线播放av一区| 99九九在线精品视频| av网站免费在线观看视频| 久久久精品区二区三区| 精品一区二区三区四区五区乱码 | 久久久久精品人妻al黑| 中文字幕精品免费在线观看视频| 久久99精品国语久久久| 亚洲少妇的诱惑av| 精品一区在线观看国产| 日韩熟女老妇一区二区性免费视频| 国产精品嫩草影院av在线观看| 国产黄频视频在线观看| 精品亚洲成a人片在线观看| 欧美另类一区| 久久久久久久久久久免费av| 国产 精品1| 中文字幕人妻熟女乱码| 日韩 欧美 亚洲 中文字幕| 精品一区二区三区av网在线观看 | 国精品久久久久久国模美| 你懂的网址亚洲精品在线观看| 国产亚洲av高清不卡| 亚洲欧美成人综合另类久久久| 日韩电影二区| 啦啦啦在线免费观看视频4| 亚洲七黄色美女视频| 韩国高清视频一区二区三区| 色吧在线观看| 国产毛片在线视频| 又黄又粗又硬又大视频| 国产精品偷伦视频观看了| 亚洲少妇的诱惑av| 国产高清国产精品国产三级| 夫妻性生交免费视频一级片| 久久久久国产精品人妻一区二区| 久久这里只有精品19| 久久精品aⅴ一区二区三区四区| 国产av国产精品国产| 亚洲国产精品一区二区三区在线| 国产一级毛片在线| 啦啦啦在线观看免费高清www| 国产成人一区二区在线| 我要看黄色一级片免费的| av在线观看视频网站免费| 新久久久久国产一级毛片| 国产高清国产精品国产三级| 最近中文字幕2019免费版| 一边摸一边做爽爽视频免费| e午夜精品久久久久久久| 亚洲欧美成人精品一区二区| 精品国产国语对白av| 久久免费观看电影| 亚洲美女搞黄在线观看| 亚洲欧洲日产国产| 人人妻人人澡人人爽人人夜夜| 狂野欧美激情性bbbbbb| 精品国产一区二区久久| 久久久欧美国产精品| 国产免费一区二区三区四区乱码| 日韩大码丰满熟妇| 亚洲成人免费av在线播放| 欧美久久黑人一区二区| 精品国产乱码久久久久久男人| 日韩中文字幕欧美一区二区 | 老司机影院成人| 亚洲一卡2卡3卡4卡5卡精品中文| 国产免费又黄又爽又色| 久久97久久精品| 伊人亚洲综合成人网| 久久久久久久国产电影| www.熟女人妻精品国产| 国产精品av久久久久免费| 久久精品久久久久久久性| 成年女人毛片免费观看观看9 | 亚洲欧美精品自产自拍| 欧美 日韩 精品 国产| 国产精品免费大片| 女性生殖器流出的白浆| 一级黄片播放器| 亚洲一级一片aⅴ在线观看| 亚洲,欧美,日韩| 色婷婷久久久亚洲欧美| 久久久久精品久久久久真实原创| 国产精品久久久人人做人人爽| 亚洲国产最新在线播放| 国产精品无大码| 精品一区二区三卡| 国产成人a∨麻豆精品| 一级,二级,三级黄色视频| 极品少妇高潮喷水抽搐| 久久久久久久久免费视频了| 国产成人精品久久二区二区91 | 大香蕉久久成人网| 日本欧美视频一区| 亚洲色图综合在线观看| a级毛片在线看网站| 日日啪夜夜爽| 久久久久久久久免费视频了| 永久免费av网站大全| 熟妇人妻不卡中文字幕| 久久影院123| 亚洲欧美一区二区三区黑人| 亚洲国产成人一精品久久久| av一本久久久久| 免费女性裸体啪啪无遮挡网站| 美女视频免费永久观看网站| √禁漫天堂资源中文www| 午夜福利在线免费观看网站| 国产亚洲一区二区精品| 高清av免费在线| 黑丝袜美女国产一区| 丰满饥渴人妻一区二区三| 精品午夜福利在线看| 女性生殖器流出的白浆| 麻豆精品久久久久久蜜桃| 久久久久国产一级毛片高清牌| www.av在线官网国产| 国产亚洲av高清不卡| 在线观看三级黄色| 亚洲成色77777| 亚洲成人一二三区av| √禁漫天堂资源中文www| 精品国产乱码久久久久久男人| 欧美日韩亚洲高清精品| 搡老乐熟女国产| 久久精品国产亚洲av高清一级| 黑人巨大精品欧美一区二区蜜桃| 中国国产av一级| 精品福利永久在线观看| 涩涩av久久男人的天堂|