如何将 Prometheus 仪表板添加到 Grafana
Grafana背后的公司raintank的 Matt Toback 撰写的一篇文章
介绍
Grafana 是领先的图形和仪表板构建器,用于可视化时间序列基础设施和应用程序指标,但许多人将其用于其他领域,包括工业传感器、家庭自动化、天气和过程控制。它提供了一种强大而优雅的方式来创建、探索和与您的团队和全世界共享仪表板和数据。
在本教程中,您将学习如何将 Prometheus 作为数据源添加到您的 Grafana 实例并安装预配置的 Prometheus 服务器统计信息仪表板。
先决条件
要遵循本教程,您需要:
- Ubuntu 14.04 Droplet
- 具有 sudo 访问权限的用户(有关详细信息,请参阅使用 Ubuntu 14.04 进行初始服务器设置教程)
- Prometheus 和 Grafana 2.5+ 按照如何在 Ubuntu 14.04 上使用 Docker 安装 Prometheus 的说明进行安装
第 1 步 - 添加 Prometheus 作为 Grafana 数据源
在本节中,我们将配置 Grafana 以访问您的 Prometheus 服务器作为数据源。每个 Prometheus 服务器都是一个单独的数据源,如果您要配置多个 Prometheus 服务器,请对每个服务器重复此部分。
转到 Grafana 主视图,然后登录您的管理员帐户。http://your_server_ip:3000/
点击左上角的 Grafana 图标显示主菜单。选择数据源以导航到数据源列表页面。单击顶部导航栏中的添加新。您应该看到以下内容:
使用以下值创建新的数据源:
Name
:普罗米修斯Type
:普罗米修斯URL
:http://<您的服务器 IP>:9090,(默认端口为 9090)Access
: 代理人Basic Auth
:启用或禁用,具体取决于您的 Prometheus 服务器的配置。
单击“添加”以添加数据源,然后单击“测试连接”以验证一切是否正常运行。如果成功,请继续下一步以导入仪表板。
第2步 - 导入Prometheus统计仪表板
本节将下载官方的、预先构建的 Prometheus Stats Dashboard,并指导您如何将其导入 Grafana。
可以通过以下两种方式下载最新的 Prometheus Dashboard:
- 右键单击并保存以下链接:Prometheus Stats - Default Grafana Dashboard
- 通过浏览器直接导航到仪表板 JSON 文件:
http://grafana.org/assets/dashboards/prometheus-dash.json
可以在仪表板选择器下拉菜单中的新仪表板和播放列表按钮旁边找到导入视图。
要从本地 JSON 文件导入仪表板,请单击导入文件部分中的选择文件按钮。在本地文件系统上找到下载的文件,然后导入它。prometheus-dash.json
注意:如果您将数据源命名为 以外的其他名称Prometheus
,则需要在文件中查找并替换数据源名称.json
。使用以下命令打开它:
nano prometheus-dash.json
找到以下内容,并将数据源文件名从普罗米修斯无论您将其命名为:
"datasource": "Prometheus",
导入 Prometheus 仪表板后,您将立即进入 Prometheus 统计仪表板,如果一切配置正确,您将开始看到来自 Prometheus 服务器的统计信息。
重要提示:单击顶部菜单中的“保存”按钮,将您的仪表板保存在您的 Grafana 实例中。如果您不保存仪表板,则关闭浏览器后它将不会出现在您的 Grafana 中。
第 3 步 - 查看 Prometheus 统计仪表板
导入成功后,您将立即进入新的未保存的仪表板。此仪表板是在 Prometheus 团队的帮助下构建的,重点介绍了常用于排除 Prometheus 服务器故障的基本指标。
各个面板和报告的指标如下:
单一统计图表
-
正常运行时间:此单一统计图表是正常运行时间,即 Prometheus 服务器上线以来的时间。一目了然,此统计数据有助于了解您的服务器是否最近重新启动。
-
本地存储内存系列:此面板显示内存中保存的当前系列数,截至
From
仪表板时间范围上指定的值。默认情况下,这是now
。 -
内部存储队列长度:理想情况下,此队列长度应为空(0)或一个较小的数字。
-
样本采集:此图表显示 Prometheus 服务器在过去 5 分钟内采集的样本数量,按范围向量中每个时间序列进行测量。在 IRC 或 Github 上解决问题时,这通常是 Prometheus 团队要求的第一个统计数据。此数字应与您认为正在采集的指标数量一致。
Samples Ingested查询如下:
rate(prometheus_local_storage_ingested_samples_total[5m])
擦伤
Prometheus 直接或通过中间推送网关从已检测的作业中抓取指标,用于短期作业。目标抓取图表将显示过去 5 分钟内按范围向量中的时间序列测量的目标抓取频率。抓取持续时间图表将显示抓取所用的时间,百分位数以系列形式提供。抓取持续时间显示第 50 百分位数 (0.5)、第 90 百分位数 (0.9) 和第 99 百分位数 (0.99) 作为三个单独的系列,以帮助识别可能造成数据偏差的异常值。
Target Scrapes查询如下:
rate(prometheus_target_interval_length_seconds_count[5m])
Scrape Duration查询如下:
prometheus_target_interval_length_seconds{quantile!="0.01", quantile!="0.05"}
规则评估时长
此图表面板绘制了所有评估执行的持续时间。第 50 百分位数 (0.5)、第 90 百分位数 (0.9) 和第 99 百分位数 (0.99) 显示为三个单独的系列,以帮助识别可能造成数据偏差的异常值。
第 4 步 - 分析来自 Prometheus 仪表板的数据
对于新运行的 Prometheus 服务器,您的图表应该显得非常平坦和小。
从长远来看,这些图表将根据您的特定用例和工作负载而有很大差异。一般来说,您希望所有这些图表保持稳定。如果抓取更多目标和/或开始导出更多指标,则每秒采集的样本、内存序列和目标抓取的数量将会增加 — 这是可以预料的。
如果您的目标抓取量意外下降或抓取延迟增加,您应该确定原因。例如,客户可以开始导出 100 万个指标,而不是通常的 1 万个指标,或者有人可以导出每个用户带有不同标签的时间序列。这两种情况都会导致抓取延迟增加。因此,当图表突然上升时,您应该调查应用程序是否只是大幅扩展,或者是否可能被错误地检测。
规则评估缓慢也是一个很好的指标,表明 Prometheus 服务器运行的节点根本不足以处理负载。
第 5 步 - 自定义图表和指标
现在,您已将 Prometheus 仪表板添加到您的 Grafana 实例,其中包含一组预配置的 Prometheus 服务器统计信息。
Grafana 让您能够可视化 Prometheus 服务器上的任何可用指标 — 所有这些都可以在专门的 Prometheus 查询编辑器中访问。要访问任何面板上的查询编辑器,请单击面板标题区域以显示面板菜单。单击编辑。系统将为您预先选择“指标”选项卡,并提供对查询和 Prometheus 数据源可用选项的直接访问。
当在查询编辑器中进行更改时,图表将立即更新以显示您的编辑。
结论
要查看可用指标的完整列表,您可以导航至http://`<您的服务器 IP>:9090`/metrics (默认端口 9090)。
这些指标中的任何一个都可以复制并粘贴到 Grafana 查询编辑器中,并且在您保存仪表板之前,您的任何编辑都不会覆盖现有的仪表板。
所以,尝试一下,享受乐趣,并开始想象吧!