博客/社区

Loki如何帮助Paytm内部人士节省75%的日志和监控成本

2019年11月19日6分钟

Paytm内幕她的座右铭是“让每一天变得更少”语Pachpor他是印度知名购票平台的技术经理。“这个平台是由我们内心的粉丝推动的,他们希望在网上订票时获得最便捷的体验。”

因此,当一场大型板球比赛或一场主要音乐艺术家的音乐会门票开始销售时,该公司的DevOps/SRE团队知道,他们必须为流量激增做好准备,因为在任何一天,流量都已经超过100万次。

四年前,该公司在孟买以活动管理业务起家,运营着本土AWS、Kubernetes和Grafana堆栈。DevOps Engineer表示:“我们的目标是确保系统始终处于正常运行状态,这样我们的移动和web应用程序用户就可以随时访问平台。Aayush阿南德

规模增长带来的挑战

但随着平台规模的扩大,团队开始遇到问题。

为了调试任何影响用户体验的平台问题,“我们需要随时记录日志,”DevOps工程师说总裁Baderia.随着我们规模的扩大,我们的日志和监控堆栈的成本也在增加,这对我们来说并不理想。”

其次,在大型促销活动导致的流量高峰期间,“日志的数量将呈指数级增长,同时日志丢弃率和缓冲和发送日志的时间也将呈指数级增长,”Baderia说。“所以,客户可能会出现问题,但我们没有意识到,或者我们无法正确调试。”

“由于大量的日志,在控制成本的同时扩展Elastic集群非常困难,”他补充道,“节点经常会耗尽内存,导致重启和日志丢失。”

监控无处不在

也许最关键的是,巴德里亚说:“我们没有为所有的监控解决方案提供中心位置。”bob彩票中奖计划

该团队对不同的服务使用不同的监视解决方案。bob彩票中奖计划阿南德说:“我们用CloudWatch来记录在AWS环境中运行的不同应用程序。然后是Kubernetes堆栈普罗米修斯监控,我们将跟踪诸如pod使用情况、CPU使用情况等指标。然后我们还有我们的应用程序栈,我们使用ELK跟踪应用程序日志,查找不同服务的bug和性能限制。”

巴德里亚说,结果就是,“为了查看问题,你必须去很多不同的仪表盘。”“这对我们来说变得非常困难。我们的警报完全没有集中。对于一个问题,我们会从三个不同的地方收到三个不同的警报,这也会产生很多噪音,让我们更难调试这些问题。”

寻找集中解决方案

Anand说,该团队意识到需要一种方法来“将所有这些日志映射到一起,使它们更有意义,这样我们就可以以更快、更流畅的方式在生产环境中发现问题。”

他们已经在普罗米修斯身上使用了格拉芙娜,并开始探索洛基。“我们发现,有了promtail,我们实际上可以跟踪应用程序日志,并将它们的度量放在同一个仪表板中”,阿南德说。“在Kubernetes上部署Loki和Grafana对我们来说是有意义的。”

该解决方案于2019年7月左右实施。Baderia说:“Loki非常容易使用,也很容易集成到我们的堆栈中。“它在AWS上有一个默认的EBS存储,对资源使用情况和我们可能需要的默认Helm图表有一个很好的估计。但在浏览了文档和一些博客之后,我们发现我们也可以使用AWS DynamoDB(存储索引)和AWS S3作为后端(存储日志),这让我们可以尽可能地水平扩展,而不必担心日志堆栈会不会下降。”

有了这些,团队开始收获收益。Anand说:“一旦我们在同一个仪表板中有了所有的日志和指标,我们就能够通过将应用程序日志的时间框架与指标映射起来,很快找到导致CPU利用率激增的原因。”“这大大减少了我们应对不同生产情况的时间。我们能够以比以前更快、更智能的方式找出导致延迟的原因以及导致应用程序错误的原因。”

例如,Paytm Insider的一个应用程序遇到了响应时间较慢的问题。阿南德说:“有了洛基,我们发现这通电话要花这么多时间,但当我们在本地运行时,就不会花这么多时间。”“所以通过进一步调查,我们发现中间件正在调用另一个API,这将花费更长的时间。”

出色的业绩

今天,团队每分钟为每个服务获取2000个日志,Loki为25个服务集中日志。他们使用单个Loki吊舱作为有状态集,并将promtail作为Daemonset部署。

Paytm Insider登录洛基

在Loki出现之前,调试延迟问题的平均响应时间约为30分钟。用洛基,用格拉夫娜和普罗米修斯,减少到10分钟。巴德里亚说:“在大多数情况下,它比这要少。”

此外,通过在其环境中使用Loki,该团队已经将日志记录和监视堆栈的成本降低了近75%。巴德里亚说:“这对我们来说非常好,因为现在,即使我们的用户基数在扩大,我们的成本也没有那么大,至少在监控和日志堆栈方面是这样。”

集中警报有助于节省时间。Baderia说:“现在有了日志和指标在单一数据源和单一可视化工具中,我们可以使用Grafana进行集中警报。”“我们所有的警报现在都来自一个地方,我们不需要寻找其他地方。我们可以直接打开警报,查看该期间的指标和日志状态。”

现在有了集中式监视,团队就有了将基础设施和应用程序性能关联起来的方法。

展望未来

Paytm内部团队正在进一步优化成本,并希望增加更多的功能。例如,该团队希望在其仪表板中添加Loki作为数据源,使用Loki标签支持对每个api的监视,并将面板集成到其堆栈中以实现水平可伸缩性。

但阿南德说,洛基已经“为我们工作得很好”。

Baderia补充道:“自从我们安装Loki以来,无论我们获得了多少应用程序日志,没有发生过Loki宕机的事件或实例。”

巴德里亚顺便提到,由于印度对孟加拉国T20板球比赛的门票开始销售,该平台当天刚刚经历了一个巨大的流量高峰。

现在没什么大不了的了。他说:“这太棒了。”“我们在洛基上没有一根原木下落,在普罗米修斯上也没有一根公制下落。”