raintank 的 Matt Toback 的文章,Grafana 背后的公司
介绍
Grafana 是用于可视化时间序列基础架构和应用程序指标的领先图形和仪表板构建器,但许多人将其用于其他领域,包括工业传感器、家庭自动化、天气和过程控制。 它提供了一种强大而优雅的方式来创建、探索和与您的团队和全世界共享仪表板和数据。
在本教程中,您将学习如何将 Prometheus 作为数据源添加到 Grafana 实例并安装预配置的 Prometheus Server Statistics Dashboard。
先决条件
要遵循本教程,您将需要:
- Ubuntu 14.04 液滴
- 具有 sudo 访问权限的用户(有关详细信息,请参阅使用 Ubuntu 14.04 的初始服务器设置教程)
- Prometheus 和 Grafana 2.5+ 安装了 How To Install Prometheus using Docker on Ubuntu 14.04
第 1 步 — 将 Prometheus 添加为 Grafana 数据源
在本节中,我们将配置 Grafana 以访问您的 Prometheus 服务器作为数据源。 每个 Prometheus 服务器都是一个单独的数据源,如果您要配置多个 Prometheus 服务器,请为每个服务器重复此部分。
转到 http://your_server_ip:3000/
的 Grafana 主视图,然后登录到您的管理员帐户。
单击左上角的 Grafana 图标以显示主菜单。 选择 Data Sources 导航到数据源列表页面。 点击顶部导航栏中的新增。 您应该看到以下内容:
使用以下值创建新数据源:
Name
:普罗米修斯Type
:普罗米修斯URL
:http:// :9090 ,(默认端口为 9090)Access
:代理Basic Auth
:启用或禁用,因为您的 Prometheus 服务器已配置。
单击 Add 添加您的数据源,然后单击 Test Connection 以验证一切正常。 如果成功,请继续下一步以导入仪表板。
第 2 步 — 导入 Prometheus Stats Dashboard
本部分将下载官方预构建的 Prometheus Stats Dashboard 并指导您如何将其导入 Grafana。
通过以下两种方式之一下载最新的 Prometheus Dashboard:
- 右键单击并保存以下链接:Prometheus Stats - Default Grafana Dashboard
- 将浏览器直接导航到仪表板 JSON 文件:
http://grafana.org/assets/dashboards/prometheus-dash.json
导入视图可以在 Dashboard Picker 下拉列表中找到,在 New Dashboard 和 Playlist 按钮旁边。
要从本地 JSON 文件导入仪表板,请单击 导入文件 部分中的 选择文件 按钮。 在本地文件系统中找到下载的prometheus-dash.json
,并导入。
注意: 如果您将数据源命名为 Prometheus
以外的名称,则需要在 .json
文件中查找并替换数据源名称。 打开它:
nano prometheus-dash.json
找到以下内容,并将数据源文件名从 Prometheus 更改为您命名的任何名称:
普罗米修斯破折号.json
"datasource": "Prometheus",
导入 Prometheus Dashboard 后,您将立即被带到 Prometheus Stats Dashboard,如果一切配置正确,您将开始看到来自 Prometheus 服务器的统计信息。
重要:单击顶部菜单中的保存按钮,将仪表板保存在 Grafana 实例中。 如果您不保存仪表板,则关闭浏览器后它不会出现在 Grafana 中。
第 3 步 — 查看 Prometheus 统计信息仪表板
成功导入后,您将立即进入新的 未保存 仪表板。 此仪表板是在 Prometheus 团队的帮助下构建的,重点介绍了通常用于对 Prometheus 服务器进行故障排除的基本指标。
各个面板和报告的指标如下:
单一统计图
- Uptime:这个单一的统计图是正常运行时间,或者说自从 Prometheus 服务器上线以来的时间。 一目了然,此统计信息有助于了解您的服务器是否最近重新启动。
- Local Storage Memory Series:此面板显示当前保存在内存中的系列数,截至仪表板时间范围指定的
From
值。 默认情况下,这是now
。 - 内部存储队列长度:理想情况下,此队列长度应为空 (0) 或较小的数字。
- Sample Ingested:此图显示 Prometheus 服务器在过去 5 分钟内测量的每个时间序列在范围向量中摄取的样本计数。 在 IRC 或 Github 上解决问题时,这通常是 Prometheus 团队要求的第一个统计信息。 此数字应与您认为自己正在摄取的指标数量一致。
Samples Ingested 查询如下:
rate(prometheus_local_storage_ingested_samples_total[5m])
刮擦
Prometheus 从检测作业中直接或通过中间推送网关从短期作业中抓取指标。 Target Scrapes 图将显示在过去 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 万个指标而不是通常的 10000 个指标,或者某人可以为每个用户导出具有不同标签的时间序列。 这两者都会导致抓取延迟的增加。 因此,当图表突然上升时,您应该调查应用程序是否只是显着扩大了,或者它是否可能被错误地检测。
缓慢的规则评估也是一个很好的指标,表明运行 Prometheus 服务器的节点根本不足以处理负载。
第 5 步 — 自定义图表和指标
您现在已将 Prometheus Dashboard 添加到您的 Grafana 实例,其中包含一组预配置的 Prometheus 服务器统计信息。
Grafana 使您能够可视化 Prometheus 服务器上可用的任何指标——所有这些都可以在专门的 Prometheus 查询编辑器中访问。 要访问任何面板上的查询编辑器,请单击面板标题区域以显示面板菜单。 单击编辑。 Metrics 选项卡将为您预先选择,并提供对 Prometheus 数据源的查询和可用选项的直接访问。
随着查询编辑器中的更改,图表将立即更新以显示您的编辑。
结论
有关可用指标的完整列表,您可以导航到 http://<your_server_ip>:9090
/metrics(端口 9090 是默认值)。
这些指标中的任何一个都可以复制并粘贴到 Grafana 查询编辑器中,并且在您保存仪表板之前,您的任何编辑都不会覆盖现有的仪表板。
因此,进行实验,玩得开心,并开始可视化!