要让 Grafana 展示我们采集到的数据,就需要对其进行一些列配置,配置说明如下:

添加数据源(InfluxDB)

添加InfluxDB数据源相关的配置:

  • Name: 添加InfluxDB数据源相关的配置:
  • Type: 选择InfluxDB
  • Default: 将该数据源设置为默认的数据源,这样有一个好处是,在添加panel的时候,会自动使用这个数据源。

HTTP Settings:

HTTP Auth:

Advanced HTTP Settings

InfluxDB Details

添加 Dashboard

Grafana 页面左边菜单栏,点击 + 号选项,就可以进行创建:

1
2
3
4
+
|-- Dashboard
|-- Folder
|-- Import

添加 Row

Row 是 panel 的容器

添加并配置 Graph

点击 Graph 的标题,再点击”Edit”,可以打开 Graph 面板编辑器:

编辑器页面上,会有一组标签选项:General、Metrics(指标)、Axes(轴)、Legend(说明)、Display、Alert(警报)、Time Range,接下来,我们一一来了解这些标签的含义。

General

Title: 表示图表的名称,比如, 设置为”CPU util” Description: 图表的描述信息

Metrics

这标签主要用于配置针对 DataSource 的一系列查询条件,来获取展示数据:

首先设置 “Panel data source”,如果上面添加的数据源被设置为Default,在Panel中就不需要设置了;如果上面的数据源没有被设置为Default,就需要手动设置数据源。

Query

在 Metrics 中,每一个 query 都表示一条线, query 的组成:

  • FROM: “select measurement” 表示选择 InfluxDB 中的哪个measurement
  • WHERE: “WHERE” 是根据 tag key 和 tag value 过滤的
  • SELECT: field(value) 表示显示哪一个cpu表中哪个指标,后面的mean表示group by表示的这段时间内的平均值。
  • GROUP BY: 表示分组,这里按照时间分组,设置为time($interval)和fill(null)
  • FORMAT AS: 表示展示的格式,有:Time Series 和 Table
  • ALIAS BY: 这条线的 legend 名称

Axes

在Axes中可以设置坐标轴的单位

Grafana中,Unit表示的是查询出来的数据的单位,设置好后,Grafana会自动显示成合适的单位。比如原始数据的单位是bytes,数字是1024,在Grafana中会根据值自动在坐标轴上显示成1K,方便阅读。

还有一点注意的是,对于百分数,如果查询出来的是0-1之间的值,将percent设置为(0-1);如果查询出来的是0-100之间的值,将percent设置为(0-100)。对于百分比,Grafana在坐标轴中总是显示0-100%,所以将原始数据的单位设置好才能够正确地显示。

Legend

1
2
3
4
5
6
7
8
As Table        是否以表格形式展示
To the right    是展示在图表右边还是在下面
Width           默认不填会自动伸缩,否则强制限定宽度
Min             面板时间段内的最小值
Avg             面板时间段内的平均值
Total           面板时间段内的值的总量,如上文所说获取数值类型的总量时这个 Total 是一个很让人误解的参数
Max             面板时间段内的最大值
Current         面板时间段内的当前值

Display

Display 控制图表的点和线的展示,有一些比较重要的参数

Draw Modes -> Lines - 是否绘制点之间的线段

Draw Modes -> Points - 是否绘制点

Hover Tooltip -> Mode - 悬浮面板上展示的方式,值为 All serires(展示该时间点的所有线段的值)和 single(只展示鼠标指着的那一条线段)

Hover Tooltip -> Sort Order - 悬浮面板上线条的排序,一般选择 Decreasing

Stacking & Null value -> Null value

  • 这个比较重要,需要根据点的密度来动态决定,如果点少很容易让人误解两个点中间也存在点。
  • 点多时,选择 connected
  • 点少时,选择 null

Alert

警报

Time range

时间范围

数值类型的常用指标含义

1
2
3
4
count_ps    每秒的数量
count       每10秒的数量
mean_90     去除最高的10%的数据后的平均值
upper_90    去除最高的10%的数据后的最高值

模板变量

模板变量能够动态的控制面板编辑器中的查询语句, 是十分重要的功能。经常可以在面板的左上角发现它们。

模板变量的写法

模板变量支持 $name[[name]] 的写法

新建模板变量

选择一个 Dashboard —> 选择顶部右侧小齿轮 -> 选择 Variables 即可新建模板变量, 即:

Variables > New:

  • General:

  • Query Options:

  • Selection Options:

  • Value groups/tags

See Also

Thanks to the authors 🙂