流利说统一可观察性平台实践

简介: 流利说利用日志服务SLS构建统一可观察性平台最佳实践

在线教育行业现状
随着 90 年代互联网的引入,在线教育产品也依托于互联网诞生。随着互联网技术的发展,在线教育产品也开 始了出现新的模式。在线教育从最初单纯的文字形式,开始往图片、音频方面开始发展。 教育在线化也进一步促进了数据化的发展,内容作为教育企业的核心资产,无论是数据化程度还是数据化规模都在不断提升。同时用户使用时长的提升,又为教育 AI 提供了大量源数据。据统计今年 3 月份在线教育用户日均在线 时长,超过 200 万天。如此海量的数据为行业的智能化发展提供了良好的土壤,推动了教学内容、课程营销、师资 管理、质量评估等智能分析的发展。

流利说公司介绍
流利说是世界领先的科技驱动的教育公司,作为智能教育的倡行者,流利说拥有一支业内领先的人工智能团队,经过多年积累,流利说已拥有巨型的“中国人英语语音数据库”,累积实现记录大约 37 亿分钟的对话和 504 亿句录音。
2013年流利说推出了第一款产品“英语流利说”,集成了语音识别、打分和自适应学习等多种核心技术。具有上下文情景对话、发音指导课程等丰富内容,并提供人工智能英语老师和游戏化的学习体验,为用户在英语学习中获得更多乐趣。这款有趣又有效的产品很快就占领了当时的市场并获得了用户的高度认可。
但业务快速发展,用户数大幅度增长,平台的用户数量已从当初的百万级,增长至过亿,因此业务的高低峰期数据流量变化、业务复杂度和分析难度都给给 IT 架构带来了巨大的挑战。

流利说统一监控平台的相关挑战
作为一个没有单独运维部门的公司,基础平台的统一监控平台主要由cloud-infra团队的研发来完成,而团队的核心诉求也不仅仅是SLA、性能的监控、告警和提供问题定位的相关数据,还包括cloud-infra的技术价值运营,例如利用率、成本节约、业务关系网络等。在这些核心诉求下,对于统一监控平台会具高的要求:
1.采集、监控各种异构数据源,包括K8s、ECS上的机器指标、利用率、Istio相关的调用日志、自建中间件相关指标、云服务提供的指标、业务的Trace数据等,此外还要包括各类成本数据的实时采集。
2.各类资源的动态发现与动态采集,包括组织关系等部门相关的数据也需要实时更新,以便能够实时反馈出最准确的相关指标和归属关系。
3.大规模的数据存储与分析,由于流利说的业务规模大,使用的各类云资源以及业务产生的数据量非常巨大,每天在数十TB,方案需要满足在此规模上的实时分析和展现的能力。
4.监控平台负责的是稳定性问题,本身的稳定性也需要做好,因此需要消除各个部分的单点问题,并且具备异常快速恢复的能力。

技术选型
统一监控平台不仅仅是时序相关的数据,其中非常核心的业务可用性数据需要通过各类日志进行计算和分析,因此整体上需要选择Logs和Metrics两种数据方案。对于这两类数据都分别有不同的社区方案或商业方案,例如ES、Loki、SLS、Prometheus、OpenTSDB、InfluxDB等。最终日志方案选择了阿里云SLS,时序方案选择了Prometheus+SLS,主要的原因如下:
1.SLS具备各类数据统一存储、分析的能力,能够在SLS上去关联到Metrics、Logs数据,这是其他平台所不具备的
2.SLS平台能够适应非常大的数据规模,相比ES来说性能要好很多,也是免运维的服务,省去了自己维护ES高可靠的问题
3.时序方案以Prometheus为主,Prometheus的生态非常完善,而且PromQL使用起来也简介。SLS的时序库可以作为Prometheus的远端高可靠存储,能够解决Prometheus的可靠性问题
4.SLS的方案中有数据加工的功能,可以和外部的数据源去做Join分析和加工,能够更好的来处理各种复杂的日志,把日志加上catalog相关的信息

整体架构
流利说图片 1.png
当前流利说统一监控平台的架构如上图所示:

1.为了能够实现自动化,我们开发了一套适用于云上场景的IaaS、PaaS资源动态发现的机制,能够实时将新购买、创建的资源加入到监控、采集中,避免大部分的人工操作

2.日志相关:
•不同业务的日志直接通过SLS的Logtail采集到不同的日志库中
•并不是所有的日志都需要长时间存储和索引,因此我们对于日志进行归类,对于其中需要有审计需求的,会投递到OSS上做长期存储;业务排查问题的日志只保存2周,并开启全文索引;AccessLog只开启部分字段的索引,可以节省很多的索引费用。
•对于需要计算SLA、PXX指标的NGINX访问日志,会使用数据加工,配合已经在RDS中存储的一些映射规则、部门、应用等Catalog信息,将NGINX访问日志中的URL映射成对应的部门、应用、方法等。

3.监控相关
•监控方案选择了Prometheus,针对于流利说的场景,我们开发了一些Exporter用于从各类云上产品、自建组件中获取Metrics
•同时为了更好的使用Prometheus,和内部的CICD系统集成,我们在Prometheus上增加了一个Sidecar,监听Git仓库的变更,并根据变更动态的Reload Prometheus配置
•Prometheus上为了提高查询速度,配置了各类Recording Rule,这些都统一使用Git管理
•AlertManager的告警直接对接内部的告警中心,可以做排版、升级等高级功能
•为了解决Prometheus单点的问题以及后面和Catalog进行关联分析的问题,我们使用SLS的时序库,直接让Prometheus Remote Write到SLS的时序库中

4.指标计算
•核心指标的计算一部分来源于NGINX的AccessLog,从入口就可以拿到各个业务的QPS、错误率、Latency(平均、PXX等),对于业务没有任何的侵入性
•资源利用率、中间件、基础设施等指标来源于Prometheus写入的时序库,基于Catalog可以聚合计算出每个部门、业务的相关指标
•计算完成后的指标信息,由于数据量非常小,可以很容易的存储在MySQL、ES中,并且投递一份到OSS上备份

相关成果
目前这套监控平台几乎承载了公司所有的核心监控,在上线后一直稳定运行,并且在各类活动期间也能够非常轻松的应对数据量的突增。整体的业务价值主要体现在:
1.监控:监控的第一价值是做各类的监控和告警,尤其是SLA相关,由于将数据已经关联到了具体的部门和业务应用,可以很容易的得到每个部门、应用的SLA,并进行公司范围内统一的推进和改进
2.问题排查与故障隔离:基于Istio的访问日志,配合Catalog信息,可以计算出每个应用的调用关系,因此可以实时的生成业务关系网格,并能够知道每个关系(边)的质量情况。了解到业务的关系后,在出现问题的时候也可以快速的定位根源和故障隔离
3.FinOps:在Cloud Infra部门,被挑战最多的就是开销问题。因此成本优化也是我们的一个核心工作,主要的做法是:计算每个部门、团队的资源利用率,包括平均利用率以及各类PXX的利用率(入下表格所示),以此能够判断每个部门的资源使用情况,推进各部门优化成本。

image.png

流利说统一监控背后的技术
流利说统一监控基于阿里云SLS进行构建,SLS定位为云原生观测分析平台,为Log/Metric/Trace等数据提供大规模、低成本、实时平台化服务。一站式提供数据采集、加工、分析、告警可视化与投递功能,全面提升研发、运维、运营和安全等场景数字化能力。其中统一监控使用到了多种SLS的核心功能,主要包括:

全方位日志采集
流利说图片2.png

SLS支持Log/Metric/Trace统一采集,支持服务器/Kubernetes/应用/移动设备/网页/IoT等数据源接入,支持阿里云产品/开源系统/云间/云下日志数据接入,核心特点有:
1.便捷:40+成熟接入方案,多客户端统一采集,支持内网、公网、全球加速传输等多种传输方式

  1. 可靠:阿里经济体自用基础设施,历经多次双十一,春晚活动考验。支持断点续传,可根据业务流量实现弹性伸缩

3.开放:多协议(HTTP/Syslog/Prometheus/OpenTelemetry)无缝接入,完整对接开源生态

Prometheus时序方案
流利说图片3.png
SLS时序存储从设计之初就是为了解决阿里内部与众多头部企业客户的时序存储需求,并借助于阿里内部多年的技术积累,使之可以适应绝大部分企业级时序监控/分析诉求。SLS时序存储的特点主要有:
1.丰富上下游:数据接入上SLS支持众多采集方式,包括各类开源Agent以及阿里云内部的监控数据通道;同时存储的时序数据支持对接各类的流计算、离线计算引擎,数据完全开放
2.高性能:SLS存储计算分离架构充分发挥集群能力,尤其在大量数据下端对端的速度提升显著
3.免运维:SLS的时序存储完全是服务化,无需用户自己去运维实例,而且所有数据都是3副本高可靠存储,不用担心数据的可靠性问题
4.开源友好:SLS的时序存储原生支持Prometheus的写入和查询,并支持SQL92的分析方法,可以原生对接Grafana等可视化方案
5.智能:SLS提供了各种AIOps算法,例如多周期估算、预测、异常检测、时序分类等各类时序算法,可以基于这些算法快速构建适应于公司业务的智能报警、诊断平台

实时数据分析
流利说图片4.png
查询分析提供关键词、SQL92、AIOps函数等多种方式,支持面向文本+结构化数据实时查询分析,异常巡检与智能分析。主要特点如下:
1.高性能:秒级分析十亿级数据,且完整支持SQL、PromQL等分析接口,HTTP、Kafka、JDBC、Prometheus等协议
2.稳定可靠:企业级设计,多租户隔离,PB级容量设计,数万企业用户选择
3.智能:经过阿里经济体实践的AIOps能力,支持智能异常巡检与根因分析数据加工
流利说图片5.png
数据加工通过灵活语法,在不编写代码情况下支持各种复杂数据提取、解析、富化、分发等需求,支持结构化分析。数据加工的主要特点如下:
1.灵活:提供丰富算子、开箱即用的场景化UDF(Syslog、非标准json、AccessLog UA/URI/IP解析等)。可扩展语法应对各种复杂格式
2.免运维:全托管云上服务,无须投入额外运维资源。支持自动根据流量弹性伸缩
3.可扩展:支持多层嵌套、分流等逻辑,支持复杂的数据分派与编排需求

在云原生时代,数字化正在各行业推动业务创新。只有提升用户体验、加速创新、更新基础设施与架构、利用好多样化的数据,才能在整体大环境中脱颖而出。阿里云推出的智能运维平台,不仅仅是要帮助工程师减少工作量,更多的是希望让运维工程师们从各种机械化的工作中解脱。我们将会包揽所有的“脏活累活”,让故障的时间大幅缩小,让运维人将更多创造力,放在数字创新以及企业业务创新上,为企业提供提供更优的竞争力。

原文链接
本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512993.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“CSDN 2021年度IT技术影响力之星评选”正式开启报名!

2021年,数字化转型正磅礴兴起,大批传统企业正在拥抱数字化,云计算、大数据、AI、5G应用能力正在变成企业的核心竞争力;核心技术正在崛起,在操作系统、数据库,依靠开源的力量,众多开发者背后的行…

java log4j logback jcl_Java 日志二三事

前言Java 拥有功能和性能都非常强大的日志库,但另一方面,Java 日志库依赖看起来丰富的让人眼花缭乱。相信大家或多或少都有这样的疑问,Log4j,SLF4J,Logback,Log4j2 这些日志框架我该如何选择?它…

一文了解EPaxos核心协议流程

简介: EPaxos(Egalitarian Paxos)作为工业界备受瞩目的下一代分布式一致性算法,具有广阔的应用前景。但纵观业内,至今仍未出现一个EPaxos的工程实现,甚至都没看到一篇能把EPaxos讲得通俗一点的文章。EPaxos…

xpspeak安装教程_查漏补缺:教你正确操作 XPS 分峰软件 XPSPEAK

一、引言X射线光电子能谱(XPS):利用X射线辐射样品,使原子或分子的内层电子或价电子受激发射出来,光子激发出来的电子称为光电子,利用能量分析器分析光电子的能量,作出光电子能谱图,横坐标一般为结合能&…

低代码发展系列专访之五:低代码的最大价值点是“技术平民化”吗?

话题:低代码专访编辑 | LLBin前言:2019年开始,低代码爆火。有人认为它是第四代编程语言,有人认为它是开发模式的颠覆,也有人认为是企业管理模式的变革……有很多声音,社区讨论很热烈。CSDN随后展开低代码平…

云原生不仅颠覆了技术栈,背后的每个岗位也在悄然发生改变

简介: 随着云原生理念与云原生技术的不断完善和发展,越来越多的行业开始落地实践云原生技术,这对不同岗位的技术从业者产生了不同程度的影响。不管是对 IT 主管还是对一线开发人员和运维人员来说,从业务逻辑到技术选型&#xff0c…

梦幻跨服购买需要登录服务器未响应,梦幻西游8月4日定期维护公告:跨服购买限制放宽...

核心提示:法宝”系统新增“多套法宝切换”功能。亲爱的玩家朋友:为保证服务器的运行稳定和服务质量,《梦幻西游2》所有服务器将于2015年8月4日上午8:00停机,进行每周例行的维护工作。预计维护时间为上午8:00~9:45。如果…

element 方法返回的boolean被当成字符串了_JavaScript 原生对象、属性、方法、事件、事件参数...

/*** 事件参考 https://developer.mozilla.org/zh-CN/docs/Web/Events* Event <- UIEvent <- MouseEvent* //** Event https://developer.mozilla.org/zh-CN/docs/Web/API/Event#DOM_Event_interface* detail: 1* sourceCapabilities: InputDeviceCapabilities {fires…

深度技术揭秘 | 大促狂欢背后,如何有效评估并规划数据库计算资源?

简介&#xff1a; 经过“双11”、“618”这类互联网促销活动的验证&#xff0c;越来越多的互联网公司采用不定期营销活动来刺激消费&#xff0c;达到提升营收能力的目标。然而&#xff0c;在每一次业务狂欢的背后&#xff0c;如何科学地为促销活动准备相应的计算资源就变成了困…

学画画软件app推荐_今日推荐:拍照摄影APP之稀缺软件篇

你也许热衷拍摄或喜欢摄影&#xff0c;那么日常的拍摄主要的工具离不开手机&#xff0c;好的拍照摄影APP当然也必不可少。一个好的拍照软件更加重要&#xff0c;有时候市面上常用的拍照软件不能满足你特殊的拍摄手法&#xff0c;经常需要重新编辑或修改才能达到效果&#xff0c…

五大数据库理念,读懂亚马逊云科技的数据库布局

1970 年&#xff0c;关系型数据库之父 E.F.Codd 发表《用于大型共享数据库的关系数据模型》论文&#xff0c;正式拉开数据库技术发展序幕。以 Oracle、DB2、SQL Server 为代表的三大商业数据库产品独占鳌头&#xff0c;随后涌现出 MySQL、PostgreSQL 等为代表的开源数据库 &…

干货|一文读懂阿里云数据库Autoscaling是如何工作的

简介&#xff1a; 阿里云数据库实现了其特有的Autosaling能力&#xff0c;该能力由数据库内核、管控及DAS&#xff08;数据库自治服务&#xff09;团队共同构建&#xff0c;内核及管控团队提供了数据库Autoscaling的基础能力&#xff0c;DAS则负责性能数据的监测、Scaling决策算…

jq动态渲染后获取不到元素高度_浏览器的渲染机制

面试肯定会问到这个吧~So&#xff1a;再一次的屡屡浏览器的渲染机制~在渲染一开始会先从网络层获取请求文档&#xff08;HTML、XML&#xff09;的内容&#xff0c;然后再进行以下基本流程3.1 解析HTML 》 DOM树从HTML文本解析到HTML语法树&#xff0c;再解析到文档对象树&#…

数字时代的抉择,金蝶 EBC 的破局

今年 10 月&#xff0c;Gartner 发布了企业在 2021 年需要关注的重要战略科技趋势&#xff0c;其中“可组装的企业”一词引起热议。Gartner 认为原本为了提高效率而建立的静态业务流程很脆弱&#xff0c;在疫情的冲击下容易变得支离破碎&#xff0c;因此企业应具有不断重组与改…

自己动手从0开始实现一个分布式RPC框架

简介&#xff1a; 如果一个程序员能清楚的了解RPC框架所具备的要素&#xff0c;掌握RPC框架中涉及的服务注册发现、负载均衡、序列化协议、RPC通信协议、Socket通信、异步调用、熔断降级等技术&#xff0c;可以全方位的提升基本素质。虽然也有相关源码&#xff0c;但是只看源码…

deb 中标麒麟_「图」百度网盘Linux版放出deb包客户端:新增支持Ubuntu 18.04 LTS

6月中旬发布的百度网盘Linux版本中&#xff0c;首先适配了中标麒麟桌面操作系统软件(兆芯版)V7.0。而今天Ubuntu官方推特最新微博表示&#xff0c;继发布Linux rpm包客户端之后&#xff0c;官方今天又推出了deb包客户端&#xff0c;新增支持Ubuntu 18.04 LTS。目前百度网盘已经…

python自动关闭弹窗_python – 每隔x分钟创建一个tkinter窗口,然后在y秒后自动关闭它...

我正在尝试构建一个简单的程序来提醒我在使用计算机时休息一下.我对 python有一个合理的理解,但以前从未玩过GUI编程或线程,所以以下基本上是从stackoverflow复制/粘贴&#xff1a; import threading import time import Tkinter class RepeatEvery(threading.Thread): def __i…

KubeVela 成为 CNCF 沙箱项目,让云端应用交付更加简单

简介&#xff1a; KubeVela 就是这样一个面向用户的上层平台项目。对于业务开发者来说&#xff0c;KubeVela 简单、易用&#xff0c;它可以让开发者以极低的心智负担和上手成本在 Kubernetes 上定义与部署应用... 但更重要的是&#xff0c;对于平台团队来说&#xff0c;KubeVel…

携程梁建章:要让元宇宙技术成为真宇宙探索、旅游的灵感来源

“我们要把旅游做的更有交互性&#xff0c;更有沉浸感&#xff0c;更有趣&#xff0c;远远抛开元宇宙。” 携程集团联合创始人&#xff0c;董事局主席梁建章在12月9日于澳门伦敦人举办的全球合作伙伴峰会上&#xff0c;发表了对热门话题“元宇宙”的看法并表示&#xff0c;激发…

shell两个时间字符串插值_Shell 脚本速成

0x00 前言这段时间快速把 Micropoor 的内网课程看完了一遍&#xff0c;里面出现了很多 Shell 脚本。Shell 脚本有什么好处&#xff1f;无需安装其他软件适合任务自动化&#xff0c;擅长系统管理任务通过 Shell 编程&#xff0c;大大提高渗透效率。0x01 第一个 shell 脚本功能&a…