9万个站点上的10个人:如何不发疯

嗨,我叫Vera Sivakova。 我与Yandex.Kassi的主要合作伙伴一起工作-我连接大型商店和服务,启动项目并前往世界各地的会议。 总的来说,我认为一切都很好。


每个Yandex.Money员工每年都可以更改一次职业-选择一个部门并在那里工作几天。 因此,一个月前,我坐在Sapsan到达了圣彼得堡。 那里有一个监视部门,该部门还监视与售票处相连的90,000个站点运行良好,因此我们决定联合起来。



怎么不发疯呢? 不完全相同 (来源:reddit.com)


这是一个关于我们的监控工作原理的故事,以及我在另一个部门几天中学到的东西。


每秒大约有600笔交易通过该服务,所有这些都需要实时监控-但是,如果发生什么情况,该在什么时候发出警报? 我们需要对所有内容进行系统的研究。


从技术角度分析系统,而不是忘记业务指标(付款次数,营业额和其他参数)是一种很好的做法。


在小型系统中,主要(通常是唯一)管理员的警惕一瞥就足够了。 但是,当有很多流程时,员工无法手动监控所有内容,因此最大程度的自动化将是最佳策略。 如果没有专家的知识和团队的合作,任何事情都将无法进行,因为监控是不断的改进,分析以及选择有效指标和触发因素的能力。 他们将在偏离给定条件的情况下工作并报告异常。


我们将监视分为三个级别,每个级别都有其自己的重要指标-系统级别,业务逻辑级别和交易对手级别。


系统级


这里最重要的是对基础架构进行全天候监控。 在我们使用Zabbix实时收集数据的工具中,它会通知服务器和数据中心的运行情况,网络质量,组件和数据源的可用性。


监视IT基础结构是一项非常负责任的工作,因为此级别的故障充满了系统不可操作性和绝望的措施。 因此,重要的是不仅要响应“闪烁”的问题,而且要分析趋势和历史数据-这将允许及时警告潜在的故障点并预测扩展的必要性。 该规则适用于所有指标和监控级别,包括业务。


对于临界点,应在下面选择触发阈值。 例如,如果来自一个路由器的响应时间增加,我们会将流量转移到另一个路由器,并消除第一个原因。 这触发了一个警告触发器,使您可以及早收到有关潜在问题的通知,从而可以预留时间进行响应,可以预测更改并避免灾难。


业务逻辑级别


每个团队都定义需要跟踪的流程,它们的优先级和个人指标。 例如,收银员团队有数十个业务流程,例如通过每种可用方法进行付款-卡,电子钱包,通过在线银行和终端,移动商务,发送收款机等。 作为收集和显示业务逻辑工作数据的主要工具,我们将Graphite与Grafana结合使用。


在此级别上,重要的是要坚持采用系统的方法,并设法摆脱二元且无意义的“有效/无效”。


例如,有一个度量“成功的卡支付次数”。 如果开始闪烁,则表示工作流程减少了。 在这种情况下,您需要了解确切的原因,并考虑此过程中涉及的所有组件。 如果交易数量减少,您可以立即考虑收单银行方面存在困难的事实。 但是图表显示随着银行的普及,一切都很好。 然后,您需要进一步调查,最后,例如,所有问题都在布局中:由于某种原因,“付款”按钮已消失或变为无效状态。


交易对手等级


在这里,我们谈论的是特定的交易对手-例如,收购银行和商人。


我们为收购方选择了单独的时间表和触发器,我们必须一直跟踪其可用性。 对于我们来说,作为一种支付服务,稳定性非常重要,因此,如果其中一家银行发生故障,我们会立即将资金流转至储备金。



一家银行失败,但另一家银行自动连接


如果出现错误,我们学会了很好地,及时地重定向工作流程。



一家银行记录了付款错误的增加



翻译-一切都井井有条。 Y轴值不相称


收购方可能由于各种原因而在上述级别失败-系统和业务逻辑。 没有人能免受不可预见的问题的影响,不能保证100%的可用性。 当您需要密切监视事务进度时,还应该记住计划中的技术工作和发布。 冗余和自动切换的问题至关重要,因为简单意味着停止为企业付款。


我们一次与多家银行合作,以最大程度地减少停机风险并优化SR卡付款。 SR(成功率)或其他转换是一种业务指标,计算为成功付款次数与交易总数之比。 不同的公司以自己的方式衡量转化:例如,某人从付款页面开始衡量,其他公司则单击“付款”按钮。 但总的来说,SR受许多不同因素的影响-MCC,付款中是否包含3D-Secure,付款人的地理位置,是否需要经常性付款。 无法确定并且不需要知道“医院平均值” SR-在每种情况下,它都是它自己的值,必须对其进行优化。


各种错误可以分为两大类。


  1. 可以避免的错误 -例如,禁止从该国家付款。 如果您确定这不是欺诈性攻击,并且您的用户遍布世界各地,那么在这种情况下,有必要联系所有发卡行的付款可能性。 顺便说一下,这可以在Yandex Cashier的个人帐户中完成。
  2. 无法影响的错误 -例如,卡已锁定。 在这里,只有重新发行或尝试用另一张卡重复付款作为新交易的一部分会有所帮助。

许多人选择收费的提供商。 实际上,速率不是唯一应考虑的值。 您还需要查看成功付款(SR)的百分比-因为没有人获得100%的转化,并且每个银行的价值差异很大。 还必须考虑用户场景的总体外观:付款前需要执行多少步骤,界面是否清晰等。


转化如何影响利润



在第二种情况下,服务佣金更高,但是转换也更高,因为使用了网关的预留和正确配置。


从示例中可以看出,更好的业务解决方案将是提供更好的服务,尽管事实上由于收购质量的差异而产生的佣金更高,但最终我们每个月仍有3 538 080-2 847 000 = 691 080卢布的差额! 一年就是800万,这对于企业来说是一笔不小的钱。


转化率,营业额和费率是任意的,但是该示例表明服务的主要内容是其稳定性和质量。 而且,这已经带来了更多的转化,并因此为商人带来了更大的营业额。


商家如何连接


如前所述,我们尝试使用会在事件上自动触发的指标和触发器来涵盖所有内容。 让我们看一下如何监视一个商人的所有情况。


连接到收银员后,如有必要,对商人进行监视。 我们在Grafana中构建一个图表,并配置度量标准,以在偏离给定的“正常”值的情况下触发自动警报。


我们使用Moira将通知发送到监视组的聊天室,该监视组将迅速检查详细信息。 该通知包含指向事件时间表和事件详细信息的链接。



绝对是来自机器人的消息的真实示例


分析图表后,监视团队专家通常使用Kibana来查看日志。 这里的情况可能是平淡无奇的,然后在日志中显然会看到错误,或者需要分析师的额外参与来分析故障的原因。


将来,我们希望为商家设置有关其方面的错误的自动通知,例如有关服务器不可访问性或非协议响应的通知。 这将使您能够快速响应故障并提供交易对手信息以消除原因。


除了技术方面,我们还仔细监视业务指标,例如营业额,收入和资金流出,但这似乎是以下故事的主题。


最重要的


我的“不服从的日子”(我们称这是向另一个部门的临时过渡)结束了,我回到了莫斯科。 在监控部门工作了两天,我学到了很多东西,并且简化了当前的知识。


  • 监视任务是在所有级别上提供有关系统状态的相关信息;
  • 选择能胜任的指标和触发因素-90%成功;
  • 在付款服务中,转化达到了出价;
  • 您需要遵循该技术并记住业务指标;
  • 我们需要系统的流程视图和分析关系的能力;

但是-值得感谢。 监控人员,谢谢!




仅此而已。 提出问题,订阅我们的博客并访问。

Source: https://habr.com/ru/post/zh-CN426583/


All Articles