中国APM(应用性能管理)技术领导厂商博睿数据(股票代码:688229)今天宣布,已在业内率先与阿里云达成合作,成为首家支持阿里云函数计算的厂商,从而能够为阿里云用户的Serverless运行环境赋予完整的APM、应用全局监控和管理能力,助推云计算相关业务的发展。
发布于2017年的阿里云函数计算,是中国最早的Serverless云产品。其免运维、极速、自动、弹性扩缩容、按需付费等优势吸引了大批开发者和企业。2019年,CNCF基金会的调查问卷显示, 46%的回 应者选择了阿里云函数计算部署 Serverless 应用,位居中国第一。
然而,Serverless在简化开发者运维负担的同时,也对可观测性提出了诸多新的挑战。FaaS无实例的概念,运行环境和关键指标(如 CPU)的黑盒,细粒度单一责任多函数互相调用,函数访问其他云服务分布式链路追踪等都让传统开发者感到不适应,也加大了发现,调查分布式系统中问题的难度。
秉持“让IT运营更智能”的品牌理念,博睿数据 认为,对APM技术的应用不应仅限于传统的服务器、虚拟机或容器之中,而在Serverless运行时更加需要 APM技术的全面监控与管理能力。
本文将重点介绍在函数计算运行环境内启动Bonree APM探针,并将函数计算指标收集至博睿数据产品服务端的过程,以提供完整的APM体验。
01、部署、测试函数
使用函数计算自定义镜像功能完成函数的构建和部署。
调用函数
while true ; do curl https://{account-id}.{region}.fc.aliyuncs.com/2016-08-15/proxy/test-apm/bonree-golang/setURL; done
02、查看函数请求监控
函数计算具有事件驱动、请求粒度的成本计费,因此对于请求数量和延迟的追踪是FaaS监控的基础能力。博睿数据APM探针支持HTTP请求数量,状态,延迟的显示、报警。博睿数据APM提供的的百分位延迟(P95, P99)指标简化对函数计算的长尾、冷启动等事件的发现。
03、实例级别监控
函数计算默认不提供实例(函数容器)级别的监控,博睿数据基础监控无需额外配置即可对函数单个容器实例展示CPU、内存使用、连接数、文件打开数等指标进行监控。实例级别的监控可以清楚地观测到函数计算的冷启动、扩缩容时机和行为。单个实例级别的CPU、网络带宽、负载、文件打开数等指标也极大地丰富了函数计算的默认监控指标集,帮助开发者在Serverless黑盒中定位性能和可用性问题。
Tracing能力对于Serverless FaaS服务是可观测性的刚需,Serverless FaaS应用通常有以下特点:
在函数计算中借助博睿数据APM探针可以实现无侵入,零代码改动对HTTP服务,SQL/NoSQL数据库,MQ进行链路追踪,分析长延迟链路,在复杂的分布式系统中快速定位,响应问题。
05、函数调用链Profiling
与基于传统常驻实例虚拟机或容器环境不同,函数计算实例拉起、销毁十分频繁。开发者不允许进行SSH或是exec进入容器中查看日志、性能profiling等操作。因此将细粒度的代码调用链可以简化调查问题难度。然而调用链埋点技术门槛偏高,博睿数据APM无侵入模式支持代码调用链,让分布式性能profiling在Serverless环境中变成可能。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69948960/viewspace-2741195/ ,如需转载,请注明出处,否则将追究法律责任。