前言
我们在做系统运维保障的时候,关注从前端负载均衡到后端服务的流量情况是很有必要的,可以了解每个后端服务实例接收的流量大小,这有助于确定资源分配是否合理,能够帮助找出后端服务中的性能瓶颈。同时,当系统出现故障时,如部分用户无法正常访问服务,分析负载均衡到后端服务的流量可以快速确定是负载均衡器的问题还是后端服务的问题(例如:如果负载均衡器到某个后端服务的流量突然中断或者异常下降,而其他后端服务正常,就可以重点排查这个出现问题的后端服务)。
下面我们通过一个实际的例子,来看下我们可以如何通过观测云来进行从前端到后端的问题分析和排查。
观测云
观测云( www.guance.com )是一个统一实时监测平台,它提供全面的系统可观测性解决方案,帮助用户快速实现对云平台、云原生、应用及业务的监控需求。观测云的核心功能包括:基础设施监测,日志采集和分析,用户访问监测(RUM),应用性能监测(APM),服务可用性监测(拨测),安全巡检,智能监控等等。
在这个实际案例中,客户是使用的某专有云的负载均衡,后端配置了云主机做为实例。通过观测云,可以从这几个维度来进行可观测的建设:
- 通过观测云的 Func 工具( func.guance.com )接入云平台的负载均衡指标,包括实例、监听器、后端服务实例和端口等维度。Func 提供自定义函数功能,允许用户通过编写代码来实现特定的数据处理、转换和接入操作。通过 Func 可以灵活地将外部数据引入观测云的监控体系,例如云平台监控 API。不同的云平台都有自己的监控 API,这些 API 提供了获取云资源监控数据的接口,例如获取服务器的 CPU 使用率、网络流量、存储使用情况等数据。
通过观测云的统一数据采集器 DataKit,安装在云主机环境中,提供如下维度的可观测数据:
- 多种系统资源的性能指标,如 CPU 使用率、内存占用、磁盘 I/O、网络流量等,还能整合日志、事件等数据,为系统监控提供全面数据支持
- eBPF 网络数据,能够采集四层、七层网络数据,可监控网络连接、流量、延迟、丢包等指标,分析网络性能问题,还能识别网络中的异常流量和潜在安全威胁
- 应用性能数据采集,接收链路数据,采集应用程序的性能指标,如响应时间、吞吐量、错误率等,以及分布式链路追踪信息,帮助用户全面了解应用性能状况
分析步骤
有了以上数据之后,我们来看一下如何联动分析和下钻:
1、通过仪表盘做为入口,可以及时了解云平台中负载均衡的流量情况,也包括流量较大的负载均衡的详细信息(负载均衡的 ID、VIP、端口以及后端云主机实例的 IP 和端口信息)。不过需要注意的是,由于云平台的 API 一般有读取限制,因此通过这种方式拉取监控指标,有一定的时间间隔。
2、如果发现有流量较大或者异常的情况,可以直接点击仪表盘的视图,进行跳转,查看详细的 eBPF 网络数据。
观测云支持图表内置关联链接和自定义关联链接,可以实现从当前图表跳转至目标页面,同时也支持自定义,通过模板变量中对应的变量值传送数据信息,实现数据联动。https://docs.guance.com/scene/visual-chart/chart-link/
3、定位到相关的云主机,流量确实不小,接下来进一步分析了该主机相关的应用服务情况,发现有很多报错也就是状态是 error 的链路,并且持续时间都很长。点开某条链路,能够看到相关的 span 调用有上万条,造成了网络的频繁访问。这时候就可以直接把相关的数据转发给研发同学来进一步分析和优化了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。