系列文章:
- 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等环境;支持几十种数据源对接,并且经历双十一、新春红包等挑战。
得益于集团复杂场景的锤炼,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分钟即可开通加速服务,只需切换到专属加速域名即可获得加速效果
在我们的日志上传基准测试中,全球7个区域对比整体延时下降50%,在中东,欧洲、澳洲和新加坡等效果明显。除了平均延时下降外,整体稳定性也有较大提升(参见最下图,几乎没有任何抖动,而且超时请求基本为0)。确保无论在全球的何时何地,只要访问这个加速域名,就能够高效、便捷将数据采集到期望Region内。
关于全球采集加速的更多内容,可参考我们的文章:数据采集新形态-全球加速 。
若有收获,就点个赞吧