主流日志監(jiān)控軟件技術(shù)選型分析_第1頁(yè)
主流日志監(jiān)控軟件技術(shù)選型分析_第2頁(yè)
主流日志監(jiān)控軟件技術(shù)選型分析_第3頁(yè)
主流日志監(jiān)控軟件技術(shù)選型分析_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 主流日志監(jiān)控軟件技術(shù)選型分析 目前市場(chǎng)上主流日志監(jiān)控軟件有哪些?應(yīng)該怎樣選擇?技術(shù)對(duì)比分析如何?對(duì)日志關(guān)鍵字的監(jiān)控與告警。1.可由運(yùn)維人員自定義關(guān)鍵字 2.能適應(yīng)不規(guī)則新生成的日志文件* “爭(zhēng)議”欄目?jī)?nèi)容來(lái)自同行分享的一手體驗(yàn)和觀察,僅代表個(gè)人觀點(diǎn)要選擇開(kāi)源的日志監(jiān)控軟件可以看下圖:要選擇商業(yè)日志監(jiān)控軟件可以看一下日志易、啟明和七牛的日志軟件等。通常傳統(tǒng)的解決方案如下:第一,使用 grep 等腳本工具。很大的問(wèn)題是低效、易出錯(cuò),更大的問(wèn)題是不安全。第二,使用 MySQL 匯聚數(shù)據(jù)。使用方便,但是能力有限。第三,使用 NoSQL。大問(wèn)題是不支持交叉查詢(xún)與全文檢索,使用負(fù)擔(dān)相對(duì)大。第四,使用 H

2、adoop / Spark / Storm。使用起來(lái)比較繁雜,不支持全文檢索。第五,使用 ELK。產(chǎn)品層面做的比較不足,超大數(shù)據(jù)量下穩(wěn)定性存在挑戰(zhàn)。商業(yè)軟件可以更好的解決上面這些軟件的不足,使運(yùn)維工作更簡(jiǎn)單一些。廠商:國(guó)內(nèi)可以參考日志易(優(yōu)特捷),國(guó)外的splunk。自研或一般廠商,目前比較多的是基于ELK做平臺(tái)封裝,增加kfk、權(quán)限管理、spl查詢(xún)、監(jiān)控設(shè)置等可維護(hù)性、可管理的功能。其他方案上一位已經(jīng)回答的比較全了。以下經(jīng)驗(yàn)主要基于ELK平臺(tái),使用的有日志易產(chǎn)品,也有自研平臺(tái)。選型上,要評(píng)估自身的日志量和投入成本,低量級(jí)對(duì)廠商產(chǎn)品沒(méi)有什么大的依賴(lài),高量級(jí)就會(huì)涉及到es的調(diào)優(yōu)能力和部署架構(gòu)。另

3、一個(gè)會(huì)影響性能的,就是解析規(guī)則,大量的解析規(guī)則會(huì)導(dǎo)致性能消耗加劇,入庫(kù)慢會(huì)導(dǎo)致監(jiān)控失真。其他可參考的,配置簡(jiǎn)易性、支持解析規(guī)則的設(shè)置能力、SPL支持能力、報(bào)表可視化、歷史數(shù)據(jù)歸檔策略等。1、可由運(yùn)維人員自定義關(guān)鍵字日志平臺(tái)的監(jiān)控,一般條件都是周期性范圍內(nèi)出現(xiàn)關(guān)鍵字的次數(shù),例如5分鐘內(nèi)出現(xiàn)ERROR數(shù)10次?;旧袭a(chǎn)品都是支持的為了支持更復(fù)雜的監(jiān)控,一般會(huì)對(duì)一些字段做提取,比如通過(guò)正則表達(dá)式,提取出一些業(yè)務(wù)字段,可以做加減乘除、=等二次加工的條件2、能適應(yīng)不規(guī)則新生成的日志文件對(duì)于日志文件,可以對(duì)目錄進(jìn)行動(dòng)態(tài)發(fā)現(xiàn);但一般還是配置具體文件路徑的比較多,例如/log/abc.YYYYMMDD,但也可

4、以監(jiān)控/log目錄下的所有新日志對(duì)于日志內(nèi)容,至少要設(shè)置換行條件,例如起始字符或結(jié)束/n,設(shè)置起始字符,可以將exception的輸出合并在一條日志里,但對(duì)日志規(guī)范有些要求ELK 或 EFK 都是不錯(cuò)的技術(shù)選型,目前在國(guó)內(nèi)很多廠家都落地了各種 ES 的架構(gòu)方案,開(kāi)源生態(tài)也穩(wěn)定發(fā)展,各項(xiàng)配套組件都能很容易對(duì)接。在主流的現(xiàn)有選型中,關(guān)系型數(shù)據(jù)庫(kù)因?yàn)樗饕龎毫蛯?duì)全文檢索的支持薄弱,不因該作為考慮,即便是使用高性能的緩存或者消息隊(duì)列沒(méi)有性?xún)r(jià)比可言。NoSQL 數(shù)據(jù)庫(kù)也沒(méi)有先天的對(duì)日志的存儲(chǔ)優(yōu)勢(shì),雖然寬松的范式限制能夠靈活地處理信息文檔,現(xiàn)在大部分日志是 JSON 形式可以輸入至 MongoDB 等,但

5、是在日志場(chǎng)景的使用案例還是不夠。ES 能夠使用倒排索引、分片、復(fù)制等完全契合日志及文本處理需求,很容易成為選型過(guò)程中的首選。日志的存儲(chǔ)可以對(duì)接流計(jì)算等外部模塊,能將日志的價(jià)值榨取充分。對(duì)題主的問(wèn)題進(jìn)行分解,對(duì)日志關(guān)鍵字的監(jiān)控與告警。1.可由運(yùn)維人員自定義關(guān)鍵字2.能適應(yīng)不規(guī)則新生成的日志文件。1、自定義關(guān)鍵字,應(yīng)該是日志中出現(xiàn)某個(gè)關(guān)鍵字進(jìn)行告警,或者不出現(xiàn)某個(gè)關(guān)鍵字進(jìn)行告警,其中包括String類(lèi)型與Number類(lèi)型2、 適應(yīng)不規(guī)則新生成的日志文件,適配所有日志文件,對(duì)日志具備初步清洗的功能目前開(kāi)源監(jiān)控中較為常見(jiàn)的是ZABBIX或ELK(也可是EFK)zabbix完全可以實(shí)現(xiàn)題主的需求,主要通

6、過(guò)匹配關(guān)鍵字實(shí)現(xiàn)告警,舉個(gè)例子,新建項(xiàng)目, 選擇類(lèi)型為zabbix客戶(hù)端(主動(dòng)式),鍵值為 xx_log.log 為日志的絕對(duì)路徑 ,connectException 為關(guān)鍵字 ,此處的關(guān)鍵字需根據(jù)自己需要定義,如下列配置:DIA3222E日志 log#DB2LOGDIR,DIA3222E,100,skip, 主機(jī)HOST.NAME#DB2LOGDIR日志產(chǎn)生DIA3222E信息 nodata(5m)=0這種監(jiān)控方式較為機(jī)械,不夠靈活,如類(lèi)型的轉(zhuǎn)換,上下文關(guān)聯(lián)不能夠?qū)崿F(xiàn),收到告警后需要人工介入進(jìn)行二次分析,優(yōu)點(diǎn)是配置簡(jiǎn)單,技術(shù)掌握較為單一,且侵入性較小。elk在監(jiān)控能力方面較為全面,logst

7、ash的grok語(yǔ)法 可以直接使用或應(yīng)用預(yù)定義的表達(dá)式名稱(chēng),并支持把預(yù)定義的 grok 表達(dá)式 寫(xiě)入到文件中,同樣滿(mǎn)足題主的需求,相比zabbix來(lái)說(shuō),更容易實(shí)現(xiàn)對(duì)關(guān)鍵字進(jìn)行抓取和搜索,并可以對(duì)關(guān)鍵字的類(lèi)型進(jìn)行轉(zhuǎn)化和計(jì)算。二者都可以 適配所有日志文件,不同的是,elk可以對(duì)日志進(jìn)行預(yù)清洗,而zabbix不可以。還有一種思路可以提供參考,可以通過(guò) logstash-output-zabbix插件,讓logstash來(lái)對(duì)日志進(jìn)行初步的清洗來(lái)達(dá)到日志的標(biāo)準(zhǔn)化,同樣可以對(duì)關(guān)鍵字在某種特殊場(chǎng)景下的類(lèi)型轉(zhuǎn)換和二次計(jì)算來(lái)讓監(jiān)控指標(biāo)更加合理, 通過(guò)這個(gè)插件將Logstash與zabbix進(jìn)行整合,也就是將Lo

8、gstash收集到的數(shù)據(jù)進(jìn)行過(guò)濾,將有錯(cuò)誤標(biāo)識(shí)的日志輸出到zabbix中,最后通過(guò)zabbix的告警機(jī)制進(jìn)行觸發(fā)、告警,這種方式將zabbix和logstash的優(yōu)點(diǎn)進(jìn)行整合,在技術(shù)棧在可控范圍內(nèi)進(jìn)行收窄的同時(shí),更靈活的進(jìn)行關(guān)鍵字的配置和告警,同時(shí)zabbix還可以實(shí)現(xiàn)告警后的處理,如重啟應(yīng)用、執(zhí)行腳本來(lái)達(dá)到初步的自愈功能。前面已經(jīng)有人分析的很好了,日志易經(jīng)過(guò)深度優(yōu)化形成了自己的搜索引擎,其他兩家基于elk為底層做的上層應(yīng)用,sp是集大成者,基于日志在運(yùn)維和安全都做的很好,缺點(diǎn)就是外企大廠的通病,易用性差。在日志運(yùn)維這塊國(guó)內(nèi)日志易做的比較好,其次是七牛,樂(lè)維也有日志監(jiān)控。安全這塊,傳統(tǒng)的安全廠

9、商日志產(chǎn)品都是基于滿(mǎn)足審計(jì)需求的盒子,真正做了一點(diǎn)場(chǎng)景的是瀚思,但是被360收了。項(xiàng)目經(jīng)理:介紹下我們?cè)囉玫腅lastalert。針對(duì)ES日志監(jiān)控,ES本身在X-pack中有集成的工具包,但是收費(fèi)的。故開(kāi)源免費(fèi)的ElastAlert是比較好的替代品。Elastalert的定義:ElastAlert是一個(gè)用Python編寫(xiě)的框架,用于實(shí)時(shí)監(jiān)控ES中數(shù)據(jù)中的異常,極值或其他感興趣的模式。它結(jié)合了兩種類(lèi)型的組件:規(guī)則類(lèi)型和警報(bào)。ElastAlert定時(shí)輪詢(xún)ES,并將查詢(xún)數(shù)據(jù)傳遞到規(guī)則類(lèi)型。規(guī)則類(lèi)型定義了匹配的時(shí)間和觸發(fā)告警的條件。此過(guò)程由一組規(guī)則配置,其中每個(gè)規(guī)則限定了一個(gè)查詢(xún),一個(gè)規(guī)則類(lèi)型和一組警報(bào)。官網(wǎng)介紹了一些Elastalert的特性:-可靠性:ElastAlert依靠ES將自身狀態(tài)的信息回寫(xiě)到約定的索引上。這樣可以事后回顧和調(diào)試ElastAlert的操作,并避免在ElastAlert重新啟動(dòng)或崩潰時(shí)丟失數(shù)據(jù)。一旦崩潰,ElastAlert也能靠持久化下來(lái)的信息,恢復(fù)到先前處理的位置。-高度模塊化:ElastAlert的主要組件是規(guī)則類(lèi)型和警報(bào)。它們可以作為模塊導(dǎo)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論