网站开发提供的服务,服装外贸是做什么的,佛山网站建设凤软,雅安做网站导读
深信服科技股份有限公司
简称「深信服」#xff08; Sangfor Technologies Inc. #xff09;#xff0c;是一家领先的网络安全和云计算解决方案提供商#xff0c;致力于为全球客户提供高效、智能、安全的网络和云服务。随着公司业务的不断扩展#xff0c;也面临着监…导读
深信服科技股份有限公司
简称「深信服」 Sangfor Technologies Inc. 是一家领先的网络安全和云计算解决方案提供商致力于为全球客户提供高效、智能、安全的网络和云服务。随着公司业务的不断扩展也面临着监控和故障定位方面的挑战。本文将介绍深信服如何借助观测云实现全链路可观测性提高运维效率和安全性。
案例亮点
大型门户网站可观测最佳实践借助观测云实现 APM、RUM、基础设施、日志、拨测等全功能一体化全链路可观测体验优化网页卡顿问题大幅提升用户体验
简单介绍一下贵公司
深信服科技股份有限公司是一家专注于企业级网络安全、云计算、IT基础设施与物联网的产品和服务供应商在全球设有 50 余个分支机构公司先后被评为国家级高新技术企业、中国软件和信息技术服务综合竞争力百强企业、下一代互联网信息安全技术国家地方联合工程实验室、广东省智能云计算工程技术研究中心等。 一直以来深信服十分重视研发和创新并坚持以“持续创新”的理念全情投入为用户打造省心便捷的产品获得了市场的广泛认可。目前超过 10 万家企业级用户正在使用深信服的产品。
当前面临的挑战
深信服的核心业务涵盖了网络安全、云计算、云服务和 IT 基础设施等多个领域。使用的监控工具有云平台上的自有云监控和 Zibbix、Prometheus、Grafana 等开源自建的监控体系。随着客户数量的增加和业务复杂性的提高他们面临以下挑战
监控复杂性公司的业务涉及多个层面包括网络、云服务、应用程序等需要一个全面的监控系统来实时追踪各个层面的性能和状态。性能问题难定位当出现性能问题或故障时需要能够快速准确地定位问题的根本原因以便及时采取措施解决问题。团队生产力每次出现故障时需要拉起开发、运维、测试协作排查偶现的故障很难复现团队生产协作效率低下。
为什么选择观测云
在与市面上的可观测性产品对比以及和观测云团队深入交流之后决定选择观测云 POC 测试。在 POC 测试期间观测云产品表现出色。我们能够更好地了解系统的状态快速定位问题并采取措施解决。观测云的综合性能监控和安全监控功能为我们的运维团队提供了强大的工具帮助我们确保系统的稳定性和安全性。我们期待将观测云集成到我们更多的系统和环境中以持续提高我们的监控和安全性能。
观测云使用现状
截止目前已经接入了 3 大 Kubernetes 集群涉及 7 个 S 级项目和应用。主要接入的语言和框架有 Java、PHP、.NET、Python、Nuxt.js、Vue.js 等同时还涵盖了 API 网关、数据库、消息队列等中间件产品。覆盖了平台的 APM、RUM、日志、监控、拨测、仪表盘、DataFlux Function 等绝大部分功能。基于目前良好的使用体验未来还会逐步增加其他应用数据接入。
成功案例
借助观测云实现真正意义上的全链路可观测
在一个相对复杂的系统中一个前端的接口请求会经过很多的服务和中间件比如我们其中的一个系统由前端发起的 HTTPS 请求经过 Nginx 路由到网关服务网关服务到后端服务 A 再调用服务 B期间还会调用 Redis、Kafka、MySQL 等中间件。整个调用的链路较为复杂所以我们的基本诉求就是能够实现完整的全链路可观测性其次出现故障的时候能够有足够的上下文信息来定位故障。
观测云提供全链路可观测的能力可以将前端、网关、Nginx、后端服务、中间件等整条链路的信息通过一个 trace_id 全部串起来这样做的好处是不管哪里出现故障可以快速定位到具体的服务或中间件。下图为服务链路拓扑图可以查看整个链路的调用情况点击任一服务的图标可以进入该服务的链路调用详情列表从而实现快速排障。 同时也可以在日志上注入 trace_id、span_id 等信息这样可以实现调用链和日志关联在出现故障的服务链路中可以快速跳转至相关联的日志查询日志的上下文从而实现 RUM-APM-LOG 全链路监测与联动分析。 传统的 APM 监测工具都无法保留接口调用的参数在排查故障的时候研发和运维往往需要当时接口故障时请求的实际参数来推测复现故障过程这类上下文信息对我们推广全链路可观测性平台非常重要。但是如果把所有请求接口的参数都进行保留产生的数据量又非常大而且一般我们只关注非 200 状态的接口信息。观测云提供的 Pipeline 能力可以很好的对日志进行解析并过滤掉不需要的日志我们将接口的 payload 信息打印至 Nginx 日志并且通过 Pipeline 进行判断只采集非 200 状态的 payload从而很好的支撑我们故障排查时的诉求。 官网借助观测云能力优化页面卡顿问题
在没有接入观测云之前官网存在较为严重的卡顿现象严重影响用户体验。但是没有具体可量化的数据不知道哪里慢了也就无从下手去优化。我们将官网前后端接入观测云 RUM 和 APM 之后可以通过观测云查看当前性能情就可以很直观的查看出是哪些接口耗时长哪些页面加载慢。
发现了问题是第一步接下来该怎样解决问题。为了解决性能问题从如下几个方面着手
1、每天在平台上抓取一部分慢接口让开发团队优化可以查看具体的链路根据这条 trace 信息可以定位到是哪些 span 耗时长。可能是 SQL 语句、也可能是自身业务代码逻辑等等根据定位到的信息再去优化。 2、在平台用户行为分析查看 LCP 指标针对 LCP 加载时间长的页面进行着重优化。 3、创建自定义拨测任务全面监测不同地区到官网地址的网络性能、网络质量、网络数据传输稳定性等状况。
在优化了一段时间之后发现到达一个瓶颈期。大部分接口耗时下去了但是前端耗时还是较为严重有很多的 longtask 和 error 数据。后来邀请了观测云的前端技术专家专门做了一期 RUM 知识培训和官网系统诊断于是又找到了前端的优化方向具体的优化点有
1、通过观测云先看阻塞了页面渲染的文件,试用以下条件搜索查找出阻塞页面渲染的文件 如果对业务非常重要的资源改为内联的方式而非外部脚本如果对业务不敏感的资源可以选择 defer 加载或者延迟加载即脚本放在 body 的后面加属性 defer 或者 async防止阻塞页面渲染。
2、网站资源加载的瀑布图 从图中可以得知首页资源加载多加载存在延迟占比约 50% 累计导致体感慢弱网环境尤为明显。
具体优化思路为先整体优化资源加载优化资源加载中的瓶颈减少资源体积或者压缩代码减少资源重复加载等等。 总之性能优化从来不是一蹴而就的事情是一个循序渐进的过程。在优化的过程中我们也借助观测云 RUM 监控发现了很多开发和测试过程中的问题这样也能提高整个团队的认知和对代码的严谨度受益颇多。
通过 APISIX 可观测性实现快速排障
APISIX 作为南北向流量 API 网关承载着从客户端到服务端的全部流量。如果可以实现针对 APISIX 可观测性那么可以实现很快速的定位到故障。观测云支持 APISIX 的数据接入APISIX 的 Trace、Logging、Metric 数据可以通过插件的方式上报至 DataKit 及观测云平台从而实现 APISIX 的可观测性。
种类接入方式插件Traceopentelemetry 插件可用于根据 OpenTelemetry specification 协议规范上报 Tracing 数据。Loggingfile-logger 插件可用于将日志数据存储到指定位置。console 输出方式修改访问日志格式 access_logger_formatMetricprometheus 插件以规定的格式上报指标到 Prometheus 中。
在集成 APISIX 的 Trace、Logging、Metric 数据上报之后开发人员和运维团队更好地了解和监控其应用程序的行为带来的好处有
1、快速的问题分析和故障排除。 2、根据 Metric 和 Trace 等信息进行有效的性能优化。 3、配置相应的监控告警规则当有流量异常时可以尽早识别并扩缩容。 作者深信服运维技术专家 ——何智杰 观测云技术客户经理——杨文伟