当前位置: 首页 > 科技观察

流利说统一可观测平台实践

时间:2023-03-18 20:43:24 科技观察

在线教育行业现状随着1990年代互联网的引入,基于互联网的在线教育产品应运而生。随着互联网技术的发展,在线教育产品的新模式也开始出现。在线教育从最初的简单文字形式开始向图片、音频发展。在线教育也进一步推动了数字化的发展。内容作为教育企业的核心资产,数字化程度和规模都在不断提升。同时,用户使用时长的增加为教育AI提供了大量的源数据。据统计,今年3月,在线教育用户日均在线时长超过200万天。如此庞大的数据量为行业的智能化发展提供了良好的土壤,促进了教学内容智能分析、课程营销、教师管理、质量评估等智能化发展。流利说公司简介流利说是全球领先的科技驱动型教育公司。作为智能教育的倡导者,流利说拥有行业领先的人工智能团队。经过多年的积累,流利说拥有庞大的“中文英语语音数据库”,累计记录了约37亿分钟的对话和504亿条录音。2013年,流利说推出了第一款产品“英语流利说”,集成了多种核心技术,如语音识别、打分、自适应学习等丰富的内容,如语境对话、发音指导课程等,并提供人工智能英语教师和游戏化学习体验,让用户在英??语学习中获得更多乐趣。有效的产品在当时迅速占领了市场,获得了用户的高度认可,但随着业务的快速发展和用户数量的大幅增加,平台用户数量从百万增长到百万以上.因此,业务高低峰时期数据流量的变化,业务复杂度及分析困难给IT架构带来了巨大的挑战。巨大的挑战来了。流利说统一监控平台相关挑战作为一家没有独立运维部门的公司,基础平台的统一监控平台主要由云基团队研发完成,团队的核心诉求是不仅有SLA、性能监控、Alerts和为问题定位提供相关数据,还有cloud-infra技术价值运营,比如利用率、成本节约、业务关系网络。在这些核心诉求下,对统一的监控平台会有很高的要求:1.采集监控各种异构数据源,包括K8s、ECS上的机器指标、利用率、Istio相关调用日志、自建中间件等相关指标,云服务提供的指标、业务轨迹数据等,以及各种成本数据的实时采集。2、各种资源的动态发现和动态采集,包括组织关系等部门相关数据也需要实时更新,实时反馈最准确的相关指标和归属关系。3.大规模数据存储和分析。由于流利说的业务规模庞大,使用的各种云资源和业务产生的数据量非常大,每天几十TB。该解决方案需要满足这种规模的实时分析和分析的需求。证明能力。4.监控平台负责稳定性问题,自身的稳定性也需要做好。因此,需要消除各部分的单点问题,并具备异常快速恢复的能力。技术选型的统一监控平台不仅仅是时序相关的数据,非常核心的业务可用性数据需要通过各种日志进行计算分析。所以需要整体选择Logs和Metrics数据方案。这两类数据有不同的社区或商业解决方案,如ES、Loki、SLS、Prometheus、OpenTSDB、InfluxDB等,最终日志方案选择了阿里云SLS,选择了Prometheus+SLS用于定时解决方案。主要原因有以下几点:1.SLS具备对各种数据进行统一存储和分析的能力,可以关联SLS上的Metrics和Logs数据。平台没有的2、SLS平台可以适应非常大的数据规模。与ES相比,性能要好很多。也是免运维服务,无需维护ES的高可靠性。主啊,Prometheus的生态很完善,PromQL也很好用。SLS时序库可以作为Prometheus的远程高可靠存储,可以解决Prometheus的可靠性问题。4、SLS解决方案具有数据处理功能,可以与外部数据源进行Join分析处理,可以更好地处理各种复杂的日志,将日志添加到目录相关信息中。目前流利说统一监控平台的整体架构如上图所示:1.为了实现自动化,我们开发了一套适用于云场景的IaaS,PaaS资源的动态发现机制可以添加新购买和创建资源实时监控和采集,避免大部分人工操作2.日志相关:不同业务的日志通过SLS的Logtail直接采集到不同的日志库不是所有的日志都需要长期存储和索引,所以我们分类日志。对于需要审计的,会交付给OSS长期保存;业务排查日志仅保存2周,并启用全文索引;AccessLog只启用部分字段的索引,可以节省大量的索引成本。对于需要计算SLA和PXX指标的NGINX访问日志,会通过数据处理将NGINX访问日志中的URL映射到对应的部门、应用、方法等。3、监控相关监控方案选用Prometheus。针对流利说场景,我们开发了一些exporter,用于获取各种云产品和自建组件的metrics。同时,为了更好的使用Prometheus和内部的CICD系统进行整合,我们在Prometheus中添加了一个Sidecar来监控Git仓库的变化,并根据变化动态重新加载Prometheus的配置。为了提高查询速度,在Prometheus上配置了各种RecordingRules,都是使用Git直接管理AlertManager的告警。内部报警中心可进行排版、升级等高级功能。为了解决Prometheus单点问题和后面跟Catalog做关联分析的问题,我们使用SLS的时序库,直接让PrometheusRemoteWrite到SLS的时序库4.指标计算核心指标的计算部分来自NGINX的AccessLog。从入口可以得到各业务的QPS、错误率、延迟(平均值、PXX等)。没有侵入性的资源利用、中间件和业务基础。设施等指标来自Prometheus编写的时间序列库。基于目录,可以汇总计算各部门指标信息和业务相关指标。由于数据量很小,可以很方便的存储在MySQL和ES中。并递交一份给OSS备份相关结果。目前这个监控平台承载了公司几乎所有的核心监控。上线后一直稳定运行,可以轻松应对各种活动时突然增加的数据量。整体的业务价值主要体现在:1、监控:监控的第一个价值就是做各种监控和告警,尤其是和SLA相关的。由于数据已经与具体部门和业务应用相关联,所以很容易得到每个部门和应用的SLA,并在公司内部统一推进和改进2.故障排除和故障隔离:基于Istio访问日志和目录信息,可以计算出每个应用程序的调用关系,因此可以实时生成业务关系网格,并且可以知道每个关系(边缘)的质量。了解业务关系后,出现问题时可以快速定位根源,隔离故障。3、FinOps:在CloudInfra部门,挑战最大的问题就是成本问题。因此,成本优化也是我们的核心工作之一。主要方法是计算各部门和团队的资源利用率,包括平均利用率和各种PXX的利用率(如下表),从而判断各部门和团队的资源利用率.充分利用各部门资源,促进各部门成本优化。流利说统一监控背后的技术流利说统一监控是建立在阿里云SLS的基础之上的。SLS定位为云原生观察分析平台,为Log/Metric/Trace等数据提供大规模、低成本、实时的平台服务。提供一站式的数据采集、处理、分析、告警可视化和下发功能,全面提升研发、运维、运营和安全场景的数字化能力。其中,统一监控使用了SLS的多种核心功能,主要包括:全方位的日志采集SLS支持Log/Metric/Trace统一采集,支持server/Kubernetes/application/mobiledevice/webpage/IoT等数据源接入,并支持阿里云产品/开源系统/云间/云下日志数据访问,核心特点是:1.便捷:40+成熟的访问方案,多客户端统一采集,支持内网、公网、全球加速传输等。传输方式2.可靠:阿里巴巴经济体使用自己的基础设施,经过多次双十一和春晚活动的检验。支持断点续传,可根据业务流量实现弹性伸缩。3、开放性:多协议(HTTP/Syslog/Prometheus/OpenTelemetry)无缝接入,与开源生态Prometheus时序解决方案完全对接SLS时序存储,从一开始就解决了阿里巴巴和众多领先的时序存储需求企业客户,并借助阿里内部多年的技术积累,使其适用于大部分企业级的时序监控/分析需求。SLS时序存储的主要特点是:1.丰富的上下游:SLS支持多种采集方式进行数据访问,包括各种开源代理和阿里云内部监控数据通道;同时存储的时序数据支持对接各种流计算、离线计算引擎,数据完全开放2.高性能:SLS存储计算分离架构充分发挥集群能力,尤其是端到端大数据量下端速度有显着提升3.免运维:SLS的时序存储是完全服务化的,不需要用户自己去运维实例,所有的数据都存储在3份高可靠性,让您不用担心数据的可靠性。5.智能:SLS提供多种AIOps算法,如多周期估计、预测、异常检测、时间序列分类等时间序列算法。基于这些算法,智能告警、诊断平台实时数据分析查询分析,提供关键字、SQL92、AIOps函数等多种方式,支持文本+结构化数据实时查询分析、异常巡检、智能分析。主要特点如下:1.高性能:秒级分析亿级数据,全面支持SQL、PromQL等分析接口,HTTP、Kafka、JDBC、Prometheus等协议2.稳定可靠:企业级设计,多租户隔离,PB级容量设计,数万企业用户选择3.智能:阿里经济体践行的AIOps能力支持智能异常检测和根因分析数据处理数据处理支持各种复杂数据无需写入代码通过灵活的语法提取、分析、丰富、分发等需求,支持结构化分析。数据处理的主要特点如下:1.灵活:提供丰富的算子和开箱即用的场景化UDF(Syslog、非标准json、AccessLogUA/URI/IP解析等)。可扩展的语法来处理各种复杂的格式2.免费运维:完全托管的云服务,无需投入额外的运维资源。支持根据流量自动弹性伸缩3、可扩展:支持多层嵌套、拆分等逻辑,支持复杂的数据分配和编排需求。云原生时代,数字化正在驱动各行各业的业务创新。只有提升用户体验,加快创新,更新基础设施和架构,用好多样化的数据,才能在大环境中脱颖而出。阿里云推出的智能运维平台,不仅是为了帮助工程师减轻工作量,更是将运维工程师从各种机械化的工作中解放出来。我们将把所有的“脏活”都搞定,大大减少故障时间,让运维人员将更多的创造力集中在数字化创新和企业业务创新上,为企业提供更好的竞争力。原文链接:http://click.aliyun.com/m/1000282429/