Grafana 仪表盘教程:入门指南

导航至

Grafana 是一款用于可视化数据的开源 Web 应用程序。您可以查询数据、创建可视化效果并接收警报,以便更好地了解您所拥有的数据。有些人认为 Grafana 只是 Kubernetes 的工具,但实际上,它只是一个数据可视化工具,在 Kubernetes 生态系统中流行起来,尤其是在与 Prometheus 结合使用时。

在这篇文章中,我将重点介绍 Grafana 的一个非常具体的部分:仪表盘。为此,我将使用 Grafana 的 教程环境设置,帮助您快速上手,并通过 Docker Compose 了解仪表盘。

在深入细节之前,让我们先探讨一下 Grafana 仪表盘的功能。text

Grafana 仪表盘有什么作用?

一般来说,仪表盘是数据的可视化表示。原始数据本身可能无法告诉您太多信息,但是当您使用仪表盘时,您可以从中获取有价值的信息。例如,假设您正在托管一个关于最新游戏行业新闻的网站。您不时收到客户投诉,网站无法加载或加载时间过长。您将如何识别问题?一种方法可能是登录服务器并读取一些日志。如果您只有几台服务器或容器,那还可以做到。但是当您有几十台时,您需要更好的方法。

Grafana 仪表盘可以帮助您更好地提前了解正在发生的事情。您可以配置 Grafana 以使用您想要的任何数据源,仪表盘将通过可视化表示来帮助您,以便您可以更快地解决问题。您还可以注释事件并解释某些操作后会发生什么,例如最近的版本发布或营销活动。我将在下一节向您展示如何做到这一点。

如何使用 Grafana 仪表盘?

设置

让我们给您一些使用 Grafana 示例应用程序的实践经验。为此,您需要安装 GitDockerDocker Compose。然后克隆存储库以在本地拥有所有文件

git clone github.com/grafana/tutorial-environment

转到存储库文件夹并启动您将要使用的所有服务。这可能需要几分钟。

cd tutorial-environment
docker-compose up -d

您现在可以在 localhost:8081 上浏览新闻网站的示例应用程序,并在 localhost:3000 上浏览 Grafana。Grafana 的用户名和密码均为“admin”。首次登录时,您需要更改密码。确保您可以浏览这两个服务和新闻,因为这将是您仪表盘的数据源。

导入数据

在开始创建仪表盘之前,您需要让 Grafana 知道您要使用哪些数据源。您可以添加多种类型的数据源,例如时序数据库、日志和文档数据库、分布式追踪、SQL 数据库和云提供商。一种常见的数据源是 Prometheus,我们今天将使用它。

注意:您可以使用 Telegraf 插件轻松地将 Prometheus 数据发送到 InfluxDB。这使您可以将 Prometheus 数据与其他数据源结合起来,以创建更全面的数据源视图。InfluxDB 与 Grafana 原生兼容,使您可以在一个位置查询和可视化所有数据。

在 Grafana 中,单击侧边栏打开设置菜单,然后单击“连接”下方的“数据源”。

接下来,单击“添加数据源”按钮,然后单击“Prometheus”。在“Prometheus 服务器 URL”文本框中,输入:http://prometheus:9090。向下滚动到底部,然后单击“保存并测试”按钮。

您将使用 Prometheus 获取指标,例如新闻网站的延迟和请求数。为了丰富您的仪表盘,您可以添加另一个数据源来获取新闻网站的日志。

再次转到“数据源”页面,然后单击“添加新数据源”按钮,向下滚动一点,然后在“日志和文档数据库”部分中单击“Loki”。

到达那里后,在 URL 文本框中输入 http://loki:3100。向下滚动到底部,然后单击“保存并测试”按钮。

打开 新闻网站的示例应用程序,通过添加新链接、投票或简单地刷新浏览器来模拟流量。我们需要获取一些新数据才能在仪表盘中看到内容。

创建仪表盘

现在您已经有了两个数据源,并且从新闻网站生成了一些数据,您可以可视化数据以更深入地了解正在发生的事情。返回 Grafana 网站,然后在侧边栏菜单中单击“仪表盘”。接下来,单击右上角的“新建”按钮,然后在下拉列表中选择“新建仪表盘”。现在单击“+ 添加可视化”按钮。您应该看到您之前添加的两个数据源,Prometheus 和 Loki。首先单击“Prometheus”选项,添加指标数据源。

下面的屏幕有几个按钮、文本框和一个大的部分,您应该在其中看到一个图表。逐步配置此屏幕以创建您的第一个 Prometheus 数据可视化效果。单击图表下方的“查询”选项卡,然后单击屏幕右侧的“代码”选项。接下来,在“指标浏览器”文本框中,键入以下查询

sum(rate(tns_request_duration_seconds_count[5m])) by(route)

现在单击“运行查询”按钮——您应该在屏幕上看到查询的可视化表示。

您可以在屏幕右侧自定义图表的标题。转到“面板选项”,然后在“标题”文本框中键入类似“流量”的标题。请注意,可视化标题现在有所不同。要完成创建仪表盘,请单击右上角的“应用”按钮。


注释事件

Grafana 仪表盘允许您添加注释。当出现问题时,此工具特别有用。您可以自动或手动创建注释。您可以在每次发布网站新版本或营销活动开始时添加注释。通过注释,如果延迟减少,您将有更多关于原因的背景信息。

假设您在几分钟前启动了部署,并且想要手动将此注释添加到仪表盘。在您可以注释事件之前,您需要保存仪表盘。为此,请单击仪表盘标题中的齿轮图标。 接下来,在“名称”文本框中键入仪表盘的名称,然后单击“保存仪表盘”按钮。 单击仪表盘中图表中的任意位置,然后单击“添加注释”按钮。

添加描述和标签,然后单击“保存”按钮。

如果您将鼠标悬停在注释的底部,即 x 轴上方的线上,您将看到注释。每次仪表盘中存在注释时发生某些事情,您都会获得关于应用程序上正在发生的事情的额外背景信息。此信息可以帮助您做出决策,例如回滚或快速推送修复程序。

当您完成 Grafana 的使用后,您可以使用以下命令停止所有容器服务

docker-compose down -v

text

总结

在 Grafana 中创建仪表盘非常简单。确保您拥有所需的数据源,然后构建允许您可视化此数据的查询。添加多个数据源可以帮助您丰富仪表盘,您可以将所有这些数据存储在 InfluxDB 中。此外,当您注释事件时,更容易找到问题的根本原因并更快地解决问题。

这篇文章由 David Snatch 撰写。David 是一位云架构师,专注于使用 Terraform、Kubernetes 和任何其他有助于客户交付成果的优秀技术来实现安全的持续交付管道。