客户案例 : 大数据服务平台的可观测系统建设分享

    导读

    热云数据

    热云数据(www.reyun.com)成立于 2013 年,是一家专注移动营销的第三方大数据服务商,在大数据采集、海量数据处理、数据挖掘、用户行为分析建模及数据应用等方面拥有多年的积累和丰富的经验,为行业客户提供流畅、安全、高效、便捷的移动营销数据分析及解决方案。

    案例亮点

    减少繁杂工具,观测云一个平台整合所有数据

    快速定制仪表盘,丰富数据监控视图解放双手

    全链路追踪,特色 SourceMap 功能定位代码异常

    高效协作,笔记复盘、快照分享让团队工作更简单

    简单介绍一下贵公司

    热云数据成立于 2013 年,是一家专注移动营销的第三方大数据服务商,致力于让移动营销变得更简单。公司总部位于北京,并在上海、广州、厦门、杭州等地设立分公司、办事处。

    热云数据在大数据采集、海量数据处理、数据挖掘、用户行为分析建模及数据应用等方面拥有多年的积累和丰富的经验。旗下产品覆盖移动广告效果监测、广告防作弊、广告素材分析、广告智能投放、A/B 测试等领域,构建起贯穿移动广告投放全生命周期的营销体系。为行业客户提供流畅、安全、高效、便捷的移动营销数据分析及解决方案。

    之前用过哪些监控工具,是否能完全满足需求?

    我们系统大多部署在 AWS 云平台,使用过很多监控工具,初期主要使用开源产品进行搭建,比如 Prometheus + Grafana + AlertManager,同时引入过一些 APM 工具,基本都是运维同学熟悉哪些就直接安装使用了。但在实际使用的过程中,开源软件有些功能不完善,要改造只能自己做二次开发。另外各种监控工具间,有数据割裂的问题,在排查故障时,若要做数据关联分析,如果不想再手写个额外接口或再导一遍数据,那就得在不同工具之间进行切换查看,比如先要记住 A 工具里一个对象某时刻的状态信息,再切到 B 工具里去找该时刻的关联状态数据,效率有点差。我们一直在关注能尽可能实现数据统一的监控方案,就注意到了观测云。

    使用观测云后,直观获得了哪些提升?

    观测云有些非常新颖、实用的特性,能够非常方便的进行可观测系统建设:

    • 内置提供非常丰富的数据监控视图模板,例如:MySQL 监控、容器监控、云服务器等等,提供了很漂亮的模板,开箱即用。如果自己还想增加一些额外需要关注的指标,可以通过拖拉拽控件的方式修改视图,或者可以合并一个其他现有视图,几分钟就可以搞定一个仪表盘的定制。

    • 支持采集多云环境中的主机、容器、进程等维度的指标数据,实现多云环境统一监测,再用蜂窝图全量展示。

    • 可以串联起不同对象的数据,通过统一标签,关联指标、链路、日志等数据,实现各对象间的数据平滑跳转分析。

    • 可以通过快照方式保存「问题现场」的数据图表,并通过链接分享给其他协作同学(没有观测云账号也可以),快速进行问题分析,提高整体协作,加快解决问题的速度。

    • 通过 DataFlux Function 函数处理平台,可以做一些扩展开发功能,能够将很多其他系统的数据统一整合到观测云平台进行分析。

    观测云是否已经接入贵司核心系统了?

    公司核心产品线所有应用都已经接入观测云,实现指标、日志、应用链路和前端用户行为数据的收集,并通过观测云的灵活的数据关联功能,将前后端数据打通,比如前端用户访问和后端应用 APM 数据以及日志等进行管理,并配置上相关告警。

    能具体分享些使用观测云的真实场景吗?

    a) 前端报错分析

    现在每天上班我们都会主动登录观测云查看,生产环境中有什么样的潜在问题,做到提前发现,及时解决。观测云也确实帮助我们发现了一下我们之前没有发现的问题。

    比如说,我们可以利用前端用户访问的概览,查看用户访问整体情况,以及错误情况。


    如果有错误的页面,则会直接跳转到相关的 View 或者 Error 查看器来查看页面和报错的具体信息。

    在这里,我们使用了观测云一个很有特色的 SourceMap 转换功能。一般来说,我们在生产环境的 js 文件会经过各种转换和压缩,与开发时的源代码差异较大,在调试和排错的时候不是很方便。如果需要定位错误至源码中,就可以借助于 SourceMap 文件。

    观测云的 DataKit 采集器支持这种源代码文件信息的映射,方法是将对应 js 的 SourceMap 文件进行 zip 压缩打包,命名格式为 <app_id>--.zip,上传至指定的文件夹,这样就可以对上报的 Error 指标集数据自动进行转换,并追加 error_stack_source 字段至该指标集中。如果绑定了 SourceMap 后,可以定位到生产 js 代码的具体位置。

    b) 通过笔记进行复盘分析

    再比如前端团队通过观测云的团队协作工具--笔记功能对前端错误进行复盘分析,并通过快照方式进行分享。

    1. 观测平台利用笔记查看前端时序报错趋势(根据热云 3 月份- 5 月份前端进行整理)


    2. 观测云用户轨迹助力排错分析

    3. 观测云 SourceMap 定位代码错误

    c) 对前端指标进行监控告警

    观测云丰富的性能监测和告警功能,支持对脚本报错、资源错误以及性能相关指标等 20 多种前端内置告警功能,同时支持页面、城市、版本、客户端等各种维度。当前国内前端性能监测还停留在比较原始的阶段,但观测云在前端性能监测已经走到了非常丰富和成熟的阶段。

    您对观测云还有什么建议?

    希望观测云在能够开展更多技术分享、最佳实践活动,帮助企业将稳定性风险左移。另一方面,希望观测云能够持续提高系统的交互友好性。

    作者|热云数据 SaaS 产品线技术负责人——魏佳
    观测云——宋新涛

    联系我们

    加入社区

    微信扫码
    加入官方交流群

    立即体验

    在线开通,按量计费,真正的云服务!

    立即开始

    选择观测云版本

    代码托管平台