在几分钟内减少指标量:SailPoint 如何使用 Grafana Cloud 管理基数和成本
DevOps 工程师 Lydia Clarke 在 2023 年初面临一个重大挑战:在不影响开发者体验的前提下,减少她所在公司 SailPoint 不断增长的指标量。
“主要缺点是,如果我们超出了分配的限制,我们的值班工程师就会收到大量警报,”Clarke 说。她于 2021 年加入了这家总部位于奥斯汀的身份安全公司的可观测性团队。“我们临时的解决方案是在一些开发集群中关闭可观测性,这不是我们喜欢的解决方案。但我们没有即时修复的方法。”
Adaptive Metrics 的出现改变了这一切。Adaptive Metrics 是 Grafana Cloud 中的指标管理功能,它允许团队将未使用和部分使用的指标聚合成基数较低的版本,从而降低成本。在应用了 Adaptive Metrics 的聚合建议并结合工程团队的内部努力后,短短几个月内,SailPoint 就成功将其指标量减少了 33%。
“主要问题是,如果你有 50 个不同的服务使用同一个指标,你必须找到一种方法来修改指标,同时不影响任何团队,”Clarke 说。“Adaptive Metrics 的好处在于,我不再需要使用自己的工具来查明哪些团队正在使用该指标并逐一跟进,它会直接告诉我需要的信息。如果我想知道哪些指标没有被使用,这个工具比我亲自去查找要快得多。”
现在,随着 SailPoint 继续扩展并增加新的服务,“Adaptive Metrics 确实帮助我们从现在开始高效增长,而不会让我们的指标和成本剧增,”可观测性团队负责人 Omar Lopez 说。Clarke 补充道:“它赋予了我们对指标更多的控制权。”
因此,SailPoint 渴望在与 Grafana Labs 日益增长的合作基础上继续发展。“他们的工程师简直太棒了。这不仅体现在产品本身,也体现在当我们有问题或需要解决方案时他们提供的支持,”Lopez 说。“我非常信任他们的工程能力。”
将指标迁移到 Grafana Cloud
作为身份安全领域的领先提供商,SailPoint 致力于提供下一代身份安全平台——一种可扩展、智能、可扩展的方法,用于管理和保护现代企业对关键数据和应用程序的访问。
“我们正处于超高速增长模式。不仅公司在发展,我们在云端的足迹也在扩大,”三年前加入 SailPoint 的 Lopez 说。即使在那时,“我们的基础设施在增长,我们的指标在增长,一切都以如此快的速度增长,以至于我们触及了实例限制。”
随着 Prometheus 服务器变得越来越大,SailPoint 也开始达到 AWS 实例的上限,迫使可观测性团队使用 Cortex 横向扩展其基础设施,后来又改用 Grafana Labs 于 2022 年发布的开源 TSDB Grafana Mimir。团队使用 Grafana OSS 来可视化和监控基础设施的健康状况和性能。
查看 Sailpoint 如何追踪其活跃时间序列限制
虽然更新后的架构是一个有效的解决方案,但“维持它需要越来越多的工程投入,”Lopez 说。当团队坐下来分析其自托管指标的总拥有成本时,考虑到基础设施成本和人力投入,他们意识到每月的账单非常高昂。
他们原以为托管解决方案的成本会更高——直到他们研究了 Grafana Cloud Metrics。“当我们仔细计算后,Grafana Labs 提供的全套服务的费用更低,并且可以减轻我们工程团队的负担。那一刻我们恍然大悟,”Lopez 说。
Lopez 补充道,更重要的是,“产品和性能没有区别”。“当我们与工程团队交流时,性能没有任何下降。每个人都对这次迁移非常满意。”
事实上,团队非常满意,他们还将用于可视化和监控的 Grafana OSS 迁移到了 Grafana Cloud。“我们花了很多时间在内部管理 Grafana。现在我们有更多时间进行创新,”Lopez 说。“企业版插件也让我们很感兴趣——例如有一个 Snowflake 插件,而我们正在运行 Snowflake。有很多非常实用的功能是我们觉得可以利用的。”
Adaptive Metrics:低风险,高回报
然而,有一个功能很快就成为了必需品:Adaptive Metrics。虽然 Grafana Cloud 让存储指标变得更容易,但“基数实在太要命了,”Lopez 说。
当 Lopez 向 Clarke 提出解决 7500 万指标量的问题时,“一开始感到不知所措,”Clarke 说。“我不知道从哪里开始削减。”
Clarke 首先求助于 Grafana Cloud 的基数管理仪表盘,这些仪表盘显示了发送到 Grafana Cloud Metrics 的时间序列数据中指标和标签的分布情况。仪表盘还提供了使用信息,显示 Grafana Cloud 中哪些指标正在被实际利用。
虽然基数管理仪表盘有助于识别指标使用情况,但 Clarke 随后必须利用这些信息,并在公司内部进行自己的“侦探工作”。“我需要调查很多事情,”Clarke 说。“因为我的团队为其他团队创建和监控自己的指标提供基础设施,所以我们并不总是了解我们所支持的每一个指标的上下文。为了了解可以对指标进行哪些更改以降低基数,我不得不与我们的 SRE 团队开会,查看每个指标的重要性,以及它们为所属团队提供了哪些可见性。”
这个过程常常不可预测。一旦发现某个利用率低的指标,Clarke 就必须联系使用该指标的相关团队,确保进行任何更改都不会影响他们的服务。“比如说有 50 个不同的服务使用同一个指标,这是一个巨大的挑战,”Clarke 说。“需要大量的后续跟进工作。”
工作完成后,Clarke 还需要手动在 SailPoint 的开发环境中部署更改进行测试。一切正常后,她会将更改部署到每个 Prometheus 实例,并根据需要进行故障排除,以确保服务不中断。“这会占用我一天中的几个小时,”Clarke 说。
有了 Adaptive Metrics,Clarke 的工作变得无比轻松。Adaptive Metrics 会根据您云环境中的实际使用情况,推荐需要聚合的指标。然后,它会持续重新分析您的使用情况,并根据您的可观测性技术栈的变化调整建议。
当我们使用 Adaptive Metrics 时,我只需要下载推荐配置,运行一个脚本,应用它,然后我就完成了。这可能只需要五分钟,我就能应用这些更改,相比之下,我之前尝试部署到 Prometheus 需要花费几个小时。这是一个即时修复,我们可以实施它,而不用担心影响到任何人。
Lydia Clarke,DevOps 工程师
事实上,当 SailPoint 第一次开始测试 Adaptive Metrics 时,甚至没有人注意到任何变化。“我们最大的担忧之一是,如果我们删除了某个团队需要的东西怎么办?”Lopez 说。“但一旦我们深入研究并开始一点点地应用这些建议,就很清楚地看到,工程团队甚至没有意识到正在发生什么。”
“我们没有收到任何关于仪表盘无法工作或查询出错的投诉。一切都像以前一样运行,”Clarke 补充道。“Adaptive Metrics 是向工程团队展示我们可以修改指标而无需担心问题出现的绝佳方式。而且我也不必担心引起中断或停机。这确实是一个低风险的解决方案。”
投资回报也很高。最近,生产环境中出现了一个问题,一个配置错误的指标在部署期间导致了尖峰。“我们应用了 Adaptive Metrics,进行了故障排除,然后回滚了该指标,”Clarke 说。“当我们达到限制并想回到限制以内时,Adaptive Metrics 给了我们更多控制权。”
幸运的是,这种情况现在不再经常发生。目前,SailPoint 管理着大约 5000 万活跃时间序列,并且他们有进一步减少这个数字的雄心壮志。“我们超额完成了我们的目标,”Lopez 说。
更重要的是,“现在当我值班时,我不再担心收到 Prometheus 和 Grafana 的大量警报了,”Clarke 笑称。
“精英中的精英”
从一开始,SailPoint 在与 Grafana Labs 合作方面就有一个突出的关键指标:支持服务。
尽管他们是开源用户,SailPoint 工程师经常发现 Grafana Labs 的工程师对他们的问题反应迅速——提供技术支持,为公司举办网络研讨会,总的来说,从一开始就是可靠的合作伙伴。“我一直记在心里的是,他们只是为了帮助我们取得成功,”Lopez 说。“所以当决定迁移到 Grafana Cloud 时,我总是愉快地想起这一点——团队提供的出色支持。”
他还赞赏 Grafana Labs 每个产品背后的技术实力。“他们的工程团队非常敏锐。他们是专家。这是精英中的精英,”Lopez 说。“当他们发布新工具,或者提供日志、追踪或可观测性的所有其他方面时,背后都有深厚的工程思考,非常值得我们关注和考虑。”
除了使用 Grafana Cloud 进行可视化以及使用 Grafana Cloud Metrics 进行存储和管理之外,SailPoint 可观测性团队还计划扩展其技术栈,将 Grafana Cloud Frontend Observability 用于真实用户监控。该公司还采用了 Grafana Cloud k6,这是由开源项目 Grafana k6 提供支持的托管性能测试解决方案。(Lopez 补充道:“那完全是另一个团队。他们自己进行了分析,k6 胜出了。”“太棒了,不同的团队得出了相同的结论” 关于 Grafana Cloud。)
“我们正处于可观测性之旅的中途,但我们与 Grafana Labs 的关系才刚刚开始,”Lopez 说。“我们正在探索 Grafana Cloud 中越来越多的功能和服务。就像进了糖果店的孩子一样——我们什么都想看看。”
