云原生架构下日志服务数据预处理
觀看視頻:【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對需要使用的資源進行部署,它是一款為上云應用提供自助式云架構管理的產品,顯著地降低應用云上管理的難度和時間成本。本產品提供大量預制的應用架構模板,同時也支持自助拖拽方式定義應用云上架構,支持大量阿里云服務的配置和管理,可以方便地對云上架構方案的成本、部署、運維、回收進行全生命周期的管理。下面簡單演示下架構部署環境的搭建過程。
系統基于模板生成應用架構圖:
關于完整的搭建演示過程,大家可以通過下面這個鏈接或訪問二維碼來訪問本篇最佳實踐文檔內容,里面包含最佳實踐場景和完整的搭建過程。
直達最佳實踐 》》https://bp.aliyun.com/detail/207
原文鏈接:https://developer.aliyun.com/article/816556?
版權聲明:本文內容由阿里云實名注冊用戶自發貢獻,版權歸原作者所有,阿里云開發者社區不擁有其著作權,亦不承擔相應法律責任。具體規則請查看《阿里云開發者社區用戶服務協議》和《阿里云開發者社區知識產權保護指引》。如果您發現本社區中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社區將立刻刪除涉嫌侵權內容。總結
以上是生活随笔為你收集整理的云原生架构下日志服务数据预处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云原生乘风者联合征文活动——说出你和「阿
- 下一篇: 基于Delta lake、Hudi格式的