Last updated
Last updated
grafana-9.1.0
DashBoard:仪表盘,就像汽车仪表盘一样可以展示很多信息,包括车速,水箱温度等。Grafana 的 DashBoard 就是以各种图形的方式来展示从 Datasource 拿到的数据。
Row:行,DashBoard 的基本组成单元,一个 DashBoard 可以包含很多个 row。一个 row 可以展示一种信息或者多种信息的组合,比如系统内存使用率,CPU 五分钟及十分钟平均负载等。所以在一个 DashBoard 上可以集中展示很多内容。
Panel:面板,实际上就是 row 展示信息的方式,支持表格(table),列表(alert list),热图(Heatmap)等多种方式。
变量允许更多交互式和动态仪表盘。通过变量大家就可以给 Dashboard 加搜索条件了。
操作步骤: Setting --> Variables --> New
此变量类型是最强大和最复杂的,因为它可以使用数据源查询动态获取其选项。
Elasticsearch数据源支持两种类型的查询,您可以在_Query_变量的_Query_字段中使用这两种类型的查询。查询是使用自定义JSON字符串编写的。
术语查询的默认大小限制为 500。在查询中设置size属性以设置自定义限制。您可以在查询中使用其他变量。名为变量的示例查询定义$host
。
在上面的示例中,我们使用$source
在查询定义中命名的另一个变量。每当您通过下拉列表更改$source
变量的当前值时,它将触发$host
变量的更新,因此它现在只包含在本例中过滤的@source
文档属性的主机名。
(1) 查询成员字段
find:表示查什么东西
type:表示检索条件
如查询 long 类型的字段,可以如下处理
什么时候用这个呢?
比如我想知道这个 es 中定义了哪些字段
比如在配置 Grafana 的变量时,可以使用它来做一些限定
(2) 查询成员值
find:后面跟上的是 terms, 表示查询具体的值
field: 用于限定需要查的成员
size:数量限制,可以不填
举例如下,查询所有虚机的 pool
使用范围:
常见于配置 Grafana 变量,配置一个虚机选择的变量,用于查看不同资源池虚机的表现情况
(3) 条件查询成员值
在前面的基础上加一下限定,比如一个 es 为多个应用使用,此时我只关注其中 app1 的大盘,此时配置服务器时,想加一个条件限定
query: lucence 查询语法,要求成员 k 的值为 v
配置大盘的查询条件,主要就是借助 lucene 语法来处理,接下来看一下常见的使用姿势
filed_name: 字段名
field_value: 需要检索的值
注意: 中间使用英文冒号分隔,表示条件命中
如果希望不等于查询,主要使用下面这种方式
在查询条件中,包含下面两个的表示使用通配查询
注意:?、*不能用作第一个字符
比如我有个应用,部署多个环境,分别名为 app-cn, app-usa,现在想统计整个应用的情况,就可以使用下面这种正则方式
除了上面的示例,在实际的工作中,更常见的是 url 的统计,比如统计 /get/ 这个域名开头的请求
在单次后面添加剂上 ~来实现模糊搜索,这种更适用于搜索业务场景,通常对于 grafana 的大盘配置,个人感觉不太实用 实用方式
除了前面的精确搜索,我们还可以进行范围搜索
[]: 闭包区间,包含左边的值
{}: 开区间,不包含两边值
a/b 如果为 * 表示某一侧不限制范围
实例演示,查询 http 状态码为 4xx 的 case
除了上面这种写法,也可以使用 > < 的方式,比如上面的写法等价
多条件组合,使用 AND/OR 来处理,这里的组合即可以表明多个 field,也可以是一个 field 的多个 value 组合 如多字段匹配:找出 app-cn 应用中状态码为 500 的记录
如多 value 匹配:找出状态码为 500, 503 的记录
当查询条件中,包含下面字符中的一个时,需要使用注意
特殊字符:+ - = && || > < ! ( ) { } [ ] ^ " ~ * ? : \ /
转义修饰:/
如 url 的查询时,通常会用到转义
Datasource
此类型允许您快速更改整个仪表板的数据源。如果您在不同的环境中有多个数据源实例,则非常有用。
Query
此变量类型允许您编写数据源查询,该查询通常返回度量标准名称,标记值或键的列表。例如,返回服务器名称,传感器ID或数据中心列表的查询。
Interval
此变量可表示时间跨度。不是按时间或日期直方图间隔对组进行硬编码,而是使用此类型的变量。
Custom
使用逗号分隔列表手动定义变量选项。
Constant
定义隐藏常量。对于要共享的仪表板的度量标准路径前缀很有用。在仪表板导出期间,常量变量将变为导入选项。
Ad hoc filters
非常特殊的变量,目前仅适用于某些数据源,InfluxDB和Elasticsearch。它允许您添加键/值过滤器,这些过滤器将自动添加到使用指定数据源的所有度量标准查询中。
Text box
此变量类型将显示为带有可选默认值的自由文本输入字段。
Data source
查询的数据源目标。
Refresh
控制何时更新变量选项列表(下拉列表中的值)。在仪表板上加载将减慢仪表板负载,因为在初始化仪表板之前需要完成变量查询。如果变量选项查询包含时间范围过滤器或取决于仪表板时间范围,则仅将此设置为“ 开时间范围更改”。
Query
数据源特定的查询表达式。
Regex
正则表达式用于过滤或捕获数据源查询返回的名称的特定部分。可选的。
Sort
在下拉列表中定义选项的排序顺序。已禁用表示将使用数据源查询返回的选项顺序。
{“find”:“fields”,“type”:“keyword”}
返回索引类型的字段名称列表keyword
。
{“find”:“terms”,“field”:“@ hostname”,“size”:1000}
使用术语聚合返回字段的值列表。查询将用户当前仪表板时间范围作为查询的时间范围。
{“find”:“terms”,“field”:“@ hostname”,“query”:'<lucene query="" style="box-sizing: border-box;">“}</lucene>
使用term aggregation&和指定的lucene查询过滤器返回字段的值列表。查询将使用当前仪表板时间范围作为查询的时间范围。