系列文章:
- IOT/智能裝置日志解決方案(1):概述
- IOT/智能裝置日志解決方案(2):全方位資料采集
- IOT/智能裝置日志解決方案(3):上下遊對接
- IOT/智能裝置日志解決方案(4):計算與分析
- IOT/智能裝置日志解決方案(5):線上問題調查
- IOT/智能裝置日志解決方案(6):實時監控
- IOT/智能裝置日志解決方案(7):搭建業務大盤
資料采集
LogHub提供
30+種開箱即用的資料采集手段,包括直接和雲産品打通的日志、移動端、服務端、程式、SDK、網頁、嵌入端等。在
全方位日志采集中,我們對于各種方式進行了簡要介紹。下面我們主要介紹IOT場景下主要涉及的兩類資料采集:裝置端采和伺服器資料采集。
伺服器資料采集
伺服器日志采集通過Logtail實作,Logtail作為日志采集Agent,可通過中央伺服器進行管控,隻需點點滑鼠或API就能夠在幾秒鐘内對百萬機器下達資料采集指令。
Logtail覆寫了阿裡全站的實體機、虛拟機、容器,每天負責百萬級伺服器的資料采集,同時在阿裡雲公有雲、友商雲及使用者IDC中都有幾十萬的安裝量,适配所有Linux版本、Window、Docker、K8S等環境;支援幾十種資料源對接,并且經曆雙十一、新春紅包等挑戰。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yMxU2M2ATYwQDMkRTYjBTO1cDO0ITYwUjY5EDNhljZ08CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
得益于集團複雜場景的錘煉,Logtail和開源Agent(例如Fluentd、Logstash、Beats)相比,性能、資源消耗、可靠性和多組合隔離等硬名額上較為領先。可以滿足國内最大的直播網站、最大的教育類網站、最大的金融類網站的苛刻要求。和開源Agent主要差距在于日志格式的豐富性(目前Logtail版本已支援Logstash、Beats協定,既可以将這些開源插件無縫跑在Logtail之上)。
Kubernetes資料采集
目前越來越多的IOT公司開始把服務端應用搭建在K8S/Docker上,用以适用輕量化部署、快速擴容、降低運維成本等需求,Logtail對于K8S/Docker場景也支援的非常友好。
Logtail針對Docker/K8S等場景做了非常多的适配工作,包括:
- 一條指令一個參數即可實作部署,資源自動初始化
- 支援CRD方式配置,支援K8S控制台、kubectl、kube api等,與K8S釋出、部署無縫內建
- K8S RBAC鑒權,日志服務STS鑒權管理
可以自豪地說,Logtail方案是K8S下所有Agent中最全,最完整的,感興趣可以參見
LC3視角:Kubernetes下日志采集、存儲與處理技術實踐。
裝置端全球資料采集
C Producer Library 繼承Logtail穩定、邊界特點,可以定位是一個“輕量級Logtail”,雖沒有Logtail實時配置管理、檔案采集機制,但具備除此之外70%功能,包括:
- 提供多租戶概念:可以對多種日志(例如Metric,DebugLog,ErrorLog)進行優先級分級處理,同時配置多個用戶端,每個用戶端可獨立配置采集優先級、目的project/logstore等
- 支援上下文查詢:同一個用戶端産生的日志在同一上下文中,支援檢視某條日志前後相關日志
- 并發發送,斷點續傳:支援緩存上線可設定,超過上限後日志寫入失敗
- 本地調試:支援将日志内容輸出到本地,并支援輪轉、日志數、輪轉大小設定
- 細粒度資源控制:支援針對不同類型資料/日志設定不同的緩存上線、聚合方式
- 日志壓縮緩存:支援将未發送成功的資料壓縮緩存,減少裝置記憶體占用
關于C Producer Library的更多内容參見目錄:
https://yq.aliyun.com/articles/304602目前針對不同的環境(例如網絡伺服器、ARM裝置、以及RTOS等裝置)從大到小我們提供了3種方案:
同時對于Producer我們進行了一系列的性能和資源優化,確定資料采集可以“塞”到任何IOT裝置上,其中C Producer Bricks版本更是達到了極緻的記憶體占用(庫體積13KB,運作記憶體4KB以内)。
使用C Producer系列的客戶有: 百萬日活的天貓精靈、小朋友們最愛的故事機火火兔、 遍布全球的碼牛、釘釘路由器、 相容多平台的視訊播放器、 實時傳輸幀圖像的攝像頭等。
這些智能SDK每天DAU超百萬,遍布在全球各地的裝置上,一天傳輸百TB資料。關于C Producer Library 的細節可以參考這篇文章:
智能裝置日志利器:嵌入式日志用戶端(C Producer)釋出。
資料采集全球加速
IOT裝置作為典型的“端”裝置,通常都會部署在全國、甚至全球各地,部署區域的網絡條件難以保證,這會對資料采集産生一個巨大的問題:資料采集受網絡品質影響,可靠性難以保證。
針對以上問題,日志服務聯合阿裡雲CDN推出了一款
全球資料上傳自動加速方案:“基于阿裡雲CDN硬體資源,全球資料就近接入邊緣節點,通過内部高速通道路由至LogHub,大大降低網絡延遲和抖動 ”。
該方案有如下特點:
- 全網邊緣節點覆寫:全球1000+節點,國内700+節點,分布60多個國家和地區,覆寫六大洲
- 智能路由技術:實時探測網絡品質,自動根據營運商、網絡等狀況選擇最近接入
- 傳輸協定優化:CDN節點之間走私有協定、高效安全
- 使用便捷:隻需1分鐘即可開通加速服務,隻需切換到專屬加速域名即可獲得加速效果
IOT/智能裝置日志解決方案(2):全方位資料采集
在我們的日志上傳基準測試中,全球7個區域對比整體延時下降50%,在中東,歐洲、澳洲和新加坡等效果明顯。除了平均延時下降外,整體穩定性也有較大提升(參見最下圖,幾乎沒有任何抖動,而且逾時請求基本為0)。確定無論在全球的何時何地,隻要通路這個加速域名,就能夠高效、便捷将資料采集到期望Region内。
關于全球采集加速的更多内容,可參考我們的文章:
資料采集新形态-全球加速若有收獲,就點個贊吧