天天看點

雲原生架構下日志服務資料預處理

直達最佳實踐:【 https://bp.aliyun.com/detail/207

觀看視訊:【

https://yqh.aliyun.com/live/detail/23950 阿裡雲最佳實踐目前已覆寫23類常用場景,有200多篇最佳實踐,這其中涉及110款以上阿裡雲産品的最佳使用場景。目前,最佳實踐已成功幫助大量客戶實作自助上雲。

分享人

  • 解決方案架構師-七淩
  • 日志服務産品經理-谷奈

本篇實踐将從3個部分為大家介紹雲原生架構下日志服務資料預處理,希望可以讓大家對其有更深入的了解,并可以将其應用到項目中,達到降本提效的目的。本文主要内容分為以下三個方面:

  • 最佳實踐方案講解
  • 核心産品能力介紹
  • 基于場景的demo示範

一、最佳實踐方案講解

1. 雲原生下的資料加工

雲原生的定義各種各樣,有來自CNCF社群的“微服務+容器+持續傳遞+DevOps”,也有來自不同雲廠商的說法“生于雲,長于雲”。比如我們常常聽到的雲原生資料庫、雲原生大資料、雲原生容器、雲原生中間件、雲原生安全等等概念,這都是在雲上可以擷取到的服務化雲原生産品,是傳統線下沒有的服務,能夠線上上擷取極緻的彈性。這裡,我們提到的資料加工,它是阿裡雲提供的雲原生日志服務SLS所具備的能力之一。我相信大家都非常熟悉日志服務的資料存儲、資料查詢能力,而對于它提供的資料加工和告警通知,可能不太了解。SLS内置的資料加工能力,能夠将各類日志處理為結構化資料,具備全托管、實時、高吞吐的特點。它面向日志分析領域,提供非常豐富的算子、支援開箱即用的場景化UDF(比如Syslog、非标準json、accessLog解析等等)。同時與阿裡雲的大資料産品(OSS、MC、EMR、ADB等)以及開源生态(Flink、Spark)進行了深度內建,降低了資料分析的門檻。

雲原生架構下日志服務資料預處理

2. 雲原生資料加工的典型能力

下圖所示為資料加工服務的幾個典型能力,包括資料複制、過濾、轉換,富化、補漏、分裂等。整體優勢簡單來說可以歸納為以下四點:

  • 開箱即用,免運維
  • 開放靈活,支援200+DSL
  • 穩定可靠
  • 能做到秒級延遲
雲原生架構下日志服務資料預處理

3. 雲原生資料加工的典型應用場景

以向全球提供分布式線上教育的某家國際教育機構為例,為大家介紹幾個典型應用場景,供大家參考和借鑒。

  • 典型場景一:跨地域、跨賬号的資料彙集

    假設該線上教育的主要使用者集中在美國矽谷和中國上海兩地,為了更好的為使用者提供個性化服務,系統會通過多端(Android/IOS/Web)進行收集使用者行為日志和裝置中繼資料(端裝置的資訊、軟體版本)。出于網絡就近原則和穩定性考慮,美國矽谷的用戶端日志都上傳到美國矽谷region,中國上海的用戶端日志都都上傳到中國上海region,為了方面客服中心或者運維團隊進行集中查詢和管理,會将兩地的資料通過資料加工彙聚到一起。正如下圖上層所示,将跨賬号跨區域的服務日志和記錄檔通過資料加工彙聚到了一起。值得注意的是,跨地域資料彙集,預設會走公網,穩定性無法保證,是以推薦采用DCDN的方式進行全球加速。

    雲原生架構下日志服務資料預處理
  • 典型場景二:資料統一的采集,按業務分發,進行資料的歸類

    該客戶的業務系統部署在阿裡雲容器服務ACK上,系統日志通過DaemonSet方式采集到Logstore。便于後續業務分析的目的,需要通過日志服務SLS将不同Service的日志分發到不同的Logstore,然後各個團隊再進行進一步分析。比如,運維團隊更關心5XX服務端報錯;業務團隊更在乎2XX正常的業務日志。正如下圖下層所示:

    雲原生架構下日志服務資料預處理
  • 典型場景三:資料内容富化(join維表)

    日常工作中,客服中心的從業人員嘗嘗需要通過檢索賬号ID的方式,快速擷取該使用者相關的移動端操作記錄,但是移動端的資料和使用者賬号資訊分别采集與存放的,無法直接進行關聯。是以系統層面上,需要将多端日志與維表(例如使用者資訊Mysql表)進行字段join,為原日志資訊添加更多元度資訊供分析或者問題解答。

    雲原生架構下日志服務資料預處理
  • 典型場景四:資料投遞/歸檔、入湖分析以及監控告警

    營運部門希望對于使用者行為資料進行進一步的離線分析,需要将資料歸檔到OSS便于後續使用,比如通過DLA進行進一步的資料挖掘。但是由于不同用戶端日志格式不統一,需要使用日志服務進行資料規整後再做投遞,便于後續分析。比如,将移動端上報的json格式進行展開,做格式化的規整,然後将規整後的資料投遞到OSS後,再使用DLA進行分析。并且在這個過程中,我們可以對加工任務的延遲情況進行監控,當加工任務延遲時間超過所設定的門檻值後,觸發告警,執行相關行動政策。比如根據延遲時間的長短,設定不同的告警嚴重程度,并設定對應的告警形式: 嚴重為短信告警,中等為郵箱告警。通知到相應的運維人員,并且通過設定降噪政策,可以對類似告警進行歸并,避免告警風暴的影響。其實下面這幅架構圖也是這篇最佳實踐的架構示意圖,裡面包括了方案涉及到的核心元件,後續将通過雲速搭CADT進行一鍵部署,完成基礎資源的建立。

    雲原生架構下日志服務資料預處理

4. 使用雲原生資料加工方案的優勢

通過這篇最佳實踐,我們可以知道如何進行資料規整、如何進行資料富化、資料分發/彙聚、如何做監控告警的配置。

雲原生架構下日志服務資料預處理

二、核心産品能力介紹

什麼是SLS?

SLS這個産品用一句話描述即SLS是雲原生觀測分析平台,為LOG/METRIC/TRACE等資料提供大規模、低成本、實時平台化服務。能夠一站式提供資料采集、加工、分析、告警可視化與投遞功能,能夠全面提升研發、運維、營運和安全等場景的數字化分析能力。通俗一點說的話,相關日志資料包括log日志、trace日志、metric日志都可以通過SLS采集之後,在SLS裡面經過加工分析等處理,最終應用到客戶的業務場景裡,主要場景包括:業務監控、異常診斷、網絡分析、應用監控、增長黑客等。

雲原生架構下日志服務資料預處理

SLS是從阿裡雲飛天監控系統中孵化的産品,是一款阿裡自研,在阿裡内外部得到廣泛使用的《日志+監控資料平台》,同時經曆了集團多年雙十一和外部客戶新春紅包的考驗,是國内公有雲TOP1的日志分析産品。

雲原生架構下日志服務資料預處理

SLS的應用場景

SLS作為一款日志産品,有着開放的産品理念和豐富的生态交叉。對目前使用者資料比較大的雲産品業務日志,以及審計日志,均可接入到SLS。同時SLS與大資料産品的投遞和消費的功能,有很強的的解決方案組合能力。那麼接下來我們就細看下SLS主要的應用場景,作為日志平台、業務監控、資料管道是目前使用最多的三個場景。

雲原生架構下日志服務資料預處理
  • 日志平台

    日志平台比較好了解,隻要是有一定規模的使用者,就肯定會有業務運維和系統運維的需求,也就衍生了日志平台的需求。在SLS産品化之前,大部分使用者都是使用開源的服務進行組合,比較主流的比如ELK的使用,而日志服務相比于這些自建的平台,在免運維、低成本、功能豐富等方面的優勢是自建系統所無法比拟的。

  • 業務監控

    業務監控和智能運維其實也是運維領域通用場景的需求,SLS擁有秒級處理十億級資料的分析能力,同時可以滿足各種異構資料提取、聚合、可視化需求。同時另外結合我們的告警以及AI異常檢測能力,可以幫助客戶快速搭建起來一套完善的監控告警系統,最後結合日志服務提供的異常巡檢、時序預測、根因分析等能力,能夠幫助使用者提高問題發現以及分析定位效率。

  • 資料管道

    由于SLS具有極強的統一資料采集的能力,目前已經支援40+種資料源的接入,同時資料加工能力通過靈活的ETL能夠對資料進行清洗富化,最終通過投遞消費的功能,與主流流式及離線平台大資料分析平台對接。是以作為資料管道在大資料等解決方案中使用也是主要的場景之一。

SLS的主要功能

功能包括資料采集、資料加工、查詢分析、業務監控、日志審計、投遞與消費。

雲原生架構下日志服務資料預處理
  • 日志采集

    日志采集是SLS的一個核心功能,是幫助客戶進行日志存儲分析等的前提,在日志采集這一方面,SLS基本上是往極緻的思路上在做。無論是LOG/TRACE/METRIC的日志,使用者的伺服器與應用日志,移動端的資料日志,IoT裝置的日志,阿裡雲的各個雲産品日志,還是其他場景,隻要是滿足标準協定的傳輸的日志,都可以通過SLS的采集平台進行統一采集。

    雲原生架構下日志服務資料預處理
  • 資料加工

    完成了資料采集的工作之後,多樣化的資料在投入使用之前,往往需要進行格式規整的工作,這時候就需要使用到資料加工的功能。SLS提供的資料加工是一款開箱即用的功能,支援資料過濾、轉化、富化、分裂等處理。為了實作這樣的能力,資料加工提供了200+的内置函數,400+的Grok,豐富的文本處理,搜尋算子,可以通過簡單的代碼自由編排組合操作,實作所需要的的資料加工能力。

    雲原生架構下日志服務資料預處理
    同時資料加工具備的秒級處理性能,大吞吐性能和水準拓展能力可以保障客戶任務的可靠執行。
  • 查詢分析

    通過資料加工,客戶可以将原始的日志加工成結構化的資料,接下去就可以做查詢和分析。SLS的查詢分析提供了關鍵詞、标準的SQL92\ALOPS函數等多種多樣的查詢方式,支援面向文本+結構化資料實時查詢分析,異常巡檢與智能分析,同時SLS擁有極緻的查詢性能,十億資料能夠在秒級進行傳回。

    雲原生架構下日志服務資料預處理
  • 通過這些分析後得到的查詢的資料,就可以使用SLS的可視化能力,形成報表友善二次查詢。一次SQL長期使用,所見即所得。同時SLS支援下鑽分析和上卷分析,客戶可以根據實際的業務需求設定對應的報表組合。另外SLS支援靈活的告警政策,支援多資料源的聯合告警監控,也支援通過歸并、抑制、靜默等智能設定有效降低告警風暴,以便于能夠将真正有效有價值的資料通知到使用者,友善使用者随時随地掌握業務動向。
    雲原生架構下日志服務資料預處理
  • 日志審計

    日志審計主要應對客戶的安全需求,能夠幫助客戶快速接入審計資料,以符合等保/網安法/GDPR協定,同時與第三方SOC完整對接,可以對資料進行二次使用。目前日志審計已覆寫所有日志相關産品日志自動化采集,可以實作跨多主賬号、自動實時發現新資源并實時采集。我們在日志審計中内置了近百個CIS、最佳實踐等場景監控規則,可以一鍵開啟,及時發現不合規的行為。

    雲原生架構下日志服務資料預處理
  • 投遞功能

    投遞功能是在當客戶有資料歸檔或者複雜資料分析需求時,可以從日志服務投遞(和消費對應的日志)到第三方服務。目前已經對接了主流流計算引擎和資料倉庫存儲。消費功能是指使用者的ECS\容器、移動端、開源軟體、JS等資料,通過采集接入到SLS後,可以通過SDK/API來自定義消費組,從SLS實時消費資料。

    雲原生架構下日志服務資料預處理

三、基于場景的demo示範

本最佳實踐采用

雲速搭CADT

對需要使用的資源進行部署,它是一款為上雲應用提供自助式雲架構管理的産品,顯著地降低應用雲上管理的難度和時間成本。本産品提供大量預制的應用架構模闆,同時也支援自助拖拽方式定義應用雲上架構,支援大量阿裡雲服務的配置和管理,可以友善地對雲上架構方案的成本、部署、運維、回收進行全生命周期的管理。下面簡單示範下架構部署環境的搭建過程。

  1. 登入 控制台。
  2. 單擊建立 > 官方模闆庫建立。
    雲原生架構下日志服務資料預處理
  3. 在搜尋框中搜尋“雲原生架構下日志服務資料預處理”,找到目标模闆,單擊基于方案建立。
    雲原生架構下日志服務資料預處理
    系統基于模闆生成應用架構圖:
    雲原生架構下日志服務資料預處理
  4. 輕按兩下OSS,需要重命名,保證全局唯一,其他資源配置根據實際情況修改。
    雲原生架構下日志服務資料預處理
  5. 完成配置後,單擊右上角的儲存,設定應用名稱,并單擊确認。
    雲原生架構下日志服務資料預處理
  6. 接着單擊部署應用。
    雲原生架構下日志服務資料預處理
  7. 按界面提示,依次完成資源驗證、訂單确認和下單建立等過程。等待資源部署成功後,可以單擊資源名稱列下的各個資源檢視。
    雲原生架構下日志服務資料預處理

關于完整的搭建示範過程,大家可以通過下面這個連結或通路二維碼來通路本篇最佳實踐文檔内容,裡面包含最佳實踐場景和完整的搭建過程。

直達最佳實踐 》》
雲原生架構下日志服務資料預處理

繼續閱讀