入门教程
上一个章节中创建的仪表盘很强大,但是它也有巨大的限制:它从 Testdata 数据源中查询数据,而 Testdata 数据源是一个假数据源。现在是时候使用真实的数据源来构建一个真实的仪表盘了。
在本文档中,我们将使用 Prometheus 作为数据源来构建一个仪表盘,所以你需要:
假设 Prometheus 运行在 http://localhost:9090
, 首先,我们需要为 Prometheus 创建一个新的数据源。
点击左侧导航栏底部的 +
按钮,然后选择 新建数据源
标签页。
然后填入如下数据:
点击 保存&测试
按钮,如果一切正常,你会在表单底部看到一个绿色的提示信息 Datasource is added, redirecting..
, 然后页面会跳转到数据源管理页面:
接着会跳转到数据源管理页面:
你可以看到 Prometheus 数据源已经在表格中了,它在默认的 Testdata 数据源的下面,而 Testdata 数据源是我们在前面章节中使用的。
在从 Prometheus 查询数据之前,我们需要先创建一个新的仪表盘,让我们把它命名为 Hosts info
。
然后添加一个名为 go gc info
的新表格,打开面板编辑器并选择 Graph
类型。
在面板编辑器左下角的 Query
标签页中,你可以看到默认的数据源是 Testdata
,我们需要把它改为 Prometheus
。
从面板名称中,我们可以知道这个面板是用来从 Prometheus 查询 go gc 信息的,所以我们需要写一个 PromQL 查询来获取数据,有两种方式:
在图表编辑面板左下角的 查询
标签中,你可以看到一个输入框,它提示你输入一个 PromQL 查询,让我们输入 go_gc_duration_seconds
,你会看到如下结果:
在图表编辑面板左下角的 metrics
标签中,你可以看到一个下拉列表,它包含了所有的 metrics,让我们选择 go_gc_duration_seconds
,你同样会看到如上图所示的结果。
我们可以使用 Prometheus legend
设置 Graph
图表的曲线别名,让我们创建一个新的面板,命名为 Cpu idle
,然后打开面板编辑器,选择 Graph
类型和 Prometheus
数据源。
该图表将显示我们主机的 cpu 空闲使用率,为了实现这一点,我们需要在 PromQL 输入框中输入 sum(rate(node_cpu_seconds_total{mode="idle"}[1m])) by (instance) / sum(rate(node_cpu_seconds_total[1m])) by (instance) * 100
,
然后将图例 legend 设置为 cpu idle - {{instance}}
,结果如下:
在上图中,{{instance}}
是一个标签提取语法,它会被替换为查询结果中的 instance
标签值。
别忘了给
cpu idle
面板添加单位,%
是一个不错的选择。