本文将从工作区的选型、账号登录认证和权限管理3个方面提供组织Grafana的建议。
背景信息
Grafana中存在多种结构用于组织资源和权限,当公司存在多个团队、部门或客户需要服务时,常常出现以下问题:
如何根据实际情况选择不同版本的Grafana。
部门A不应该看到部门B的信息,该如何分配账号并管理权限。
部门的成本归属计费。
不同部门对身份验证、插件等有很大不同,如何配置隔离。
当需要对客户展示公共内容时如何使用户免鉴权查看。
本文将从工作区的选型、账号登录认证和权限管理3个方面提供组织Grafana的建议。
工作区的选型
目前可观测可视化 Grafana 版提供了4个版本:专家版(10账号)、专家版(30账号)、专家版(50账号)和高级版(100账号)。
功能选择
高级版比专家版多了报表、审计等功能,如果有明确的功能需求,选择对应的版本即可。具体功能对比,请参见Grafana计费规则。
账号规模选择
定义出一个最小粒度的人群范围。
如果没有严格的约束,大部分场景下,一个工作区能够满足绝大部分用户的需求。但例如在以下场景下,为了实现权限或数据完全隔离,您可以以部门或者团队的维度购买工作区:
部门A和部门B需要区分计算成本,为了便于区分建议各自使用一个工作区。
当需要将公司的账号体系与Grafana打通时,例如使用OAuth 2.0协议,公司给不同团队都分配了一个独立的AppID,由于Grafana的自定义OAuth配置只能映射一个AppID,那么这种场景就需要一个团队使用一个工作区。
当需要用于生产和日常测试时,环境要求对数据的安全、用户权限有严格区分,使用多个工作区即可根据环境做隔离。
匹配对应版本。
100人的部门,建议直接购买高级版(100账号)。
20人的团队,可以选择专家版(30账号)。
日常环境有30人要用,而生产只开放给10个人,那么只需一个专家版(30账号)加上一个专家版(10账号)。
如果您还不确定使用场景,建议先购买专家版(10账号),在后续使用过程中明确需求后,可以根据实际情况进行升配或降配。
账号登录认证
官方Grafana除了自己的账号管理体系外,还支持通过其它多种认证方式实现账号的同步、登录。更多信息,请参见Grafana官方文档。
阿里云托管的可观测可视化 Grafana 版在原生的基础上,额外集成了阿里云的登录方式。下述表格罗列了目前可观测可视化 Grafana 版上常用的几种登录方式,一个工作区可以同时使用多种登录方式,请根据实际需求选择。
类型 | 场景 | 说明 |
Admin账号的用户管理 | 常规的账号、密码创建 | 在Admin账号(最高权限)的Grafana页面可以看到管理员菜单,通过Admin账号可以直接创建账号、设置密码、赋予权限。同时也能管理通过邮件、阿里云SSO、OAuth、LDAP集成进来的账号。 |
Admin权限的用户管理 | 邮件邀请创建 | Admin账号和Admin权限的级别不同。下图为Admin权限的Grafana页面,可以看到左侧菜单栏没有图标,因此无法直接添加账号,只能通过发送邮件让收件人通过指定链接自行创建,收件人的权限在发送邮件时设定。Admin权限和Admin账号最大区别是Admin权限管理员不知道创建的账号密码。阿里云可观测可视化 Grafana 版有默认的SMTP配置,如果有需要可以自行配置SMTP邀请用户,更多信息,请参见使用SMTP邮箱邀请用户。 |
阿里云SSO | 使用阿里云账号登录 | 通过在Grafana控制台填写阿里云账号ID(如果是子账号则填写子账号ID),即可使用阿里云账号登录Grafana,若您已经登录阿里云则可以免登录直接进入Grafana。更多信息,请参见账号管理。 |
OAuth授权 | 企业登录系统打通 | 可观测可视化 Grafana 版支持标准的OAuth协议,Grafana官方除了默认支持通过谷歌、微软登录外,还支持自定义登录,适用于需要使用公司登录系统做集成登录的场景。对于自建系统的集成,对接操作请参见OAuth统一登录,该文档以阿里云为例模拟企业的登录系统,详细介绍了对接过程。 |
LDAP | 企业登录系统打通 | 目前控制台暂未提供上传LDAP文件的入口,如有需要请加入可观测可视化 Grafana 版钉钉群(群号:34785590)进行反馈。 |
匿名模式 | 访客无需登录即可查看 | 部分大盘配置后需要对外展示,此时无需用户登录即可直接查看大盘,例如官方示例网站就是通过匿名模式生成的Demo展示。配置匿名模式的操作,请参见为Grafana大盘生成免登录查看的共享链接。 |
权限的管理
开源Grafana提供了多样的权限管理方式,这些权限管理方式已经能够满足绝大部分场景。除了Grafana官方推荐使用的文件夹(Folders)+团队(Team)的方式之外,组织(Orgs)和更严格层面的工作区都可以作为权限管理控制的方式。
三种方式对比
方式 | 优势 | 劣势 |
文件夹+团队(推荐) |
| 缺乏工作区的实际隔离。 |
组织 | 账号登录认证只需配置一次即可。 |
|
工作区 | 不同工作区DB、配置文件都是独立的,实现真正的隔离。 | 配置无法共享,不同工作区之间的数据源、仪表板、文件夹和其他资源同步,需要自行编码实现。 |
文件夹+团队方式的最佳实践
以某公司一个线上团队为例:
团队维度划分了研发、运维和运营,文件夹划分了业务和基础设施。
业务文件夹下,存放了基于应用运行过程中采集配置的业务大盘,由研发配置,运营查看。
基础设施下,存放了阿里云上的ECS、RDS等基础设施的监控大盘,由运维配置,研发查看。
建议配置如下:
在Grafana的左侧导航栏选择
。在Configuration页面单击Teams页签,创建研发、运维和运营团队并添加对应用户。具体操作,请参见Grafana官方文档。
在Grafana左侧导航栏中选择Grafana官方文档。
,创建业务和基础设施文件夹。具体操作,请参见配置文件夹权限。
进入文件夹,在Permissions页签下增加权限,配置对应团队在当前文件夹下的权限。
配置完成后,只有View权限的团队成员登录Grafana时,只有查看权限。
说明若用户本身是Admin权限,所在团队只有View权限,在多权限叠加的情况下高等级权限优先,即用户仍是Admin权限。