Grafana

64617
下载
Grafana 是一个开源的分析和监控平台,能够从多种数据源(如数据库、云服务和API)中提取数据。它提供强大的图表、时序数据分析和告警功能,帮助用户深入了解系统性能、可靠性和健康状况。

如何组织 Grafana


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

背景信息

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

  • 如何根据实际情况选择不同的Grafana实例。
  • 部门A不应该看到部门B的信息,该如何分配账号并管理权限。
  • 部门的成本归属计费。
  • 不同部门对身份验证、插件等有很大不同,如何配置隔离。
  • 当需要对客户展示公共内容时如何使用户免鉴权查看。

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

Grafana 实例选择

首先定义出一个最小粒度的人群范围。如果没有严格的约束,大部分场景下,搭建一个Grafana实例能够满足绝大部分用户的需求。

但例如在以下场景下,为了实现权限或数据完全隔离,您可以以部门或者团队的维度搭建多个Grafana实例:

  • 部门A和部门B需要区分计算成本,为了便于区分建议各自搭建一个Grafana实例。
  • 当需要将公司的账号体系与Grafana打通时,例如使用OAuth 2.0协议,公司给不同团队都分配了一个独立的AppID,由于Grafana的自定义OAuth配置只能映射一个AppID,那么这种场景就需要一个团队使用一个Grafana实例。
  • 当需要用于生产和日常测试时,环境要求对数据的安全、用户权限有严格区分,使用多个Grafana实例即可根据环境做隔离。

账号登录认证

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

类型场景说明
Admin账号的用户管理常规的账号、密码创建在Admin账号(最高权限)的Grafana页面可以看到管理员菜单,通过Admin账号可以直接创建账号、设置密码、赋予权限。同时也能管理通过邮件、阿里云SSO、OAuth、LDAP集成进来的账号。
Admin权限的用户管理邮件邀请创建Admin账号和Admin权限的级别不同。下图为Admin权限的Grafana页面,可以看到左侧菜单栏没有图标,因此无法直接添加账号,只能通过发送邮件让收件人通过指定链接自行创建,收件人的权限在发送邮件时设定。Admin权限和Admin账号最大区别是Admin权限管理员不知道创建的账号密码。阿里云可观测可视化 Grafana 版有默认的SMTP配置,如果有需要可以自行配置SMTP邀请用户,更多信息,请参见使用SMTP邮箱邀请用户
OAuth授权企业登录系统打通Grafana 支持标准的OAuth协议,Grafana官方除了默认支持通过谷歌、微软登录外,还支持自定义登录,适用于需要使用公司登录系统做集成登录的场景。对于自建系统的集成,对接操作请参见阿里云Grafana OAuth统一认证登录,该文档以阿里云为例模拟企业的登录系统,详细介绍了对接过程。
LDAP企业登录系统打通Grafana 支持标准的LDAP协议,对接请查看官方LDAP配置文档。
匿名模式访客无需登录即可查看部分大盘配置后需要对外展示,此时无需用户登录即可直接查看大盘,例如官方示例网站就是通过匿名模式生成的Demo展示。配置匿名模式的操作,请参见阿里云生成免登录查看Grafana大盘的共享链接。

权限的管理

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

三种方式对比

方式优势劣势
文件夹+团队(推荐)+ 灵活轻量,允许团队之间灵活共享。
+ 更少的配置。
+ Grafana官方后续也会针对当前方式开发更多特性。更多信息,请参见Grafana官方文档
缺乏实例的实际隔离。
组织账号登录认证只需配置一次即可。+ 隔离了数据源、仪表板、文件夹和其他资源,需要自行编码实现数据同步。
+ 组织之间的用户管理更加复杂,不同组织下的用户需要单独配置。
+ 缺乏文件夹的灵活性以及实例的实际隔离。
Grafana运行实例不同实例DB、配置文件都是独立的,实现真正的隔离。配置无法共享,不同实例之间的数据源、仪表板、文件夹和其他资源同步,需要自行编码实现。

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

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

  • 团队维度划分了研发、运维和运营,文件夹划分了业务和基础设施。
  • 业务文件夹下,存放了基于应用运行过程中采集配置的业务大盘,由研发配置,运营查看。
  • 基础设施下,存放了阿里云上的ECS、RDS等基础设施的监控大盘,由运维配置,研发查看。

建议配置如下(Grafana 9.0.x):

  1. 在Grafana的左侧导航栏选择 > Configuration
  2. Configuration页面单击Teams页签,创建研发、运维和运营团队并添加对应用户。具体操作,请参见Grafana官方文档。
  3. 在Grafana左侧导航栏中选择 > + New folder,创建业务和基础设施文件夹。具体操作,请参见Grafana官方文档
  4. 配置文件夹权限。

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

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

说明

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


observability.cn Authors 2024 | Documentation Distributed under CC-BY-4.0
Copyright © 2017-2024, Alibaba. All rights reserved. Alibaba has registered trademarks and uses trademarks.
浙ICP备2021005855号-32