阿里云存储服务 关注
手机版

IOT/智能设备日志解决方案(2):全方位数据采集

  1. 云栖社区>
  2. 阿里云存储服务>
  3. 博客>
  4. 正文

IOT/智能设备日志解决方案(2):全方位数据采集

元乙 2018-09-10 10:28:59 浏览776 评论1

摘要: LogHub提供[30+种开箱即用的数据采集手段],包括直接和云产品打通的日志、移动端、服务端、程序、SDK、网页、嵌入端等。在[全方位日志采集](https://yq.aliyun.com/articles/594990)中,我们对于各种方式进行了简要介绍。

系列文章:

数据采集

LogHub提供30+种开箱即用的数据采集手段,包括直接和云产品打通的日志、移动端、服务端、程序、SDK、网页、嵌入端等。在全方位日志采集中,我们对于各种方式进行了简要介绍。下面我们主要介绍IOT场景下主要涉及的两类数据采集:设备端采和服务器数据采集。

image.png | left | 827x337

服务器数据采集

服务器日志采集通过Logtail实现,Logtail作为日志采集Agent,可通过中央服务器进行管控,只需点点鼠标或API就能够在几秒钟内对百万机器下达数据采集指令。

Logtail覆盖了阿里全站的物理机、虚拟机、容器,每天负责百万级服务器的数据采集,同时在阿里云公有云、友商云及用户IDC中都有几十万的安装量,适配所有Linux版本、Window、Docker、K8S等环境;支持几十种数据源对接,并且经历双十一、新春红包等挑战。

image.png | left | 827x516

得益于集团复杂场景的锤炼,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鉴权管理

image.png | left | 827x430

可以自豪地说,Logtail方案是K8S下所有Agent中最全,最完整的,感兴趣可以参见LC3视角:Kubernetes下日志采集、存储与处理技术实践 。

设备端全球数据采集

C Producer Library 继承Logtail稳定、边界特点,可以定位是一个“轻量级Logtail”,虽没有Logtail实时配置管理、文件采集机制,但具备除此之外70%功能,包括:

  • 提供多租户概念:可以对多种日志(例如Metric,DebugLog,ErrorLog)进行优先级分级处理,同时配置多个客户端,每个客户端可独立配置采集优先级、目的project/logstore等
  • 支持上下文查询:同一个客户端产生的日志在同一上下文中,支持查看某条日志前后相关日志
  • 并发发送,断点续传:支持缓存上线可设置,超过上限后日志写入失败
  • 本地调试:支持将日志内容输出到本地,并支持轮转、日志数、轮转大小设置
  • 细粒度资源控制:支持针对不同类型数据/日志设置不同的缓存上线、聚合方式
  • 日志压缩缓存:支持将未发送成功的数据压缩缓存,减少设备内存占用

image.png | left | 827x341

关于C Producer Library的更多内容参见目录:https://yq.aliyun.com/articles/304602

目前针对不同的环境(例如网络服务器、ARM设备、以及RTOS等设备)从大到小我们提供了3种方案:

image.png | left | 827x368

同时对于Producer我们进行了一系列的性能和资源优化,确保数据采集可以“塞”到任何IOT设备上,其中C Producer Bricks版本更是达到了极致的内存占用(库体积13KB,运行内存4KB以内)。

image.png | left | 827x171

使用C Producer系列的客户有: 百万日活的天猫精灵、小朋友们最爱的故事机火火兔、 遍布全球的码牛、钉钉路由器、 兼容多平台的视频播放器、 实时传输帧图像的摄像头等。

这些智能SDK每天DAU超百万,遍布在全球各地的设备上,一天传输百TB数据。关于C Producer Library 的细节可以参考这篇文章: 智能设备日志利器:嵌入式日志客户端(C Producer)发布

image.png | left | 827x264

数据采集全球加速

IOT设备作为典型的“端”设备,通常都会部署在全国、甚至全球各地,部署区域的网络条件难以保证,这会对数据采集产生一个巨大的问题:数据采集受网络质量影响,可靠性难以保证。

针对以上问题,日志服务联合阿里云CDN推出了一款全球数据上传自动加速方案:“基于阿里云CDN硬件资源,全球数据就近接入边缘节点,通过内部高速通道路由至LogHub,大大降低网络延迟和抖动 ”。
该方案有如下特点:

  • 全网边缘节点覆盖:全球1000+节点,国内700+节点,分布60多个国家和地区,覆盖六大洲
  • 智能路由技术:实时探测网络质量,自动根据运营商、网络等状况选择最近接入
  • 传输协议优化:CDN节点之间走私有协议、高效安全
  • 使用便捷:只需1分钟即可开通加速服务,只需切换到专属加速域名即可获得加速效果

image | left

在我们的日志上传基准测试中,全球7个区域对比整体延时下降50%,在中东,欧洲、澳洲和新加坡等效果明显。除了平均延时下降外,整体稳定性也有较大提升(参见最下图,几乎没有任何抖动,而且超时请求基本为0)。确保无论在全球的何时何地,只要访问这个加速域名,就能够高效、便捷将数据采集到期望Region内。

关于全球采集加速的更多内容,可参考我们的文章:数据采集新形态-全球加速

image.png | left | 827x396

image.png | left | 827x222

【云栖快讯】阿里云栖开发者沙龙(Java技术专场)火热来袭!快来报名参与吧!  详情请点击

网友评论

1F
mitah

1