CloudWatch用于错误监视的优点和缺点

很多工具可以帮助开发人员设置日志转发,以监视错误和异常。


作为开发人员,通常喜欢Lambda函数。它们使开发人员能够专注于功能的目的,并节省了编写和部署代码的大量时间。同时,在生产中使用Lambda函数的最大挑战之一是问题的故障排除。这是由于代码与用户如何体验应用程序之间的可见性差距,以及缺少专门解决无服务器环境中此关键问题的监视工具所致。


当然,亚马逊公司的监视工具CloudWatch提供了一种跟踪功能指标并深入日志进行调试的方法。但是,梳理日志并不是开发人员要调试问题的方式,它需要几个小时。


很多工具可以帮助开发人员设置日志转发,以监视错误和异常。它们通常的工作方式如下:

CloudWatch用于错误监视的优点和缺点_软件科技_TV应用

使用预先配置的Cloud Formation堆栈来设置环境中的云资源和权限。


使用CloudWatch API将经过过滤的日志流化(通常使用Kinesis+Firehose)到自己的工具中。


将格式应用于摄取的日志,以更易用的方式显示错误和异常。


这个过程很棒。开发人员能够在几分钟内设置错误监控,而无需更改代码。另外,现在有了堆栈跟踪和有趣的函数详细信息,例如:


•功能存储器使用。


•函数调用时间。


•执行lambda函数的成本。


挑战性


现在,这是该方法面临的挑战:开发人员不喜欢该工具可以控制其AWS帐户,因为该工具正在使用假定角色来访问帐户信息。


堆栈跟踪仍然很难阅读。这是一个例子:


许多运行时场景都丢失了,例如其他线程以及配置其他参数的能力。看不到跟踪或事务,以便能够调试整个应用程序中的问题以关联前端和后端行为。


因此,尽管从CloudWa。tch进行日志转发比使用CloudWatch本身要好,但这并非没有缺陷。


通过代码检测报告错误


接下来,尝试通过代码检测报告错误。为了进行试用,使用了开源工具Sentry。


Sentry正在使用运行时检测来突出显示异常,而不是在我的帐户上使用假定角色来设置日志转发。这消除了为第三方工具提供对开发人员AWS账户访问权限的担忧。


开发人员拥有所有函数场景,包括request_id和执行时间。可以使用aws_request_id之类的参数来了解该错误的下游影响。


深度链接到CloudWatch日志可节省搜索正确的日志流和时间窗口的时间。


缺点是使用这种方法无法获得内存使用或函数调用时间,但是无论如何都无法移动这些数字。


运行时仪器的另一个未来好处是,它使开发人员可以监视分布式跟踪,以便确定哪些特定部分正在减慢其函数执行速度。因此,能够确保更好的用户体验并节省AWS成本。


无服务器承诺为开发团队带来更少的管理负担,但是故障排除的局限性会抵消所节省的时间。重要的是要考虑提供功能场景而不增加风险和成本的监视工具。CloudWatch和Sentry之间的比较突出了这些因素及其重要性。



44
131
0
14

相关资讯

  1. 1、琅琊榜手游官网将上线英雄归位谱传奇3959
  2. 2、男神执事团手游特色玩法介绍让你体验真正的恋爱感1633
  3. 3、放肆一笑《桃花源记2》2018欢喜大剧即将揭幕648
  4. 4、《校花的贴身高手》今日上架AppStore撩个校花做情人2183
  5. 5、《敢达决战》激活码获取官网预约正式上线3068
  6. 6、丧尸危机!《火线精英》iOS全新版本触发单人逆战1401
  7. 7、《巅峰战舰》5月20日全平台上线一周年精彩福利多多2686
  8. 8、两大巾帼红颜上线《帝国塔防3》重磅更新4802
  9. 9、《坦克风云》迎战五一神秘火箭车揭秘598
  10. 10、宅男の福利《X战娘》11月即将公测3910
全部评论(0)
我也有话说
0
收藏
点赞
顶部