




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1.數(shù)據(jù)采集概述數(shù)據(jù)采集目錄01采集技術(shù)概述03采集的數(shù)據(jù)類型02采集的特點04采集的范圍05采集的流程數(shù)據(jù)采集又稱數(shù)據(jù)獲取,是利用一種程序或裝置從系統(tǒng)外部采集數(shù)據(jù),經(jīng)過數(shù)據(jù)清洗,最終輸入到存儲系統(tǒng)中的一種過程。c以大數(shù)據(jù)、物聯(lián)網(wǎng)、人工智能、5G為核心特征的數(shù)字化浪潮正席卷全球,隨著網(wǎng)絡(luò)和信息技術(shù)的不斷普及,人類產(chǎn)生的數(shù)據(jù)量正在呈指數(shù)級增長。大約每兩年翻一番,這意味著人類在最近兩年產(chǎn)生的數(shù)據(jù)量相當(dāng)于之前產(chǎn)生的全部數(shù)據(jù)量。面對如此海量的數(shù)據(jù),與之相關(guān)的采集、存儲、分析等等環(huán)節(jié)產(chǎn)生了一系列的問題。如何收集有效的數(shù)據(jù)并且進行轉(zhuǎn)換分析存儲以及有效率的分析成為巨大的挑戰(zhàn)。數(shù)據(jù)采集概述FilebeatXPATH爬蟲原理正則表達式HTTPFluentdSyslogFlumeBeautifulSoupLogstash相關(guān)技術(shù)和工具數(shù)據(jù)采集技術(shù)以自動化手段為主,擺脫人工錄入的方式自動化以全量采集和增量采集并存的方式,不對采集的數(shù)據(jù)進行采樣采集方式采集方式多樣化、內(nèi)容豐富化豐富多樣針對日志數(shù)據(jù)的采集,使用數(shù)據(jù)管道直達數(shù)據(jù)庫實時性高傳統(tǒng)的數(shù)據(jù)采集來源單一,且存儲、管理和分析數(shù)據(jù)量也相對較小,大多采用關(guān)系型數(shù)據(jù)庫和并行數(shù)據(jù)倉庫即可處理。在依靠并行計算提升數(shù)據(jù)處理速度方面,傳統(tǒng)的并行數(shù)據(jù)庫技術(shù)追求的是高度一致性和容錯性,從而難以保證其可用性和擴展性。數(shù)據(jù)采集的特點結(jié)構(gòu)化數(shù)據(jù)半結(jié)構(gòu)化數(shù)據(jù)非結(jié)構(gòu)化數(shù)據(jù)具有固定格式或有限長度的數(shù)據(jù)
。例如:數(shù)據(jù)庫,元數(shù)據(jù)等。非關(guān)系模型的、有基本固定結(jié)構(gòu)模式的數(shù)據(jù)。例如:日志文件、XML文檔、JSON文檔、Email等。數(shù)據(jù)結(jié)構(gòu)不規(guī)則或不完整,沒有預(yù)定義的數(shù)據(jù)模型。例如:所有格式的辦公文檔、文本、圖片、HTML、各類報表、圖像和音頻/視頻信息等等。數(shù)據(jù)采集的數(shù)據(jù)類型數(shù)據(jù)庫數(shù)據(jù)互聯(lián)網(wǎng)內(nèi)容數(shù)據(jù)系統(tǒng)日志數(shù)據(jù)內(nèi)部業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫企業(yè)內(nèi)部的各個獨立的業(yè)務(wù)系統(tǒng),在各類數(shù)據(jù)庫中存儲了大量的數(shù)據(jù)互聯(lián)網(wǎng)對外公開內(nèi)容
凡是可以通過瀏覽器或者移動APP公開訪問的互聯(lián)網(wǎng)內(nèi)容操作系統(tǒng)及業(yè)務(wù)系統(tǒng)日志自身操作系統(tǒng)或者自有業(yè)務(wù)系統(tǒng)的日常日志記錄數(shù)據(jù)互聯(lián)網(wǎng)內(nèi)容數(shù)據(jù)系統(tǒng)日志數(shù)據(jù)網(wǎng)絡(luò)設(shè)備日志網(wǎng)絡(luò)設(shè)備記錄的訪問日志、流量日志、攻擊日志等等設(shè)備狀態(tài)數(shù)據(jù)物聯(lián)網(wǎng)感知設(shè)備數(shù)據(jù)
物聯(lián)網(wǎng)的感知層設(shè)備采集的各類傳感數(shù)據(jù)采集的范圍不同的數(shù)據(jù)對象,其采集流程不盡相同,這里僅介紹網(wǎng)頁內(nèi)容采集流程及系統(tǒng)日志的采集流程。網(wǎng)頁爬取的采集流程系統(tǒng)日志的采集流程采集的流程分析采集對象構(gòu)建采集請求獲取響應(yīng)內(nèi)容針對一個網(wǎng)頁,需要分析其網(wǎng)頁結(jié)構(gòu),明確要采集的對象清單,采集清單相關(guān)法律法規(guī)評估,同時確定目標(biāo)數(shù)據(jù)是否在同一個頁面中。通過HTTP協(xié)議向目標(biāo)站點發(fā)起請求,也就是發(fā)送一個Request,請求可以包含額外的header等信息,等待服務(wù)器響應(yīng)如果服務(wù)器能正常響應(yīng),會得到一個Response,Response的內(nèi)容便是所要獲取的頁面內(nèi)容,類型可能是HTML,Json字符串,二進制數(shù)據(jù)(圖片或者視頻)等類型過濾解析內(nèi)容存儲采集數(shù)據(jù)保存形式多樣,可以存為文本,也可以保存到數(shù)據(jù)庫,或者保存特定格式的文件,如果是海量數(shù)據(jù),則可以存儲到HDFS文件系統(tǒng)或者HIVE數(shù)據(jù)庫中。得到的內(nèi)容可能是HTML文本,可以用正則表達式、BeautifulSoup、XPath進行解析,可能是Json,可以直接轉(zhuǎn)換為Json對象解析,可能是二進制數(shù)據(jù),可以做保存或者進一步的處理網(wǎng)頁爬取的采集流程STEP1分析日志規(guī)模及實時性,選擇適合的日志采集工具。STEP2確定數(shù)據(jù)采集的輸入端、輸出端。STEP3配置日志采集器文件,明確需要采集的日志清單。STEP5存儲日志數(shù)據(jù),存儲至數(shù)據(jù)庫系統(tǒng)、HDFS平臺。STEP4配置傳輸管道配置文件:輸入源配置、過濾器配置、輸出端配置。系統(tǒng)日志的采集流程數(shù)據(jù)采集2.查看網(wǎng)頁源碼及結(jié)構(gòu)目錄01網(wǎng)頁打開流程02DOM文檔對象模型03網(wǎng)頁源碼分析網(wǎng)頁打開流程瀏覽器會把服務(wù)器響應(yīng)的HTML文檔解析成一個樹結(jié)構(gòu),并且在此基礎(chǔ)上定義了訪問和操作HTML文檔的標(biāo)準(zhǔn)。根據(jù)W3C標(biāo)準(zhǔn)我們稱之為HTMLDOM(DocumentObjectModel)文檔對象模型。DOM根節(jié)點
末梢節(jié)點下無其它子節(jié)點存在,如Inupt、Td、H1之類的節(jié)點。03在DOM結(jié)構(gòu)樹中,處于中間位置的節(jié)點,此類節(jié)點內(nèi)部仍然有其它節(jié)點,如Body、Div、Table節(jié)點等等。02DOM根節(jié)點,訪問文檔中各個標(biāo)簽的時候,都需要先訪問該節(jié)點01末梢節(jié)點末梢節(jié)點
分支節(jié)點分支節(jié)點末梢節(jié)點
HTML文檔中的所有內(nèi)容都是節(jié)點,且有以下幾個類型。整個文檔是一個文檔節(jié)點(document節(jié)點)每個HTML元素是元素節(jié)點HTML元素內(nèi)的文本是文本節(jié)點每個HTML屬性是屬性節(jié)點注釋是注釋節(jié)點HTML文檔對象模型(DOM)HTMLDOM結(jié)構(gòu)解析分析新浪網(wǎng)的網(wǎng)頁源碼1.瀏覽器輸入網(wǎng)址:建議用谷歌瀏覽器2.打開開發(fā)者模式(按F12)3.選擇“Elements”功能,查看HTML文檔4.在HTML文檔中,移動鼠標(biāo),并觀察網(wǎng)頁變深色的區(qū)域。深色區(qū)域即對應(yīng)了鼠標(biāo)所在的HTML標(biāo)簽內(nèi)容。網(wǎng)頁源碼分析通過這種分析方式,可以快速定位需要采集的內(nèi)容,進而可以通過DOM結(jié)構(gòu)樹提取相關(guān)內(nèi)容網(wǎng)頁源碼分析數(shù)據(jù)采集3.移動端APP數(shù)據(jù)請求結(jié)構(gòu)目錄01存在問題03分析采集思路02APP內(nèi)容組成04截獲分析與請求模擬APP內(nèi)容采集安裝在移動端內(nèi)容傳輸多樣化部分APP對數(shù)據(jù)流加密存在的問題APP內(nèi)容在一個界面中包含各種元素,有視頻、圖片、用戶賬號數(shù)據(jù)、用戶業(yè)務(wù)數(shù)據(jù)等等。同一個動作可能觸發(fā)多個內(nèi)容更新,但是絕大部分APP會將不同的數(shù)據(jù)存放在不同的服務(wù)器中,以便提升響應(yīng)效率。數(shù)據(jù)從服務(wù)器中響應(yīng)到APP中是通過HTTP或者HTTPS協(xié)議來完成的,響應(yīng)內(nèi)容可分為二進制流、HTML文檔、XML文檔、JSON數(shù)據(jù)。APP內(nèi)容組成服務(wù)器1服務(wù)器2APP內(nèi)容組成截獲APP的請求數(shù)據(jù)流,并分析請求和響應(yīng)數(shù)據(jù)報文,確定APP界面數(shù)據(jù)與響應(yīng)報文關(guān)系既然APP內(nèi)容更新是通過HTTP或者HTTPS協(xié)議實現(xiàn)的,那么可以用Python模擬HTTP請求報文針對不同的數(shù)據(jù)流,發(fā)起不同的請求響應(yīng)處理對各種響應(yīng)數(shù)據(jù)流的進行解析和數(shù)據(jù)整合++Filebeat協(xié)議代理器安卓模擬器Python爬蟲分析與采集思路安卓模擬器電腦安裝解決APP在移動端無法分析的問題通過Fiddler分析數(shù)據(jù)流,從眾多的數(shù)據(jù)流中,尋找到APP相關(guān)頁面或功能的數(shù)據(jù)流確定請求URL與響應(yīng)報文的關(guān)系Fiddler代理安卓模擬器數(shù)據(jù)流讓APP所有數(shù)據(jù)經(jīng)過Fiddler代理Python模擬數(shù)據(jù)流請求報文通過響應(yīng)報文內(nèi)容結(jié)果,提取有用數(shù)據(jù)存儲數(shù)據(jù)數(shù)據(jù)流截獲分析與請求模擬數(shù)據(jù)采集4.HTTP協(xié)議介紹目錄01HTTP簡介02請求報文03響應(yīng)報文HTTP協(xié)議什么是HTTP協(xié)議?請求-響應(yīng)的模式HTTP協(xié)議規(guī)定,請求從客戶端發(fā)出,最后服務(wù)器端響應(yīng)該請求并返回。因此:必須是先從客戶端開始建立通信的,服務(wù)器端在沒有接收到請求之前,不會發(fā)送響應(yīng)HTTP簡介HTTP協(xié)議是HyperTextTransferProtocol(超文本傳輸協(xié)議)的縮寫,是用于從服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。工作機制:1、建立TCP連接:點擊鏈接即自動完成連接。2、客戶端發(fā)送請求報文(Request):客戶端通過URL向HTTP服務(wù)端即WEB服務(wù)器發(fā)送一個HTTP協(xié)議的請求數(shù)據(jù)包。3、服務(wù)器響應(yīng)報文(Response):Web服務(wù)器收到的請求后,根據(jù)請求內(nèi)容,向客戶端發(fā)送響應(yīng)數(shù)據(jù)。4、結(jié)束TCP連接。HTTP簡介請求報文由四部分組成:第一部分:請求行,用來說明請求類型,要訪問的資源以及所使用的HTTP版本號。第三部分:空行,請求頭部后面的空行是必須的。本例中請求數(shù)據(jù)為空第四部分:請求數(shù)據(jù)也叫主體,可以添加任意的其他數(shù)據(jù)。第二部分:請求頭部,緊接著請求行(即第一行)之后的部分,用來說明服務(wù)器要使用的附加信息。HTTP協(xié)議之請求報文響應(yīng)報文由四部分組成:第一部分:狀態(tài)行,由HTTP協(xié)議版本號,狀態(tài)碼,狀態(tài)消息三部分組成。第二部分:消息報頭,用來說明客戶端要使用的一些附加信息。第三部分:空行,消息報頭后面的空行是必須的本例中請求數(shù)據(jù)為空第四部分:響應(yīng)正文,服務(wù)器返回給客戶端的數(shù)據(jù)信息。HTTP協(xié)議之響應(yīng)報文數(shù)據(jù)采集5.構(gòu)建數(shù)據(jù)采集請求目錄模擬HTTP請求訪問資源01如何選擇語言02操作URL的Python模塊03瀏覽器的模擬-構(gòu)建Headers04瀏覽器訪問資源1、用戶點擊鏈接、瀏覽器自動生成HTTP請求報文2、服務(wù)器收到請求報文,根據(jù)報文內(nèi)容,回復(fù)響應(yīng)報文3、瀏覽器收到服務(wù)器的響應(yīng)報文,解析提取我是客戶端程序模擬訪問資源1、程序構(gòu)建HTTP請求報文,模擬發(fā)送請求2、服務(wù)器收到請求報文,根據(jù)報文內(nèi)容,回復(fù)響應(yīng)報文3、程序收到服務(wù)器的響應(yīng)報文,解析提取模擬HTTP請求訪問資源PythonJavaC/C++.NETC/C++:高效率,快速,適合通用搜索引擎做全網(wǎng)爬取。但其缺點明顯,由于現(xiàn)有第三方代碼支持較少,原生代碼開發(fā)難度大,代碼量龐大。Perl,Java,Ruby:簡單,易學(xué),良好的文本處理能方便網(wǎng)頁內(nèi)容的提取,但效率不高,適合對少量網(wǎng)站的聚焦爬取。.NET:平臺支持不好,僅僅可以在window系統(tǒng)平臺運行。Python在HTTP協(xié)議模擬的框架成熟,且平臺無限制,實際應(yīng)用最為廣泛。語言如何選擇第三方庫,需要另安裝安裝:pipinstallrequests導(dǎo)入模塊:importrequestsrequests自有庫,免安裝導(dǎo)入模塊:importurllib.requesturllib操作URL的Python模塊不帶參數(shù)發(fā)送請求帶參數(shù)發(fā)送請求/search.jsp?wbtreeid=1001Request庫urllib.request請求模塊urllib.error異常處理模塊urllib.parseurl解析模塊urllib.robotparserrobots.txt解析模塊4個模塊注意:在Python3以后的版本中,urllib2這個模塊已經(jīng)不單獨存在(也就是說當(dāng)你importurllib2時,系統(tǒng)提示你沒這個模塊),urllib2被合并到了urllib中,叫做urllib.request和urllib.error本課程基于Python3介紹。urllib庫不帶參數(shù)發(fā)送請求帶參數(shù)發(fā)送請求/search.jsp?wbtreeid=1001urllib庫未能成功偽裝成瀏覽器的正常訪問行為,將被反爬蟲攔截瀏覽器的模擬-構(gòu)建Headers選擇正確的請求報文中的Headers參數(shù)方法1、任意打開一個網(wǎng)頁,比如打開。2、按F12,會出現(xiàn)一個窗口。切換到Network標(biāo)簽頁。3、然后單擊網(wǎng)頁中的“百度一下”,即讓網(wǎng)頁發(fā)生一個動作。4、將界面右上方的標(biāo)簽切換到“Headers”中,即可以看到了對應(yīng)的頭信息,就可以找到User-Agent字樣的一串信息。5、復(fù)制User-Agent數(shù)據(jù)。瀏覽器的模擬-構(gòu)建Headers思考:登陸用戶的請求報文如何模擬?解決方案:1、使用真實場景下的headers參數(shù),查詢到正確的Cookie或session值。2、在請求報文的頭部信息中,完善headers的各類參數(shù)。瀏覽器的模擬-構(gòu)建Headers數(shù)據(jù)采集6.基于Xpath的數(shù)據(jù)爬取——豆瓣電影TOP250為例目錄01案例需求及源碼結(jié)構(gòu)分析03爬取功能劃分02Xpath插件獲取表達式04爬取代碼實現(xiàn)需求:爬取豆瓣電影評分TOP250頁面的電影名字、電影介紹鏈接、電影評分等信息。URL:
/top250案例需求及源碼結(jié)構(gòu)分析多頁面的分析處理:分析分頁的鏈接可以發(fā)現(xiàn),每一頁有25條電影記錄,每頁的鏈接為改變值是start參數(shù)例如第二頁實際URL:/top250?start=25&filter=案例需求及源碼結(jié)構(gòu)分析通過瀏覽器安裝好的Xpath插件,可獲得如下信息:電影節(jié)點集合://*[@id="content"]/div/div[1]/ol/li電影名字:div/div[2]/div[1]/a/span[1]/text()簡介鏈接:div/div[2]/div[2]/div/span[2]/text()評分:div/div[2]/div[1]/a/@hrefXpath插件獲取表達式從html文檔中,解析出需求信息網(wǎng)頁解析從服務(wù)器獲取html文檔獲取html文檔依次訪問所有頁面多頁面讀取調(diào)度爬取功能劃分多頁面讀取調(diào)度爬取代碼實現(xiàn)爬取代碼實現(xiàn)獲取html文檔解析網(wǎng)頁內(nèi)容爬取代碼實現(xiàn)數(shù)據(jù)采集7.基于正則表達式的數(shù)據(jù)爬取目錄01任務(wù)描述02HTML源代碼分析03抓取代碼實現(xiàn)在爬蟲的開發(fā)中,需要把有用的信息從一大段文本中提取出來。正則表達式是提取信息的方法之一。本任務(wù)是使用Python正則表達式匹配豆瓣電影評分TOP250頁面電影名字、電影介紹鏈接、電影評分等信息。思路如下:(1)引入使用正則表達式所需要的包。(2)模擬瀏覽器請求,請求豆瓣電影TOP250的數(shù)據(jù)。(3)使用compile方法,匹配出目標(biāo)內(nèi)容。(關(guān)鍵編寫正確的正則表達式)任務(wù)描述<li><divclass="item">***************<divclass="info"><divclass="hd"><ahref="/subject/1292052/"class=""><spanclass="title">肖申克的救贖</span>
******************</a>
*******************<divclass="star">
*************************<spanclass="rating_num"property="v:average">9.7</span>
******************</div>********************</div></div></div></li>'<li>.*?<divclass="hd">\n\s*?<ahref="(.*?)"class="">.*?class="title">(.*?)</span>.*?property="v:average">(.*?)</span>.*?</li>'匹配正則表達式*顏色對應(yīng)HTML源代碼分析由于待解析的內(nèi)容屬于文本,因此可以使用正則表達式進行解析解析html文本內(nèi)容從服務(wù)器獲取html文檔返回文本形式的內(nèi)容獲取html文檔依次訪問所有頁面多頁面讀取調(diào)度爬取功能劃分多頁面讀取調(diào)度爬取代碼實現(xiàn)獲取網(wǎng)頁文本內(nèi)容爬取代碼實現(xiàn)解析html文本內(nèi)容爬取代碼實現(xiàn)數(shù)據(jù)采集8.移動端APP的數(shù)據(jù)爬取目錄01需求分析及環(huán)境要求03安卓模擬器端設(shè)置02電腦端Fiddler代理設(shè)置04APP數(shù)據(jù)包分析05抓取代碼實現(xiàn)需求:采集網(wǎng)易新聞APP中的頭條新聞數(shù)據(jù)分析環(huán)境:Fiddler抓包調(diào)試工具+雷電安卓模擬器+網(wǎng)易新聞客戶端Fiddler抓包調(diào)試工具:HTTP協(xié)議包抓包并解析雷電安卓模擬器:實現(xiàn)在電腦端安裝安卓APP網(wǎng)易新聞客戶端:目標(biāo)APP需求分析及環(huán)境要求1、安裝Fiddler抓包調(diào)試工具2、設(shè)置菜單tools-->options-->HTTPS,勾選“DecryptHTTPStraffic”3、點擊actions,選擇“ExportRootCertificatetoDesktop”4、雙擊桌面中的證書,將證書安裝到電腦中電腦端Fiddler代理設(shè)置5、Connections標(biāo)簽頁下面勾選上“Allowremotecomputerstoconnect”電腦端Fiddler代理設(shè)置1、設(shè)置安卓模擬器網(wǎng)絡(luò),將wifi網(wǎng)絡(luò)設(shè)置為通過電腦代理上網(wǎng)。2、在模擬器中安裝Fiddler導(dǎo)出在桌面的證書。安卓模擬器端設(shè)置1、打開fiddler,等待抓包數(shù)據(jù)2、打開網(wǎng)易新聞客戶端,點擊頭條新聞模塊3、選中json數(shù)據(jù)報,點擊Inspectors,選擇headers選項4、在內(nèi)容解析模塊中,選擇JSON,即可看到解析后的JSON結(jié)構(gòu)APP數(shù)據(jù)包分析1、查看請求報文2、獲取到Host、和請求地址,拼接成請求鏈接。3、復(fù)制出請求頭參數(shù),供python程序設(shè)置headers參數(shù)GET/recommend/getSubDocPic?tid=T1348647909107&from=toutiao&offset=0&size=10&fn=3&LastStdTime=0&spestr=shortnews&prog=&passport=&devId=ftxGMynprA5efJeQQAZVNA%3D%3D&lat=cA34ftOajTcf8oiXnCnYSA%3D%3D&lon=hjgtNXtbGK4ek8fU60DW%2BQ%3D%3D&version=29.1&net=wifi&ts=1592493790&sign=K0u3LpRRaAyvwdOgB8g36fE63n9YoOmqopn8LLWUO4N48ErR02zJ6%2FKXOnxX046I&encryption=1&canal=360_news&mac=6WrupA9AJ%2Fa0004waqMD6oe1A3IUPLLdoCiqBVf2Go0%3D&open=&openpath=HTTP/1.1data4-Sent-Millis:1592493790542Add-To-Queue-Millis:1592493790542User-D:ftxGMynprA5efJeQQAZVNA==User-L:49DH/sgjf1m26pXHWmtjB5o5IGoIr6qJgqlI+Ck7HyVoonbdvFa2PqECzZrEN4h8User-N:qqjk5Rf2eHuUjdbgPUrwPtFzNhofg+0ZZL1zci5OpgY=httpDNSIP:6User-C:5aS05p2hUser-Agent:NewsApp/29.1Android/5.1.1(nubia/NX629J)X-NR-Trace-Id:1592493790543_369738276_865166021987584Host:Connection:Keep-AliveAccept-Encoding:gzipAPP數(shù)據(jù)包分析1、提取響應(yīng)報文中的JSON數(shù)據(jù)包,分析目標(biāo)數(shù)據(jù)字段名,如:docid=FFE2TUB40530I1ON2、在APP中點擊該新聞,重新分析數(shù)據(jù)包,得到該新聞的請求報文和響應(yīng)報文APP數(shù)據(jù)包分析分析請求報文和響應(yīng)報文后發(fā)現(xiàn):請求鏈接“/nc/article/FFE2TUB40530I1ON/full.html”中的“FFE2TUB40530I1ON”即是JSON數(shù)據(jù)包中的docid中的值。通過json數(shù)據(jù)包中的docid,不斷的變換請求數(shù)據(jù)報的請求鏈接,即可完成頭條頁面中的新聞數(shù)據(jù)抓取。APP數(shù)據(jù)包分析獲取ID為news_id的新聞內(nèi)容抓取代碼實現(xiàn)獲取頭條新聞的新聞ID集合抓取代碼實現(xiàn)主函數(shù)調(diào)度抓取代碼實現(xiàn)執(zhí)行結(jié)果抓取代碼實現(xiàn)數(shù)據(jù)采集9.Filebeat介紹目錄01Filebeat介紹03工作原理02Filebeat組成04filebeat.yml文件配置05啟動FilebeatFilebeat是本地文件的日志數(shù)據(jù)采集器,作為服務(wù)器上的代理安裝,監(jiān)視日志目錄或特定日志文件,并將它們轉(zhuǎn)發(fā)給Elasticsearch或Logstash、kafka等Filebeat是一個輕量級日志傳輸Agent,占用資源少,而且安裝配置也比較簡單,支持目前各類主流操作系統(tǒng)及Docker平臺。官網(wǎng)地址:https://www.elastic.co/cn/beats/filebeatFilebeat簡介Filebeat包含兩個部分:Inputs和Harversters。Inputs:負責(zé)管理harvesters和發(fā)現(xiàn)可讀的資源。Harverster:負責(zé)讀取日志文件,一行一行的讀,并將讀到的內(nèi)容發(fā)送到輸出管道,一個Harverster對應(yīng)了一個日志文件。Filebeat組成部分Filebeat主要通過配置文件filebeat.yml中設(shè)置的參數(shù)來實現(xiàn)控制輸入與輸出。1、將日志文件作為filebeat的輸入或者通過inputs配置日志文件的路徑2、filebeat啟動harversters,讀取相關(guān)的日志文件,提取相應(yīng)的數(shù)據(jù)3、經(jīng)由緩存區(qū),輸出到配置文件中的output配置的輸出端,如logstash。1.log2.log3.logharversters1harversters2harversters3input1緩存區(qū)LogstashFilebeat工作原理filebeat的如何工作運行,依賴于filebeat.yml配置文件的參數(shù)文件路徑:filebeat安裝根目錄/filebeat.yml涉及輸入輸出的filebeat配置項有兩個:采集配置輸出配置InputOutputfilebeat.yml文件配置inputs采集配置常用配置type:指定input類型,有l(wèi)og、stdin、redis、tcp、syslog等fields:可以自定義添加字段,到output中去,后續(xù)可以使用這些字段paths:日志文件的目錄filebeat.yml文件配置Outputs輸出配置filebeat支持輸出到多種輸出端1、ElasticsearchOutput:輸出到es里。2、LogstashOutput:輸出到logstash里。3、RedisOutput:輸出到redis里。4、FileOutput:輸出到file里。5、ConsoleOutput:輸出到console里。由于不同的輸出配置參數(shù)不一樣,因此官網(wǎng)提供了默認配置文件,找到對應(yīng)的Filebeat版本,找到Configure-->output-->輸出端https://www.elastic.co/guide/en/beats/filebeat/index.htmlfilebeat.yml文件配置配置好filebeat.yml文件后運行命令:./filebeat-e-cfilebeat.yml注:本例子中output配置為console(即屏幕直接輸出)啟動filebeat數(shù)據(jù)采集10.Logstash介紹目錄logstash簡介01logstash工作原理02logstash配置03Logstash是一個開源數(shù)據(jù)收集引擎,具有實時管道功能。Logstash可以動態(tài)地將來自不同數(shù)據(jù)源的數(shù)據(jù)統(tǒng)一起來,并將數(shù)據(jù)標(biāo)準(zhǔn)化到你所選擇的目的地官網(wǎng)地址:https://www.elastic.co/cn/logstashLogstash簡介Logstash的數(shù)據(jù)處理過程主要包括:Inputs(輸入),Filters(過濾),Outputs(輸出)三部分,均以插件形式存在,用戶通過定義pipeline配置文件,設(shè)置需要使用的input,filter,output插件,以實現(xiàn)特定的數(shù)據(jù)采集,數(shù)據(jù)處理,數(shù)據(jù)輸出等功能(1)Inputs:用于從數(shù)據(jù)源獲取數(shù)據(jù),常見的插件如file,syslog,redis,beats等(2)Filters:用于處理數(shù)據(jù)如格式轉(zhuǎn)換,數(shù)據(jù)派生等,常見的插件如grok,mutate,drop,clone,geoip等(3)Outputs:用于數(shù)據(jù)輸出,常見的插件如elastcisearch,file,graphite,statsd等Logstash工作原理輸入:采集各種來源的數(shù)據(jù)數(shù)據(jù)往往以各種各樣的形式,或分散或集中地存在于各個系統(tǒng)中。Logstash支持各種輸入選擇,可以在同一時間從眾多常用來源捕捉事件。能夠以連續(xù)的流式傳輸方式,輕松地從您的日志、指標(biāo)、Web應(yīng)用、數(shù)據(jù)存儲以及各種AWS服務(wù)采集數(shù)據(jù)。支持的輸入源見官網(wǎng)列表:https://www.elastic.co/guide/en/logstash/current/input-plugins.htmlLogstash工作原理篩選:實時解析和轉(zhuǎn)換數(shù)據(jù)數(shù)據(jù)從源傳輸?shù)酱鎯斓倪^程中,Logstash過濾器能夠解析各個事件,識別已命名的字段以構(gòu)建結(jié)構(gòu),并將它們轉(zhuǎn)換成通用格式,以便進行更強大的分析和實現(xiàn)商業(yè)價值。Logstash能夠動態(tài)地轉(zhuǎn)換和解析數(shù)據(jù),不受格式或復(fù)雜度的影響。如:利用Grok從非結(jié)構(gòu)化數(shù)據(jù)中派生出結(jié)構(gòu)從IP地址破譯出地理坐標(biāo)將PII數(shù)據(jù)匿名化,完全排除敏感字段簡化整體處理,不受數(shù)據(jù)源、格式或架構(gòu)的影響Logstash工作原理輸出:選擇存儲庫,導(dǎo)出數(shù)據(jù)Logstash提供眾多輸出選擇,可以將數(shù)據(jù)發(fā)送到要指定的地方,并且能夠靈活地解鎖眾多下游用例。支持的輸出端見官網(wǎng)的列表:https://www.elastic.co/guide/en/logstash/current/output-plugins.htmlLogstash工作原理logstash的配置文件是以conf作為后綴名主要由三部分組成。1、input:用于配置輸入源列表,支持多條輸入源配置2、filter:用于配置對數(shù)據(jù)源的數(shù)據(jù)進行篩選和處理3、output:用于配置對經(jīng)過處理后的數(shù)據(jù),傳輸或者保存到輸出端信息不同的輸入輸出源,配置的參數(shù)不同,詳見官網(wǎng)列表#輸入input{
...}#過濾器filter{
...}#輸出output{
...}Logstash配置輸入源配置示例filebeat作為輸入源Logstash配置輸出端配置示例mysql數(shù)據(jù)庫作為輸出端Logstash配置數(shù)據(jù)采集11.日志數(shù)據(jù)采集存儲目錄01采集環(huán)境搭建03編寫配置文件02數(shù)據(jù)庫準(zhǔn)備04測試采集環(huán)境日志采集需求1、假設(shè)日志信息會記錄在/var/log/test.log文件中。2、通過filebeat監(jiān)測test.log文件中的新增信息,并輸出至logstash中。3、logstash監(jiān)測filebeat傳輸過來的數(shù)據(jù),將數(shù)據(jù)提取出,加上時間戳,存儲至mysql數(shù)據(jù)庫中。采集環(huán)境搭建1、創(chuàng)建數(shù)據(jù)庫:logsdbcreatedatabaselogsdb;uselogsdb;2、創(chuàng)建數(shù)據(jù)表:syslogcreatetablesyslog( messagevarchar(200), insert_timevarchar(50) )3、官網(wǎng)下
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店倉庫管理培訓(xùn)計劃
- 辭退違法解除協(xié)議書
- 餐廳安全合同協(xié)議書
- 遺產(chǎn)分割分配協(xié)議書
- 項目內(nèi)部停工協(xié)議書
- 馬匹出售繁育協(xié)議書
- 設(shè)備合資購買協(xié)議書
- 項目合作擔(dān)保協(xié)議書
- 風(fēng)冷電機訂購協(xié)議書
- 落戶委托服務(wù)協(xié)議書
- 2024年廣西中考化學(xué)真題【附答案】
- 期末(試題)-2023-2024學(xué)年英語六年級下冊
- 2022年遼寧省高考數(shù)學(xué)試卷(新高考II)附答案解析
- 阿爾派車載IVA-W502E使用說明書
- GB/T 10069.3-2024旋轉(zhuǎn)電機噪聲測定方法及限值第3部分:噪聲限值
- 2024架空平行集束絕緣導(dǎo)線低壓配電線路設(shè)計與施工規(guī)程
- 中國高血壓防治指南(2024年修訂版)核心要點解讀
- 擴心病的護理查房
- 2024年江蘇省南京玄武區(qū)八下英語期末考試試題含答案
- 知道智慧網(wǎng)課《科技倫理》章節(jié)測試答案
- mm-pbsa計算原理結(jié)果
評論
0/150
提交評論