如何在Grafana云中跟踪谁在向你的堆栈发送什么指标

94 阅读4分钟

我们很高兴地宣布GrafanaCloud中Grafana使用组功能的发布。这个新功能--在Grafana Cloud高级计划中可用--帮助集中的可观察性团队和管理员跟踪并将指标使用归因于存在于单一共享Grafana堆栈中的组。

最终,Grafana使用组可以帮助治理和成本控制。在这篇文章中,我们将向你展示如何在Grafana云中把指标归属于不同的团队。

如何组织和部署Grafana堆栈

在野外,我们看到用户以几种方式维护他们的Grafana堆栈

  • 整个组织的一个共享Grafana栈。许多客户把他们所有的指标(跨越许多不同的团队)放到一个单一的托管指标实例中。这种方法的好处是透明和简单--每个用户都可以默认访问所有数据。
  • 每个团队一个Grafana栈:一些管理员为每个团队、部门或业务单位部署一个堆栈。这使得管理员可以向各自的团队收费或跟踪归属的使用情况。它将管理成本的责任转交给这些团队,使他们能够独立自主地管理他们的成本。
  • 每个环境只有一个Grafana堆栈:一些管理员已经为每个环境创建了一个堆栈,如开发、暂存和生产。为环境归属使用情况可以帮助财务团队正确分配直接和间接成本。

此外,在组织和部署Grafana堆栈之前,还应该考虑到其他因素:

  • 限制是按Grafana堆栈配置的:如果一个团队或环境的使用量激增并达到他们的限制,其他堆栈不会受到影响。
  • 数据访问:默认情况下,当你创建一个新的Grafana云堆栈时,存储在托管指标后端的数据将通过托管的Grafana实例进行访问,因为该后端已经被配置为数据源。如果你想限制团队只能看到自己的数据,这可能很有用,但如果你想让团队能够查看彼此的数据(例如,在一个集中共享的托管Grafana实例上),那么管理员将需要手动添加每个指标后端的数据源。

无论你喜欢哪种方法,所有这些堆栈模型都可以从使用组中受益。

Grafana云中的Grafana使用洞察力

无论你是使用多个堆栈还是一个堆栈,你都可能从实施使用组中受益。使用组为你提供额外的维度来分析和更好地了解你的指标使用情况。

让我们深入了解一个例子。首先,我们要分析不同服务的指标使用情况。我们将从设置使用组配置开始,根据一个叫做service 的标签创建独立的组:

'grafanacloud_usage_group/service_ambassador': '{service=ambassador}'
'grafanacloud_usage_group/service_consul': '{service=consul}'
'grafanacloud_usage_group/service_ingress-ambassador': '{service=ingress-ambassador}'
'grafanacloud_usage_group/service_ingress-nginx': '{service=ingress-nginx}'

配置项被建立为所需组名(前缀为grafanacloud_usage_group )和计数活动系列的标签选择器的映射。

在为我们的测试账户添加这一配置后,我们的使用组在计费和使用情况仪表板上的指标实例使用组统计行下显示出来。

仔细观察,我们可以发现这个例子中使用量最大的服务是ingress-nginx。要进一步深入了解使用量是如何增加的,你可以前往cardinality仪表板

注意:每个使用组的活动系列计数只从使用组配置应用的那一刻起可用。在那一刻之前摄入的指标不会被追溯分析或分配到任何使用组。

接下来,我们将引入另一个维度,我们希望通过它来计算活动系列。我们的数据来自于多个环境(开发、生产、暂存)。假设我们的工程副总裁/云财务团队想了解我们在开发环境上花费了多少钱,并决定我们是否应该更有效地使用那里的指标。

要做到这一点,我们要把我们的使用组配置修改为如下:

'grafanacloud_usage_group/service_ambassador': '{service=ambassador}'
'grafanacloud_usage_group/service_consul': '{service=consul}'
'grafanacloud_usage_group/service_ingress-ambassador': '{service=ingress-ambassador}'
'grafanacloud_usage_group/service_ingress-nginx': '{service=ingress-nginx}'
...
#nothing changed until here 
'grafanacloud_usage_group/environment_dev': '{environment=dev}'
'grafanacloud_usage_group/environment_prod': '{environment=prod}'
'grafanacloud_usage_group/environment_staging': '{environment=staging}'

通过这个修改,每个环境的指标使用情况也显示在同一个面板上。

应用新的配置后,我们发现dev使用的指标是prod的30%左右。

了解更多关于Grafana Cloud中使用组的信息

我们很高兴能在Grafana Cloud Advanced中展示使用组功能,并为你提供一种新的方式,根据对你的团队或公司最有意义的方式来设置和维护你的Grafana堆栈。