解放生产力-阿里云7层负载均衡智能分析与监控

本文涉及的产品
对象存储 OSS,20GB 3个月
文件存储 NAS,50GB 3个月
云备份 Cloud Backup,100GB 3个月
简介: 对于7层负载均衡访问日志,阿里云SLB专门为用户开放了实时访问日志的能力,通过控制台开通后,实时的访问日志会自动推送到用户自己的SLS中,延迟只有几秒钟,并且SLB推送完全免费且不需要用户自己提供机器接受日志。推送到SLS中的日志可以借助于SLS强大的分析、可视化、监控能力,发挥访问日志的价值。

前言

Load balancing refers to efficiently distributing incoming network traffic across a group of backend servers, also known as a _server farm_ or _server pool_.


负载均衡作为后端服务的统一入口,所有的流量都会通过负载均衡分发到不同的服务器。1990年第一台思科Goes Public的上线,经过几十年的发展, 负载均衡几乎已成为每个IT系统必备的基础设施。


负载均衡具有非常多的功能优势,例如快速恢复、可扩展、多冗余、灵活性、高效率、全局负载均衡等特点,因此目前几乎很少有系统直接裸服务器暴露到公网,都是通过一组负载均衡设备作为统一入口。


image.png

7层负载均衡

image.png

负载均衡从设备特点上分为硬件负载均衡、软件负载均衡、DNS负载均衡等,从分发协议上一般分为4层负载均衡和7层负载均衡。目前绝大多数互联网公司都采用7层负载均衡,主要因为7层负载均衡工作在应用层,可以支持更多更加灵活的一些特性。例如:

  • 会话保持:让相同的session ID路由到同一台后端机器,保证每个用户的会话只在一台机器上处理。
  • 基于内容的转发:能够根据HTTP协议内容进行转发,例如Host、URL甚至是PostBody等。
  • 重写请求:能够对用户的请求进行动态修改,非常适用于新老系统的兼容性改造。
  • 加密:在负载均衡上配置SSL,提供统一的证书管理,每个服务器无需单独维护证书。
  • 健康检查增强:可基于业务规则进行健康检查,而不仅仅是判断端口连通性,使健康检查更加精确。
  • 日志监控:全量7层访问日志,能够获取每个请求的结果、耗时、请求大小等信息,能够基于访问日志监控到每个服务的质量。

负载均衡日志分析痛点

原始的访问日志记录了网站的每个访问请求,每个请求包括用户地址、Host、URL、状态码、耗时、请求大小等多个维度的信息,基于访问日志可以统计出不同维度下的访问qps、成功率、延迟等黄金指标,以此实现可以针对各种维度的网站质量监控。但构建一套完整的访问日志分析系统还是非常困难,这其中包括了很多过程和工作:采集、存储、分析、可视化、告警等。在实施过程中最为复杂的点在于:

  • 采集问题:如何保证日志采集的可靠性、性能消耗、延时问题;
  • 分析:在保证分析灵活性的同时能够保持快速的分析、查询速度以及较低的实施成本;
  • 自动化:尤其在业务规模比较大的情况下,如何智能的监控和分析各个服务的状态是一个迫切需要的功能。

image.png

阿里云负载均衡7层日志中心

阿里云负载均衡作为纯服务化的负载均衡产品,几乎作为使用阿里云提供服务的企业必备产品,用户只需要控制台或调用API即可完成创建并能为阿里云所有服务器提供4层/7层的负载均衡能力。


对于7层负载均衡访问日志,阿里云SLB专门为用户开放了实时访问日志的能力,通过控制台开通后,实时的访问日志会自动推送到用户自己的SLS中,延迟只有几秒钟,并且SLB推送完全免费且不需要用户自己提供机器接受日志。推送到SLS中的日志可以借助于SLS强大的分析、可视化、监控能力,发挥访问日志的价值。

目前阿里云负载均衡SLB和SLS联合推出了SLB访问日志中心的解决方案,用户只需要几秒钟就可以构建出一套完整的访问日志解决方案,包括日志的实时采集、分析、预聚和、可视化、机器学习异常检测等功能全套配备。

方案架构

image.png

为了达到高性能、低成本、快速、智能等要求,SLB日志中心方案包括以下几个部分:

  1. 原始访问日志存储:当SLB产生访问请求后,会实时将请求的访问日志推送到用户自身的Logstore中,整个过程的延迟一般在3-5秒即可完成,SLS的Logstore具备高可靠、实时索引、自动扩容等功能,保证日志的可靠性和可扩展性。
  2. 预聚和:由于原始访问日志量巨大,基于原始日志计算指标性能开销较大,因此SLS专门推出了基于访问日志的指标预聚和能力,能够将上百万甚至上亿的访问日志实时聚合成指标类型的时序数据,数据量会降低1-2个数量级,后续的分析与监控可直接基于时序数据进行,大大提高效率。
  3. 智能巡检:对于预聚和后的Metrics(指标数据),SLS提供了机器学习的自动巡检功能,帮助用户自动去检测各个SLB的各个维度的指标异常,将异常信息实时展现在时序的图表中,结合实时告警能力进行自动的告警配置。此外后续还会支持异常打标,基于用户反馈的信息进行更加精确的检测。

通过以上3层数据链路,实现了从原始访问日志到预聚和的指标最后再到机器学习的异常事件整个数据的流转,对于用户来说,告警和监控只需要基于指标和智能巡检的结果进行,而涉及到具体服务的问题分析可以再回到原始的访问日志并基于SLS提供的各种SQL统计方式进行自定义的排查和分析。

实时预聚和

image.png

SLB的访问日志数量和用户访问成正比,在原始访问日志上实时计算指标的开销较大,一般不适合长时间的指标分析,并且原始日志存储的成本较高,一般不会将日志存储较长时间,但我们还是希望指标数据能够尽可能长的存储,这样可以在分析的时候查看更长时间的数据。为此SLS专门为SLB访问日志定制了一套全托管指标实时预聚合的功能,能够实时将SLB的访问日志聚合成指标并存储在SLS的时序库中,这样所有的监控数据查询工作都可以基于聚合后的时序数据进行,大大提升监控数据的查询效率。

丰富可视化

SLB访问日志分析的一个重要工作是可视化系统的搭建,我们需要针对不同场景创建不同的报表以便满足各个方面的需求,例如:

  1. 整体大盘:包括网站当前的访问UV/PV、整体延迟、成功率等,这个是老板们和SRE需要看的数据,需要保证数据时效性和刷新的速度
  2. 监控大盘:能够把监控需要关注的各种数据(延迟(平均、P99/P9999等)、流量、成功率、错误码、TOP类统计)等显示在一张报表上,并且能够支持各种维度的过滤,方便定位到问题的实例。
  3. 访问大盘:显示和用户相关的访问信息,例如PV/UV、访问的地域分布、设备分布等,一般情况技术Leader会关注,另外部分的运营同学可能也会需要这部分数据。
  4. 异常大盘:显示异常巡检的指标信息,能够把异常的指标显示在报表上,方便查看。
  5. 后端流量分析:快速分析后端的流量、QPS、延迟、错误率等分布信息,能够快速查找到“调皮”的机器。

image.png

智能巡检

在时序监控场景中,用户往往先确定监控对象,并通过其历史数据,结合业务经验,得到不同组的阈值参数,通过各种手段(同比、环比、连续触发几次等)进行监控,往往一个监控对象要设计4~5条监控规则,并配置不同的参数。还有更大的问题,各个参数阈值无法快速的复用到不同的类似观测对象中,当观测对象的规模达到数千,甚至上万后,传统的配置效率底下,无法满足在大规则时序指标数据下的监控需求。流式算法具有天然的优势可以解决上面的问题,用户只需要发起一个机器学习服务,模型自动拉取数据,实时训练,实时反馈(通俗地说:“来一个点,学习一个点,检测一个点”),在极大的降低成本的同时,实现对每一条线的单独建模,单独分析,单独模型参数保存,实现时序异常检测的“千线千面”。

image.png

总结

SLB demo.mp4 (53.06MB)

阿里云负载均衡7层日志中心提供了SLB7层访问日志分析、秒级监控指标分析、实时告警等功能,并提供基于AIOps的自动异常巡检功能。基于这些功能我们可以快速构建出一套企业级的监控系统,能够以非常小的工作量实现公司所有访问入口的统一监控。

大家在使用SLB访问日志或SLS过程中,如有任何问题, 可提工单, 或在用户群中反馈(见下放钉钉二维码), 也欢迎关注我们的微信公众号, 会推送实用的使用技巧和最佳实践哦~


image.png

相关实践学习
通过ACR快速部署网站应用
本次实验任务是在云上基于ECS部署Docker环境,制作网站镜像并上传至ACR镜像仓库,通过容器镜像运行网站应用,网站运行在Docker容器中、网站业务数据存储在Mariadb数据库中、网站文件数据存储在服务器ECS云盘中,通过公网地址进行访问。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
16天前
|
传感器 数据采集 监控
基于阿里云MQTT服务,设计一个STM32的智能光伏控制系统
这篇文章详细介绍了利用STM32F103C8T6单片机实现光伏发电系统的关键技术。全文分为四章:第一章阐述了光伏发电的背景、意义及应用场景,强调其在绿色能源领域的重要性。第二章介绍了如何通过STM32F103C8T6及光敏电阻和伺服电机实现光线追踪系统,详细描述了硬件选择、连接及使用HAL库编写的单片机程序。第三章讲解了最大功率点追踪(MPPT)的原理,并展示了如何利用STM32F103C8T6和相关传感器、DC-DC转换器实现MPPT功能。第四章描述了如何通过STM32F103C8T6与SIM7600CE 4G模块连接到阿里云MQTT服务,实现设备状态数据的远程传输和控制。本文提供了全面的硬
17535 2
|
2月前
|
弹性计算 运维 Java
最佳实践:阿里云倚天ECS在千寻位置时空智能服务的规模化应用
阿里云、平头哥及安谋科技联合举办的飞天技术沙龙探讨了倚天Arm架构在业务创新中的应用。活动中,千寻位置运维专家分享了将核心业务迁移到倚天处理器ECS实例的成功案例,强调了倚天处理器的高能效比和降本增效优势。迁移过程涉及操作系统、CICD系统和监控系统的适配,以及业务系统的性能测试。目前,千寻已迁移了上千台ECS实例到倚天处理器,实现了成本和效率的显著提升。未来计划继续扩展倚天处理器在核心业务和K8S中的应用。
|
17天前
|
人工智能 分布式计算 DataWorks
首批!阿里云 MaxCompute 完成中国信通院数据智能平台专项测试
2024年5月31日,在中国信通院组织的首批数据智能平台专项测试中,阿里云数据智能平台解决方案(MaxCompute、DataWorks、PAI)顺利完成测试。
91 5
首批!阿里云 MaxCompute 完成中国信通院数据智能平台专项测试
|
18天前
|
Kubernetes Cloud Native 开发者
阿里云网络发布 alibaba-load-balancer-controller v1.2.0:开启云原生网关开源新篇章!敬请探索!
**阿里云发布开源版ALB控制器v1.2.0,对齐商业版ALB Ingress Controller v2.10.0。新版本增强了功能特性,提升了用户体验,并提供了最佳实践。功能更新包括自定义标签、QUIC协议支持、转发规则和安全策略等。此外,还引入了ReadinessGate实现滚动升级时的平滑上线和Prestop钩子确保平滑下线。用户可从GitHub获取开源代码,通过Docker Hub拉取镜像,开始使用alibaba-load-balancer-controller v1.2.0。**
107 3
阿里云网络发布 alibaba-load-balancer-controller v1.2.0:开启云原生网关开源新篇章!敬请探索!
|
13天前
|
弹性计算 人工智能 运维
体验评测报告:阿里云OS Copilot——智能运维的革新之旅
体验评测报告:阿里云OS Copilot——智能运维的革新之旅
267 3
|
16天前
|
Kubernetes Cloud Native 开发者
阿里云网络发布云原生网关 alibaba-load-balancer-controller v1.2.0,持续拥抱开源生态
alibaba-load-balancer-controller开源版本正式推出v1.2.0,能力对齐ALB Ingress Controller商业版v2.10.0。
|
24天前
|
弹性计算 运维 监控
阿里云运维第一步(监控):开箱即用的监控
监控运维是一个体系化的工作,完善这个体系非一日之功。但是我们的业务不可一日无监控“裸奔”,在阿里云怎么样快速低成本的建立第一道资源监控的护城河?开箱即用的云监控,将会是你进入阿里云的第一个可靠的小伙伴。
13972 2
|
23天前
|
自然语言处理 Serverless 测试技术
《AIGC+软件开发新范式》--08.通义灵码牵手阿里云函数计算 FC ,打造智能编码新体验
在AI 热度持续上升的当下,阿里云推出AI智能编码助手—通义灵码。通义灵码是一款基于阿里云通义代码大模型打造的智能编码助手,基于海量优秀开源代数据集和编程教科书训练,为开发者带来高效、流畅的编码体验。
|
8天前
|
关系型数据库 MySQL 测试技术
《阿里云产品四月刊》—瑶池数据库微课堂|RDS MySQL 经济版 vs 自建 MySQL 性能压测与性价比分析
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
2月前
|
弹性计算 Java 关系型数据库
最佳实践:阿里云倚天ECS在千寻位置时空智能服务的规模化应用
当前,千寻已有上千台倚天ECS实例在支撑线上核心业务。