天天看點

IOT/智能裝置日志解決方案(2):全方位資料采集

系列文章:

資料采集

LogHub提供

30+種開箱即用的資料采集手段

,包括直接和雲産品打通的日志、移動端、服務端、程式、SDK、網頁、嵌入端等。在

全方位日志采集

中,我們對于各種方式進行了簡要介紹。下面我們主要介紹IOT場景下主要涉及的兩類資料采集:裝置端采和伺服器資料采集。

伺服器資料采集

伺服器日志采集通過Logtail實作,Logtail作為日志采集Agent,可通過中央伺服器進行管控,隻需點點滑鼠或API就能夠在幾秒鐘内對百萬機器下達資料采集指令。

Logtail覆寫了阿裡全站的實體機、虛拟機、容器,每天負責百萬級伺服器的資料采集,同時在阿裡雲公有雲、友商雲及使用者IDC中都有幾十萬的安裝量,适配所有Linux版本、Window、Docker、K8S等環境;支援幾十種資料源對接,并且經曆雙十一、新春紅包等挑戰。

IOT/智能裝置日志解決方案(2):全方位資料采集

得益于集團複雜場景的錘煉,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鑒權管理
IOT/智能裝置日志解決方案(2):全方位資料采集

可以自豪地說,Logtail方案是K8S下所有Agent中最全,最完整的,感興趣可以參見

LC3視角:Kubernetes下日志采集、存儲與處理技術實踐

 。

裝置端全球資料采集

C Producer Library 繼承Logtail穩定、邊界特點,可以定位是一個“輕量級Logtail”,雖沒有Logtail實時配置管理、檔案采集機制,但具備除此之外70%功能,包括:

  • 提供多租戶概念:可以對多種日志(例如Metric,DebugLog,ErrorLog)進行優先級分級處理,同時配置多個用戶端,每個用戶端可獨立配置采集優先級、目的project/logstore等
  • 支援上下文查詢:同一個用戶端産生的日志在同一上下文中,支援檢視某條日志前後相關日志
  • 并發發送,斷點續傳:支援緩存上線可設定,超過上限後日志寫入失敗
  • 本地調試:支援将日志内容輸出到本地,并支援輪轉、日志數、輪轉大小設定
  • 細粒度資源控制:支援針對不同類型資料/日志設定不同的緩存上線、聚合方式
  • 日志壓縮緩存:支援将未發送成功的資料壓縮緩存,減少裝置記憶體占用
IOT/智能裝置日志解決方案(2):全方位資料采集

關于C Producer Library的更多内容參見目錄:

https://yq.aliyun.com/articles/304602

目前針對不同的環境(例如網絡伺服器、ARM裝置、以及RTOS等裝置)從大到小我們提供了3種方案:

IOT/智能裝置日志解決方案(2):全方位資料采集

同時對于Producer我們進行了一系列的性能和資源優化,確定資料采集可以“塞”到任何IOT裝置上,其中C Producer Bricks版本更是達到了極緻的記憶體占用(庫體積13KB,運作記憶體4KB以内)。

IOT/智能裝置日志解決方案(2):全方位資料采集

使用C Producer系列的客戶有: 百萬日活的天貓精靈、小朋友們最愛的故事機火火兔、 遍布全球的碼牛、釘釘路由器、 相容多平台的視訊播放器、 實時傳輸幀圖像的攝像頭等。

這些智能SDK每天DAU超百萬,遍布在全球各地的裝置上,一天傳輸百TB資料。關于C Producer Library 的細節可以參考這篇文章: 

智能裝置日志利器:嵌入式日志用戶端(C Producer)釋出

IOT/智能裝置日志解決方案(2):全方位資料采集

資料采集全球加速

IOT裝置作為典型的“端”裝置,通常都會部署在全國、甚至全球各地,部署區域的網絡條件難以保證,這會對資料采集産生一個巨大的問題:資料采集受網絡品質影響,可靠性難以保證。

針對以上問題,日志服務聯合阿裡雲CDN推出了一款

全球資料上傳自動加速

方案:“基于阿裡雲CDN硬體資源,全球資料就近接入邊緣節點,通過内部高速通道路由至LogHub,大大降低網絡延遲和抖動 ”。

該方案有如下特點:

  • 全網邊緣節點覆寫:全球1000+節點,國内700+節點,分布60多個國家和地區,覆寫六大洲
  • 智能路由技術:實時探測網絡品質,自動根據營運商、網絡等狀況選擇最近接入
  • 傳輸協定優化:CDN節點之間走私有協定、高效安全
  • 使用便捷:隻需1分鐘即可開通加速服務,隻需切換到專屬加速域名即可獲得加速效果

IOT/智能裝置日志解決方案(2):全方位資料采集

在我們的日志上傳基準測試中,全球7個區域對比整體延時下降50%,在中東,歐洲、澳洲和新加坡等效果明顯。除了平均延時下降外,整體穩定性也有較大提升(參見最下圖,幾乎沒有任何抖動,而且逾時請求基本為0)。確定無論在全球的何時何地,隻要通路這個加速域名,就能夠高效、便捷将資料采集到期望Region内。

關于全球采集加速的更多内容,可參考我們的文章:

資料采集新形态-全球加速
IOT/智能裝置日志解決方案(2):全方位資料采集
IOT/智能裝置日志解決方案(2):全方位資料采集

若有收獲,就點個贊吧