Dapper Labs 如何使用 Grafana Cloud 满足全球 NFT 热潮的需求
2021 年 3 月,数字艺术家 Beeple 创作的一张 JPEG 图片在佳士得拍卖行以超过 6900 万美元的价格售出。这次拍卖在全球范围内掀起了对 NFT(非同质化代币,代表数字藏品、艺术品和媒体)的痴迷。在所有这些头条新闻中,区块链游戏工作室 Dapper Labs 脱颖而出。
Dapper Labs 于 2017 年由风险投资工作室 Axiom Zen 推出,利用区块链技术构建令人上瘾的游戏,验证真实的数字藏品,并为体育名人和音乐艺术家运营粉丝代币。该公司的首款产品 CryptoKitties 是一款非常流行的区块链游戏,玩家可以在其中繁殖、交易和收集虚拟猫,它通常被认为是早期将区块链技术用于 NFT 相关娱乐的尝试之一。
最近,这家基于区块链的初创公司推出了 NBA Top Shot,这是一个数字交易卡系统,已完成约 1900 万笔交易,NBA 比赛集锦的销售额超过 2.3 亿美元。
在被称为“NFT 狂热”的热潮不断增长中,Dapper Labs 不得不进行超大规模扩张,以满足全球对加密藏品的需求。Dapper Labs 的首席 SRE(站点可靠性工程师)兼 IT、安全和 SRE 团队工程经理 Andrew Burian 在此过程中发挥了作用。
Burian 说:“SRE 的核心理念很简单:如果你没有先把可观察性做好,你就什么都做不了。”
为此,Burian 和他的团队为 Dapper Labs 构建了一个可观察性栈,其核心监控工具包括Grafana Cloud、PagerDuty、Prometheus、Kubernetes 和 Google Cloud Platform。
他们还为开发人员提供了一套开箱即用的告警,以便团队在编写应用程序时,也能实现“左移”(Shift-left)可观察性,并立即开始将指标导出到 Grafana 并监控他们的工作。Burian 解释说:“如何利用他们的告警并确保他们的应用程序保持运行,这取决于开发人员自己决定。我们只是为他们提供正确的工具、指导和专业知识。”
这绝非易事。迄今为止,Dapper Labs SRE 团队监控着超过 400 万个活动系列,这相当于每分钟约 1200 万个数据点。通过使用Grafana Loki 处理日志(每天最多 2TB 的日志)和使用Grafana Tempo 处理追踪,Dapper Labs 将其所有的可观察性数据通过 Grafana Cloud 进行传输。
Burian 说:“我拥有高级别的 Grafana 仪表盘,可以将所有不同的系统汇聚到同一个视图中,因为 SRE 的职责是了解系统的运行状况。”
多年来,Dapper Labs 为此迅速从使用 Grafana OSS 发展到使用 Grafana Cloud 进行应用程序和系统监控。因此,Burian 补充说:“Grafana 在公司所有方面都得到了广泛应用。”
我们几乎所有事情都通过 Prometheus 完成,因此对于长期存储、仪表盘和告警,我们都将其发送到 Grafana。Grafana Cloud 负责处理数据,使任何产品团队都可以随时随地根据这些信息构建仪表盘和告警。
Andrew Burian,Dapper Labs IT、安全和 SRE 团队的首席 SRE 和工程经理
升级到 Grafana Cloud
Dapper Labs 最初的监控之旅是运行自己的 Prometheus 实例作为数据存储,并在其上叠加 Grafana 作为开源可视化层。
Burian 说:“我倾向于开源项目,因为我想知道产品在做什么以及在哪里做。而且,如果我感到足够沮丧,我可以提交修改。”
然而,在使用 Grafana 六到八个月内,数据保留很快成为了一个问题。
Burian 说:“花时间仔细管理存储位置、数据保留期,以及确保 Prometheus 节点足够强大,以便我们能够查询过去六个月的数据……所有这些都让人头疼。”
为了减轻团队的操作负担,Burian 选择 Grafana 来处理可视化以及数据仓储。“我需要运行的东西越少越好,”他说。
由于团队已经是Grafana Cloud 的指标客户,因此在 Dapper Labs 于 2020 年升级产品时,从开源迁移到 Grafana Cloud 进行仪表盘制作是很自然的举动。
Burian 说:“对于 v2,我们将新仪表盘部署在 Grafana Cloud 上。我们慢慢弃用了自托管的仪表盘。我们仍在自托管的 Grafana 实例上保留了一些旧告警和仪表盘,因为面向消费者的产品弃用需要很长时间。”
随着 Dapper Labs 不断扩展,“我们与 Grafana Cloud 的协议逐步增加了更多的 Grafana 栈投入生产,”Burian 说。他曾考虑过市场上的其他监控方案,但“它们都被淘汰了。”特别是它们的定价“非常荒谬”,与 Grafana Labs 的产品相比,收费高出三到四倍。
即使他们的产品经历了用户增长 100 倍、流量增长 1000 倍,且指标从 20 万膨胀到近 400 万活动系列,Burian 表示,“我一直认为 Grafana Cloud 的定价与我们的使用量成比例。”
他的团队还受益于 Grafana 节省的时间。Dapper Labs 整个工程组织约有 100 人,而可观察性小组只有 6 人,Grafana Cloud 使 Burian 的团队能够专注于更大的项目,而无需每隔几个月就担心维护和升级。
Burian 说:“任何需要看管的事情对我们来说都是机会成本的损失。”
主动解决问题
Burian 回忆道,他和他的团队刚开始探索可观察性之路时,“数据难以进行插桩,我们只有一个 APM 统计数据和一些 CPU 使用率,人们根本不在乎。我们总是在监控捕获到任何问题之前,就先从客户那里收到性能问题报告。”
自 Dapper Labs 在 2019 年实施其可观察性栈以来,Burian 表示:“现在我们的插桩做得非常好,甚至能在 Google Cloud 公开报告之前就捕获到 Google Cloud 上的宕机事件。”
当出现问题时,Grafana 会捕捉到事件并将其发送给 PagerDuty,后者会向开发人员发送告警。然后开发人员会使用 Grafana 检查是什么触发了告警,并利用 Grafana 的学习引擎来评估指标。
通常,开发人员知道他们在寻找什么,并且能很快找到。我们可能仅凭指标就能调试 80% 的问题。然后针对最后一部分,他们会深入研究日志或我们的错误报告工具来查找具体细节。但通常情况下,如果是扩缩问题,只需通过一两个 Grafana 仪表盘就可以调试。
Andrew Burian,Dapper Labs IT、安全和 SRE 团队的首席 SRE 和工程经理
Burian 说,除了在告警和监控方面更加敏捷之外,“赋予团队权力是最好的结果,因为这会影响到我们所做的其他一切。效率更高,错误更少。”
开放编辑季节
Burian 说:“我们的监控和可观察性平台是公司内部我们开始将其视为提供给内部客户的独立产品的首批系统之一。这种思维模式的强大之处在于,它能让您像对待产品一样思考改进。”
这就是为什么他们的内部 Grafana 部署不断地由 Dapper 社区塑造。Burian 说,在公司内部,“我们的 Grafana 用户列表中,编辑者肯定比查看者多。”
Dapper Labs 的协作环境鼓励更多人——包括编辑人员——关注产品和程序。Grafana 约有 240 个活跃用户,其中包括工程师以及希望深入了解数据的项目和产品经理。
Burian 说:“项目管理、产品管理层和高层只消费仪表盘,但几乎每个工程师都在编辑它们。在我们公司,我们确实有开放编辑的文化。所有产品的 Wiki 都是一个巨大的协作编辑环境。没有任何实际的访问控制。我给每个人都授予全局编辑权限。如果你想调整仪表盘或者从那里获取什么,你就可以直接进去做。”
低门槛意味着任何人都可以自由地为监控工作做出贡献。Burian 说:“大多数人都非常热情,我没有设置任何控制来阻止他们随心所欲地向 Grafana 发送尽可能多的指标,所以他们充分利用了这一点。”
即使是新员工,通常在入职后的两三个月内就能对监控设置做出有意义的贡献。
Burian 说:“Grafana 从一开始就具有视觉吸引力,这很有帮助。很难创建一个看起来糟糕的仪表盘。”因此,Burian 说 Grafana 仪表盘驱动了使用量,因为“更多的人会查看看起来漂亮的东西。”
公司绝大多数的仪表盘都侧重于工程,只有少数几个用于公司平台的高级摘要。最近,团队也开始将 SLO 和 SLI 正式化为仪表盘,以跟踪公司全年的目标和进展。
Burian 说:“这正在得到产品经理和高层的关注。目标是拥有一个 SLO 和一个描述该 SLO 的仪表盘,其中包含在出现问题时验证所需的支持数据。”
“未来只会越来越好”
Burian 说,最开始“我们首次接入时的最低水位大概是 30,000 个系列。但我基本上告诉他们,把所有东西都丢给系统,这样才能达到我们现在这个水平。”
随着 Dapper Labs 的扩张,公司的 Grafana 使用量也随之增长。然而,创业模式——即“我们必须尽可能快地构建所有东西!”——与找出效率所在——即“让我们谈谈我们的盈利底线”——是不同的。目前 Dapper Labs 正在经历这种转变。
Burian 说:“已经存在一些工具可以检测哪些系列是完全无用的。我们将开始清除这些。”
剩下的将是 Burian 对 Dapper Labs 可观察性的整体愿景。Burian 说:“真正的成功在于,我们能够专注于利用我们的工具和可观察性来定义真正优秀的用户端 SLO,创建真正有影响力的告警和监控,并在不被数据淹没的情况下获取所需的信息。”
随着团队在即时插桩方面做得越来越好,他们将学会更高效地导出更多指标。在接下来的几个月和几年里,随着他们的监控使用量持续增长,“我们将摄入新的指标、来自新来源的更多日志,而且既然我们有了 Grafana Tempo,我们也希望充分利用我们的追踪能力,”Burian 说。
Burian 补充道:“我对我们目前的监控状况非常满意,从未如此满意。未来只会越来越好。”
要了解更多关于 Dapper Labs 可观察性之旅的信息,请查看 Andrew Burian 在 GrafanCONline 2021 上的完整演讲。
