如何组织Grafana

本文将从工作区的选型、账号登录认证和权限管理3个方面提供组织Grafana的建议。

背景信息

Grafana中存在多种结构用于组织资源和权限,当公司存在多个团队、部门或客户需要服务时,常常出现以下问题:

  • 如何根据实际情况选择不同版本的Grafana。

  • 部门A不应该看到部门B的信息,该如何分配账号并管理权限。

  • 部门的成本归属计费。

  • 不同部门对身份验证、插件等有很大不同,如何配置隔离。

  • 当需要对客户展示公共内容时如何使用户免鉴权查看。

本文将从工作区的选型、账号登录认证和权限管理3个方面提供组织Grafana的建议。

工作区的选型

目前可观测可视化 Grafana 版提供了4个版本:专家版(10账号)、专家版(30账号)、专家版(50账号)和高级版(100账号)。

功能选择

高级版比专家版多了报表、审计等功能,如果有明确的功能需求,选择对应的版本即可。具体功能对比,请参见Grafana计费规则

账号规模选择

  1. 定义出一个最小粒度的人群范围。

    如果没有严格的约束,大部分场景下,一个工作区能够满足绝大部分用户的需求。但例如在以下场景下,为了实现权限或数据完全隔离,您可以以部门或者团队的维度购买工作区:

    • 部门A和部门B需要区分计算成本,为了便于区分建议各自使用一个工作区。

    • 当需要将公司的账号体系与Grafana打通时,例如使用OAuth 2.0协议,公司给不同团队都分配了一个独立的AppID,由于Grafana的自定义OAuth配置只能映射一个AppID,那么这种场景就需要一个团队使用一个工作区。

    • 当需要用于生产和日常测试时,环境要求对数据的安全、用户权限有严格区分,使用多个工作区即可根据环境做隔离。

  2. 匹配对应版本。

    • 100人的部门,建议直接购买高级版(100账号)。

    • 20人的团队,可以选择专家版(30账号)。

    • 日常环境有30人要用,而生产只开放给10个人,那么只需一个专家版(30账号)加上一个专家版(10账号)。

如果您还不确定使用场景,建议先购买专家版(10账号),在后续使用过程中明确需求后,可以根据实际情况进行升配或降配。

账号登录认证

官方Grafana除了自己的账号管理体系外,还支持通过其它多种认证方式实现账号的同步、登录。更多信息,请参见Grafana官方文档

阿里云托管的可观测可视化 Grafana 版在原生的基础上,额外集成了阿里云的登录方式。下述表格罗列了目前可观测可视化 Grafana 版上常用的几种登录方式,一个工作区可以同时使用多种登录方式,请根据实际需求选择。

类型

场景

说明

Admin账号的用户管理

常规的账号、密码创建

Admin账号(最高权限)的Grafana页面可以看到管理员菜单,通过Admin账号可以直接创建账号、设置密码、赋予权限。同时也能管理通过邮件、阿里云SSO、OAuth、LDAP集成进来的账号。Admin账号

Admin权限的用户管理

邮件邀请创建

Admin账号和Admin权限的级别不同。下图为Admin权限的Grafana页面,可以看到左侧菜单栏没有盾牌图标图标,因此无法直接添加账号,只能通过发送邮件让收件人通过指定链接自行创建,收件人的权限在发送邮件时设定。Admin权限和Admin账号最大区别是Admin权限管理员不知道创建的账号密码。阿里云可观测可视化 Grafana 版有默认的SMTP配置,如果有需要可以自行配置SMTP邀请用户,更多信息,请参见使用SMTP邮箱邀请用户Admin权限

阿里云SSO

使用阿里云账号登录

通过在Grafana控制台填写阿里云账号ID(如果是子账号则填写子账号ID),即可使用阿里云账号登录Grafana,若您已经登录阿里云则可以免登录直接进入Grafana。更多信息,请参见账号管理

OAuth授权

企业登录系统打通

可观测可视化 Grafana 版支持标准的OAuth协议,Grafana官方除了默认支持通过谷歌、微软登录外,还支持自定义登录,适用于需要使用公司登录系统做集成登录的场景。对于自建系统的集成,对接操作请参见OAuth统一登录,该文档以阿里云为例模拟企业的登录系统,详细介绍了对接过程。

LDAP

企业登录系统打通

目前控制台暂未提供上传LDAP文件的入口,如有需要请加入可观测可视化 Grafana 版钉钉群(群号:34785590)进行反馈。

匿名模式

访客无需登录即可查看

部分大盘配置后需要对外展示,此时无需用户登录即可直接查看大盘,例如官方示例网站就是通过匿名模式生成的Demo展示。配置匿名模式的操作,请参见Grafana大盘生成免登录查看的共享链接

权限的管理

开源Grafana提供了多样的权限管理方式,这些权限管理方式已经能够满足绝大部分场景。除了Grafana官方推荐使用的文件夹(Folders)+团队(Team)的方式之外,组织(Orgs)和更严格层面的工作区都可以作为权限管理控制的方式。

三种方式对比

方式

优势

劣势

文件夹+团队(推荐)

  • 灵活轻量,允许团队之间灵活共享。

  • 更少的配置。

  • Grafana官方后续也会针对当前方式开发更多特性。更多信息,请参见Grafana官方文档

缺乏工作区的实际隔离。

组织

账号登录认证只需配置一次即可。

  • 隔离了数据源、仪表板、文件夹和其他资源,需要自行编码实现数据同步。

  • 组织之间的用户管理更加复杂,不同组织下的用户需要单独配置。

  • 缺乏文件夹的灵活性以及工作区的实际隔离。

工作区

不同工作区DB、配置文件都是独立的,实现真正的隔离。

配置无法共享,不同工作区之间的数据源、仪表板、文件夹和其他资源同步,需要自行编码实现。

文件夹+团队方式的最佳实践

以某公司一个线上团队为例:

  • 团队维度划分了研发、运维和运营,文件夹划分了业务和基础设施。

  • 业务文件夹下,存放了基于应用运行过程中采集配置的业务大盘,由研发配置,运营查看。

  • 基础设施下,存放了阿里云上的ECS、RDS等基础设施的监控大盘,由运维配置,研发查看。

建议配置如下:

  1. Grafana的左侧导航栏选择未4 > Configuration

  2. Configuration页面单击Teams页签,创建研发、运维和运营团队并添加对应用户。具体操作,请参见Grafana官方文档创建团队

  3. Grafana左侧导航栏中选择34 > + New folder,创建业务和基础设施文件夹。具体操作,请参见Grafana官方文档er

  4. 配置文件夹权限。

    进入文件夹,在Permissions页签下增加权限,配置对应团队在当前文件夹下的权限。

    文件夹权限配置

    配置完成后,只有View权限的团队成员登录Grafana时,只有查看权限。

    说明

    若用户本身是Admin权限,所在团队只有View权限,在多权限叠加的情况下高等级权限优先,即用户仍是Admin权限。