Luence查询
ElasticSearch/OpenSearch DataSource 插件采用的是Luence 查询,在创建的dashboard 面板的query输入框中,可以设置查询条件对来自OpenSearch的数据进行筛选。
Terms查询
支持搜索单词或者语句,比如添加的示例数据中,OriginWeather/DestWeather字段有Sunny,Rain等值,那么可以输入Sunny
来查询天气为Sunny的数据
另外,搜索词语或者语句时,可以使用以下2个通配符来进行查询:
- ?:匹配单个字符
- *:匹配0个或多个字符
例子:
Sun?y -可以匹配Sunny
Su* -可以匹配Sun、Sunny等
Field字段查询
搜索单词语句时,还可以限定它属于哪个字段,比如这里需要查询OriginWeather为Sunny的数据,那么查询条件应为OriginWeather:Sunny
正则匹配搜索
支持使用正则匹配搜索,需要使用//符号将正则表达式包裹起来。例如要查询OriginWeather为Clear或者是Cloudy的数据,查询条件为OriginWeather:/Cl[a-zA-Z]*/
操作符
注意,以下的操作符都必须使用大写,如果使用小写会被当做是关键词
1、AND
AND操作符(可以使用&&符号替代)用于连接2个搜索条件,仅当2个条件都满足才认为匹配。比如要查询 OriginWeather 和DestWeather都为Sunny的数据,查询条件为:OriginWeather:Sunny AND DestWeather:Sunny
2、OR
OR操作符(可以使用||符号替代)用于连接2个搜索条件,只要一个条件满足就认为匹配。比如要查询 OriginWeather为Sunny或者Rain的数据,查询条件为:OriginWeather:Sunny OR OriginWeather:Rain
3、NOT
NOT操作符(可以使用!符号替代)排除某个搜索条件。比如要查询 OriginWeather不为Rain的数据,查询条件为:NOT OriginWeather:Rain
模糊匹配
搜索词语或者语句时,可以使用~符号来进行模糊匹配,例如:math~
可以搜索与math相近的词语。
还可以在符号~后面添加模糊系数,值1表示可以相差1个字符,2表示相差2个字符,以此类推,例如:maxh~1
可以匹配math、max
范围查询
可以指定值的范围区间进行搜索,比如要查询AvgTicketPrice在300-500之间的数据,查询条件是:AvgTicketPrice:[300 TO 500]
需要注意,{}表示不包括最大值和最小值,[]表示包括最大值和最小值,TO需要大写
创建复杂仪表盘
多查询
很多时候我们需要在一个面板中添加多个查询,可视化多个数据。
1、首先点击+ Query
按钮添加新的查询,为了更好地区分每个查询,建议给每个查询起一个别名。
比如下面的例子,分别查询出发地和目的地天气为Sunny的航班数量,可以在Alias框中设置查询的别名。
2、创建多查询时,Grafana会默认给不同的查询设置不同的颜色,但如果我们想要更改第二个查询的颜色(或者是其他设置),可以通过Overrides->Add field override来覆盖设置。
以修改颜色为例,先通过Field with name的选项添加Dest的field override
然后选择overrid property
最后选择single color,设置自己想要的颜色即可
如果需要修改其他的设置,也是类似的操作。
变量
在query查询中,设置的查询条件的值如果存在多个(比如OriginWeather有Sunny、Rain等),而你想要切换不同的值来展示数据,就可以使用到Grafana提供的变量。
1、以创建weather变量为例,首先转到当前dashboard的设置界面(点击右上角的dashboard settings),找到左侧的Variables选项卡,新增一个变量
2、设置变量的名称为weather
,Type选择默认的Query
,注意Data source为自己创建的数据源。然后在Query一栏中填写查询天气值的语句,固定的格式为{"find":"terms","field":"[field名称]"}
,比如查询OriginWeather为{"find":"terms","field":"OriginWeather"}
。
然后点击底部的Update按钮,上方出现多个Preview of values值后表示配置正确。
3、回到之前的页面,添加新的panel进行编辑,可以看到左上方多了一个weather的下拉选择框,这时候可以在query中写上查询语句OriginWeather:$weather
,其中$weather表示引用变量,当下拉框选择的值改变,panel中呈现的数据也会跟着变量的值进行改变
4、此外,变量还可以设置多选,先在配置变量的页面中设置启用Selection options->Multi-value选项
然后在panel中就可以选择多个值
5、这个多选还可以结合Panel options->Repeat options设置,设置根据weather变量的值重复图表。这样选择多个天气后,数据不再呈现到同一个图表中,而是会复制多个图表,每个图表的数据分别对应选中的不同天气。
6、保存当前panel设置,然后在dashboard主页面勾选多个变量就可以看到效果