博客/工程

Grafana仪表板:关于您可以构建的所有不同类型的完整指南

2022年6月6日15分钟

使用Grafana有一个普遍的真理:仪表板很容易创建,但不太容易组织。

随着组织规模的扩大,当仪表板变成无法管理的混乱时,不受控制的仪表板蔓延的风险很高。随着用户数量的增加,他们的仪表板输出也会增加。

我们的仪表板管理指南概述了帮助组织仪表板的功能,但仍然有两个痛点:

  1. 关于用户如何对他们的Grafana仪表板进行分类和分类,没有太多的细节、示例或意见。
  2. 目前,Grafana的仪表板文件夹结构是有限的。不能创建子文件夹,只能创建一级文件夹。如何有效地使用它们并不明显。

在本文中,我将列出并描述当前存在的所有不同类型的Grafana仪表板(基于我自己的研究以及过去5年使用和支持Grafana的经验)。虽然我不建议确定的组织结构(这总是取决于您的业务、团队的工作流程和公司文化),但我希望这个Grafana仪表板列表可以帮助您想到您的分类方案应该涵盖的所有用例。一旦您查看了所有不同类型的Grafana仪表板,您就可以选择哪些类别与您的业务流程、人员和团队相关,同时还要记住,不同仪表板类型之间的某些类别可能会重叠。

我也希望这个全面的列表可以帮助你想到更多你可以用Grafana做的新事情!

此外,虽然我们已经为即将到来的“极端Grafana仪表板改造动手车间“在GrafanaCONline 2022在美国,你可以加入我们的等候名单,如果有空位,我们会通知你,以及我们什么时候举办研讨会。

使用仪表板/红色

这些Grafana仪表板是基于USE和REDS方法构建的。

USE指标(利用率、饱和度、错误)面向基础设施的硬件资源。它们帮助您了解您的机器是如何工作的,以及问题的原因可能是什么。

REDS指标(请求、错误、持续时间、饱和度——也称为四个黄金信号)是面向服务的,它们也可能是您想要发出警报的指标。REDS仪表板告诉你你的服务是如何执行的,是你的用户体验的一个很好的代理。

USE和REDS仪表板对站点可靠性工程师特别有用。它们在视觉上非常简单和统一,主要由时间序列面板.通过使用这些方法在整个组织中标准化仪表板,操作员可以在不同的团队中有效地解释仪表板。在标题中将Grafana仪表板指定为“USE”和“REDS”还可以帮助在给定的上下文中找到正确的仪表板。

bob电竞频道Grafana实验室技术副总裁“格拉夫纳的大帐篷”播客主持人Tom Wilkie更深入地介绍了USE和REDS方法GrafanaCon欧盟2018博客文章和其中链接的视频。

概览并向下钻取仪表板

在Grafana中,通过连接不同的Grafana仪表板实现了从聚合视图到详细视图的下钻。概览指示板显示整个基础设施或服务的聚合指标。然后,您将拥有一个二级仪表板,它显示关于基础设施子集或单个组件实例的更详细指标。

这通常是使用仪表板的链接数据链接而且URL变量.还有一个演示钻下链接的底部这个指示板play.grafana.org

业务旅程/流程流仪表板

成千上万的企业使用Grafana仪表板来可视化他们的客户获取流程、供应链和运营。你可以在我们的网站上找到许多来自不同行业的例子成功故事和案例研究页面。以下是一些精选的例子:

研发仪表盘

仪表板开发是一个迭代过程。用户应该有一个地方保存他们的测试和在成品仪表板。您可能还想实现一个策略,即未完成的仪表板应该只存在于登台环境中,而不存在于生产环境中。

带有用户或团队名称的文件夹可以帮助组织那些未完成的Grafana仪表板——例如“AIOps草稿”或“SRE R&D”或“云平台WIP”。还要注意,研发仪表板不应该有与生产仪表板相同的标签,以避免它们出现在仪表板列表和链接中。

度量探索仪表板

当我不熟悉系统可用的指标时,我有时会构建一个指标探索仪表板。这些Grafana仪表板由模板化的通用查询和重复的面板组成,允许我在给定的数据源中浏览和发现有用的指标。

指标探索仪表板回答了以下问题:

  • 我连接到我的数据源。现在怎么办呢?
  • 我应该查询什么指标?
  • 我能从这个数据源中得到什么?

按照设计,这个仪表板尽可能地抽象和通用。它特定于数据源类型;它不能通用到适用于任何数据库。

变量提供一种基于前缀对指标进行分类和列出的方法。

四个面板重复每个指标,以四种不同的方式聚合值:

  • 平均:Avg without (instance) ($metric)
  • 总结:不包含实例的总和($metric)
  • 平均利率:Avg without (instance) (rate($metric[$__rate_interval]))
  • 率总数:没有实例的Sum (rate($metric[$__rate_interval]))

无论度量是计数器还是量规,您都可以在上面度量探索仪表板的一到两列中以适当的格式看到度量。每一行表示一个具有四个不同聚合操作的度量。您可以滚动仪表板并发现您想要显示为面板(在不同的仪表板上)或警报的指标。

预先构建的仪表盘

还有其他人制作的Grafana仪表盘,并以各种方式与社区共享。

一些Grafana数据源插件和Grafana云集成包括预构建的仪表板。例如,当您安装Grafana企业度量插件,包括几个GEM监视仪表板,以帮助您监视GEM集群的性能。

mixin是Grafana仪表板、Prometheus警报和记录规则的集合,这些规则是根据系统社区的集体经验构建的。它们通常是jsonnet程序,可以构建并包含在可观察性部署管道中。一个流行的mixin的例子是Kubernetes mixin

bob电竞频道Grafana实验室有一个公共仪表板存储库.这是一个任何人都可以向其发布的Grafana仪表板集合。对于许多特定的用例和数据源来说,这是一个很好的示例和灵感来源。在实践中,共享仪表板可能会帮助您实现50%或90%的可视化(如果您为数据源和应用程序找到了一个)。但是,共享仪表板很少能够100%地立即为您的情况工作,而且它们并不经常被使用。我通常喜欢从头开始构建自己的仪表板,但我将使用仪表板存储库作为灵感、示例和想法的来源。

作为代码的仪表板

仪表板可以从代码中生成,并自动发布到Grafana。这个概念也被称为作为代码的仪表板并在最近的GrafanaCONline会话,你可以免费点播。仪表板即代码是一个仍在开发中的领域。围绕这个用例的API和工具并不是完全稳定和详尽的。然而,它是相当有用的;我们有一个网络研讨会开始使用HashiCorp terrraform将Grafana管理为代码在这篇文章中,我们演示了今天的生产流可能是什么样的。

以下是一些过去和现在的举措。请谨慎使用,不要指望长期依赖这些技术。它们可能会改变或最终被放弃,但其中一些项目可能会成为未来仪表板代码的黄金标准。

Grafana有两个主要的自动化设施:

大屏幕仪表板

这些仪表板被设计成在开放工作区的大屏幕上显示。它们在大流行前很受欢迎,可能很快就会卷土重来。

它们通常是由统计,杆规面板。他们还可能有带有颜色编码和规格字段的表格。他们通常也使用颜色编码的值阈值。

这种仪表盘的设计意图之一是提供即时的情感阅读,而不是细节深度。如果仪表板显示状态或警报信息,它通常会指定损坏的是什么,但不会指定原因。(运营商将为此打开更详细的red /USE仪表板。)

报告指示板

报告是一个Grafana企业只有功能。

与大屏幕仪表板类似,报表仪表板提供了一个快速的概述,除了输出媒体是附在电子邮件上的PDF。一个典型的用例是为在日常工作中通常不登录到Grafana的高级管理人员提供分析和概述。

用于监控的仪表板通常不会自然地转换为PDF,因此用户通常会专门为报告创建仪表板,并对布局进行微调,直到它在PDF上看起来不错为止。

警报分析仪表板

这里有一个完美的新用例状态时间轴面板发布的Grafana 8

Prometheus生成一个合成警报度量,使警报历史可查询。

在顶部面板中,我使用国家的时间表带有值映射的面板。我精心制作了这个PromQL表达式,以返回3AlwaysFiring meta-alert,2用于发射警报,1用于等待警报。

max by (alertname,alertstate) (3 * max_over_time(ALERTS{alertname="AlwaysFiring"}[$__interval])或2 * max_over_time(ALERTS{alertstate="firing"}[$__interval])或max_over_time(ALERTS{alertstate="pending"}[$__interval]))

这是值映射的样子:

底部面板是a历史地位使用以下查询:

count by (alertname) (max_over_time(ALERTS{alertstate="firing"}[$__interval]))

我设置了100个最大数据点查询选项我使用“黄-红(按值)”配色方案。还有一个颜色方案覆盖,使AlwaysFiring时间序列绿色。

Grafana遗产提醒仪表板

之前在Grafana 8中引入了统一报警时,警报与Graph面板紧密耦合(由时间序列可视化因为v7.4)。因此,创建警报将仪表板布局强加给用户。通常的做法是创建一个仪表板,其唯一目的是“停车”警报图形面板。尽管这种创建警报的风格被认为是一种较旧的或“遗留”功能,但它在Grafana 8中仍然被允许,并将在Grafana 9中被删除,将在GrafanaCONline 2022从6月13日开始。

Meta-monitoring仪表板

元监视仪表板显示关于组织监视和可观察性堆栈的度量。它们被保存在一个单独的文件夹中,因为受众仅限于可观察性平台管理员。

用户转向元监控Grafana仪表板来可视化从可观察性组件收集的内部指标:Grafana普罗米修斯,Grafana代理PushgatewayAlertmanager,Grafana洛基等。Grafana/Prometheus生态系统的几乎每个组件都在HTTP端口的/metrics路径上公开度量(每个服务的默认端口号都不同)。

另请参阅我们如何使用元监控普罗米修斯服务器来监控Grafana实验室的所有其他普罗米修斯服务器bob电竞频道

问题仪表板

这是为调查特定问题而创建的一种Grafana仪表板。它们的使用范围是有限的,在此之后它们就会过时或过时。

您可能会说,对于这个用例,Grafana Explore是合适的工具,因为它允许您运行临时的一次性查询。但如果这是一个难以诊断的问题,你已经追了几周或几个月了呢?

我认为有必要为这样的仪表板设置一个文件夹。还可以在仪表板标题中添加时间戳或问题编号。

参见:

家仪表板

你可以很容易定制主仪表板在Grafana中为您的用户提供指导。

在Grafana中,主仪表板可以设置在组织级别、团队级别或用户级别。

虽然大多数Grafana用户不这样做,但小团队可能会发现它很有用。我总是建议为大型团队和公司定制主仪表板。

home仪表板有三种方法:

光法:保留原始内容,但在顶部添加一行,使用您自己的仪表板列表。

重方法:构建一个完全自定义的家庭仪表板。

企业方法:为每个团队构建一个自定义的家庭仪表板。

家庭仪表板上应该放什么:

  • 的信息文本面板解释谁在管理这个Grafana实例,这里监视什么,该联系谁寻求帮助。
  • 使用标记动态管理仪表板列表面板。

演示和培训仪表板

这些Grafana仪表板在Grafana实验室随处可见。bob电竞频道他们帮助我们展示Grafana的价值,他们是灵感、例子和最佳实践的来源。

我们有https://play.grafana.org,我们的公开演示实例的Grafana。我们还有其他一些非公开访问的仪表板,用于各种销售和培训环境。它们有时连接到TestData数据源插件,或带有生成可预测指标的数据生成器的数据源。

新堆栈(TNS)是“一个简单的三层演示应用程序,完全采用了可观察性的3个支柱:度量、日志和跟踪。”我们的解bob彩票中奖计划决方案工程师使用其包含的Grafana仪表板来演示现代可观察性堆栈是什么样子的,以及在不同类型的可观察性数据之间的枢轴是什么样子的。

如何组织Grafana仪表板

因此,无论您决定构建哪种类型的Grafana仪表板,您都将如何组织所有的仪表板呢?

  • 你会为每个团队创建一个文件夹吗?或者每个团队有多个文件夹,以便他们可以组织几种不同的仪表板类型?
  • 你会在你的登台Grafana实例上给用户他们自己的沙盒文件夹吗?
  • 在vc中是否会有一些在Grafana之外管理的仪表板,并通过你的DevOps工具提供?

下面是一些如何组织不断增加的仪表板集合的示例。

SalesForce

我建议您查看GrafanaCONLine 2021年的演示文稿。”使用Grafana堆栈可视化和管理整体服务运行状况和警报Salesforce团队的回答。在23:47的演讲中,John O 'Brien谈到了“工作的仪表板”,并为广大观众分享了创建和组织仪表板的指导方针和技巧。他将仪表板分为三种主要类型:趋势、运行状况检查和性能监视。在他的演讲进行到30:00时,John为仪表盘作者分享了一些仪表盘质量标准,这有助于他们在灵活性和秩序之间找到平衡。

Kubernetes监控

以下是David Kaltschmidt在KubeCon上的一篇精彩演讲,总结了Kubernetes监控仪表板的发展过程:bob电竞频道KubeCon的Grafana实验室:为睡眠不足的电话提供万无一失的Kubernetes仪表板.这就是仪表板成熟度模型来自。

我自己主持的“瞭望塔”

我的兄弟和我运行自托管服务,我使用Prometheus和Grafana维护我们的监视和可观察性解决方案。

上图:我个人的Grafana实例上的主仪表板。我只是在原始的Grafana内容上面添加了一行文本面板和一些仪表板列表面板。

下面是我如何在我的Grafana实例中组织仪表板文件夹:

  • 亚历山大存档

    • 我不再使用仪表板的墓地,但我想保留以防我想重用一些查询或可视化。
  • 亚历山大的问题

    • 为调查特定问题而创建的仪表板。
    • 标题以“yyyy-mm-dd”日期开头。
  • 亚历山大刺激

    • 我经常使用仪表盘,但对我弟弟没用。
  • 亚历山大研发

    • 仪表盘草案,正在进行中。
  • Meta-monitoring

    • 格拉夫娜,格拉夫娜,洛基,普罗米修斯,普罗米修斯目标状态。
    • 普罗米修斯度量探索。
  • 一般

    • 生产仪表板对我和我的兄弟都很有用。
    • 标签用于在Home仪表板的Dashboard列表面板中组织仪表板,并用于将相关的仪表板链接在一起。

了解有关管理Grafana仪表板的更多信息

作为一个通用的仪表板平台,Grafana没有强制或建议组织方法来保持您的Grafana仪表板整洁。相反,Grafana提供了文件夹、团队和权限工具,并允许用户自定义和构建自己的仪表板生态系统。

我希望通过在一篇文章中尽可能多地介绍仪表板类型,我可以帮助您建立一个良好的分类系统的基础,然后您可以将其转换为文件夹和仪表板命名约定。

要了解更多关于如何组织仪表板的信息,请阅读我们的文档:

关门前,我建议大家看一看开始与Grafana仪表盘设计因为它很好地概述了仪表板设计原则,并提供了最常见的仪表板类型和用例的示例。我认为无论您是刚刚开始使用Grafana仪表板,还是已经构建了几年的Grafana仪表板,这都是一个很好的演示文稿。

你是否有这篇文章中没有描述的仪表盘类型?请让我知道!我在我们的bob电竞频道Grafana实验室社区Slack

Grafana云是开始使用度量、日志、跟踪和仪表板的最简单方法。我们有一个慷慨的免费永远层和计划为每个bob体育手机二维码用例。现在免费注册