博客/工程

如何在Grafana最好地组织你的团队和资源

2022年3月14日8分钟

几乎每个将Grafana作为可观察性或数据可视化服务的一部分的公司都有多个团队、部门或自己的客户要服务。

每一个团队(我们将使用术语“团队”加上小写的“t”作为这些团队/部门/客户的缩写)都需要加入,理想情况下是作为自助流程的一部分;学习如何开始;并管理和共享(或至少查看)自己的资源,如数据源、仪表板、警报甚至用户。此外,Grafana的操作者需要一个易于管理的系统,并通过供应和api实现自动化。

内部存在几个结构Grafana组织资源和权限。在这里,我们将概述我们的建议和未来的计划,为那些想要这样做的人组织人员和资源在格拉弗纳确保数据安全,为他们的用户策划Grafana,并最小化管理开销。

为什么要有条理?

我们的用户告诉我们,在Grafana组织他们的人员和资源有4个主要原因:

  1. 安全:客户A不应该能够看到客户B的信息。
  2. 简单性:随着每个人的仪表盘、警报等混杂在一起,事情变得无序。
  3. 成本归属:他们需要跟踪并向客户、部门或部门开具成本账单。
  4. 配置/定制:部门A以不同的方式操作,并希望对他们的Grafana工作空间有一个完全不同的配置(版本、认证、插件等)。

根据这些需求,我们对在Grafana组织资源和人员的建议是不同的。

什么是“团队”?

每次格拉夫娜的设置都不一样,但是团队可以是这样的:

  • 对于一个Grafana企业对于客户来说,一个4-8人的团队可能负责可观察性服务(包括Grafana)本身。这些用户通常是管理员。
  • 类似地,其他服务团队(如将平台作为服务或数据库进行管理的团队)是“两披萨”团队,少于20人。
  • 这些团队(如工程或devops组织,甚至外部客户)产生的可观察性数据的受众可能更大,通常在几十个用户,但可能会增加到数百个。

在Grafana组织团队的最佳实践

以下是我们建议您在Grafana组织人员和团队的方法:

  • 我们建议您使用文件夹和团队在可能的情况下,组织并管理对Grafana核心资源的访问,如仪表盘和警报。文件夹和团队是最容易管理的组织工具,它们允许团队之间灵活的共享。我们计划在未来让文件夹和团队变得更有用。
  • 我们建议您使用实例或堆栈如果您想要真正的隔离,则需要分离团队—确保团队之间没有信息泄漏。您可以使用配置在实例之间同步一些资源。
  • 我们很少推荐Orgs作为分离团队的方法,因为它们缺乏文件夹的灵活性以及实例和堆栈的实际隔离。另外值得注意的是:组织在Grafana Cloud中是不可用的。(Grafana云使用术语“组织”来指代www.tubolov.com上的帐户,但是这个概念不同于Grafana应用程序本身中的组织。

以下是使用每种方法可以共享和/或隔离的资源:

在Grafana图中组织团队。

文件夹和团队

组织Grafana团队:权限。
组织Grafana团队:设置。

文件夹是资源的容器。目前,您可以将仪表板、库面板和警报放入文件夹中(但不能将其他资源,如数据源、注释、报告或播放列表)。您可以为应用于其中所有资源的文件夹创建、查看、编辑或管理权限。

团队是用户组。您可以向应用于该团队所有成员的团队授予权限。(我将使用“团队”来指代实际的一组人,使用大写T的“团队”来指代团队的Grafana概念,它对用户进行分组)。

用户的例子

Grafana企业的客户, SREs的每个团队在Grafana中被分配了一个team,这与他们的服务相关联,表示为Kubernetes名称空间。Observability团队将他们的Active Directory组同步到Grafana团队,为团队创建一个文件夹,并为团队提供一个具有访问他们自己名称空间的凭证的数据源普罗米修斯/ Thanos。

在这种情况下,我们建议通过使用文件夹和团队来组织和管理对Grafana核心资源(如仪表板和警报)的访问。

  • 文件夹和团队可以使用文件提供Grafana的API,团队可以从SSO提供商(如Active Directory和谷歌Oauth)同步。这意味着可以通过编程方式创建一个新的团队入行流程,该流程创建一个文件夹,将团队成员从SSO提供者同步到Grafana中的团队,授予团队对一些共享资源的访问权,并允许团队成员创建和管理他们自己的仪表板、警报和共享面板。
  • 团队也有他们自己的首选项,因此您可以为不同的用户组定制登录页面、时区和某些UI首选项。这使得团队和文件夹成为管理入职和访问的最方便、最灵活的方式。

限制

最重要的限制是,只有某些资源可以放入文件夹中,因此可以使用文件夹权限进行访问控制。一些资源(如数据源)具有自己的权限,可以授予团队,而另一些则不能。如果用户创建注释、报告、警报通知通道、API密钥、快照或播放列表,那么这些资源将在所有Teams之间共享。

Grafana组织

组织Grafana团队:组织。

组织在格拉夫纳提供了一种隔离措施。它们的目的是提供完全独立的体验,看起来就像在一个实例中包含多个Grafana实例。管理多个组织比管理多个Grafana实例更容易、更便宜。然而,我们很少推荐Orgs作为分离团队的方法,因为它们缺乏文件夹的灵活性和实例和堆栈的真正隔离。org在Grafana Cloud中也不可用,我们推荐使用Stacks(见下文)。

用户的例子

一个消费科技公司目前为每个在Grafana的团队建立了一个Grafana Org。团队在很大程度上彼此独立行动。

限制

  • 组织不如文件夹灵活:
    • 像文件夹一样,组织分离了对资源的访问,而且它们比文件夹隔离了更多的资源。与文件夹不同的是,您不能选择在它们之间共享什么。组织将团队、数据源、API密钥、插件、仪表板、文件夹和其他资源隔离开来。
    • 资源不能在组织之间共享,除非您编写程序在组织之间提供或同步资源。
    • 用户必须手动从一个Org切换到另一个Org,以便查看其仪表板、文件夹等。你不能在组织之间搜索或移动内容。
    • Org之间的用户管理更加复杂:用户必须在每个Org中单独添加/提供和管理。
  • 组织不像实例或堆栈那样孤立:
    • 所有组织共享相同的Grafana配置,这意味着它们不能使用不同的身份验证提供者(例如,一个是谷歌Auth,另一个是Okta)、特性切换、自定义品牌或存在于实例级的其他自定义。

Grafana实例和Grafana云堆栈

组织Grafana团队:Grafana实例。
组织Grafana团队:Grafana云栈。

实例是完全独立的Grafana部署。所有的一切——配置、用户和资源——在实例之间都是独立的。如果您想要真正的隔离,我们建议您使用实例来分隔团队。例如,您有两个客户,它们的用户不应该看到彼此的数据。Grafana云为每个租户创建一个新的Grafana实例(以及Grafana Cloud Metrics、Grafana Cloud Logs和Grafana Cloud tracing租户)堆栈

您可以使用API或配置来同步实例(如数据源)之间的一些数据。

关于计费的注意事项:Grafana企业许可证只适用于单个实例,但是您可以为其他实例购买许可证,价格低于第一个实例的价格。如果一个用户在多个实例中处于活动状态,那么从许可的角度来看,他们被视为多个活动用户。

用户的例子

一个物联网公司为他们的每个客户(化工厂)管理一个单独的Grafana实例。他们试图使用一个实例,但无法使用Folders或Teams将注释彼此分开,因此他们选择操作几个独立的实例。

限制

隔离有它的优点和缺点。如果您想在多个实例之间共享资源,您将需要使用API或配置进行同步。此外,用户将不再真正地看着一块玻璃——对于团队来说,创建链接到公共仪表板的警报或在UI中的仪表板上协作将变得更加复杂。管理多个实例和堆栈也更加耗时和复杂。

Grafana云组织
一个Grafana云组织不同于Grafana Org。Grafana云组织通常代表一个完整的公司,它可以包含多个堆栈以及集中的用户管理和计费。如果您希望将从Grafana Labs购买的所有Grafana云产品的计费、帐户管理和管理分开,则可以设置多个Grafana云组织。bob电竞频道bob手机app官网然而,几乎所有的Grafana Cloud用户都只有一个Grafana Cloud Organization。

接下来是什么?

bob电竞频道Grafana Labs计划投资解决用户在Grafana中面临的组织问题,当他们扩展到新的团队、部门和部门时,例如允许您将更多种类的Grafana资源放入文件夹中。最终,这将演变为团队的个性化体验,强调不同的功能、产品和用户流。bob手机app官网

我们将在文件夹和团队上投入大量资金,作为在Grafana组织人员的一种方式,使用工具将更多资源组织到文件夹中,为Teams分配特定的权限,将Teams与SSO提供者同步,向Teams添加服务帐户(API密钥),允许Teams管理自己的资源而不是属于其他Teams的资源,等等。

我们还计划改进Grafana的供应、api和as-code功能,使其更容易管理实例之间的资源。

我们不打算在Orgs上大量投资,因为文件夹和团队可以以更大的灵活性提供类似的功能。

如果您还没有使用Grafana Cloud—开始可观察性最简单的方法—现在就注册,免费试用Grafana Cloud Pro 14天,具有无限的度量、日志、跟踪和用户、长期留存和访问一个Enterprise插件。