首页 > 其他分享 >Grafana+OpenSearch+Spring Boot集成(二) 【Grafana使用介绍一】

Grafana+OpenSearch+Spring Boot集成(二) 【Grafana使用介绍一】

时间:2022-11-23 23:57:23浏览次数:39  
标签:匹配 OpenSearch Spring 可以 OriginWeather Sunny 查询 设置 Grafana

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主页面勾选多个变量就可以看到效果

标签:匹配,OpenSearch,Spring,可以,OriginWeather,Sunny,查询,设置,Grafana
From: https://www.cnblogs.com/rachel-x/p/16836706.html

相关文章

  • SpringBoot监控
    SpringBoot监控(了解)Actuator监控SpringBoot自带监控功能Actuator,可以帮助实现对程序内部运行情况监控,比如监控状况、Bean加载情况、配置属性、日志信息等。在第一天的sp......
  • Spring--注解开发+依赖注入
    自动装配数据层:业务层:自动装配:结果:若是将自动装配的注解放在set函数处:结果:结果相同,若是将set方法去掉的话:结果:这样的话,set方法也得到解放了耶!以上都是按照类型装......
  • Spring--bean管理(easy)
    bean作用范围利用同一个BookDao设置出来两个不同的对象,得到相同的地址:(默认为单例,即表现为同一个地址)要是想要得到不同的地址,就需要我们在接口实现类的上面加上这样一个......
  • Spring配置数据源
    //dataSource.javapackagespring_ioc_anno;importjava.beans.PropertyVetoException;importjava.sql.Connection;importjava.util.ResourceBundle;importjavax......
  • springboot整合jsp打包
    本文主要分享了对整合jsp的springboot项目打jar包,如何正确的配置maven pom。二、打包配置1.pom.xml添加spring-boot-maven-plugin配置<build><plugins>......
  • springboot整合jsp传参
    ViewController:packagecom.keafmd.controller;importorg.springframework.stereotype.Controller;importorg.springframework.ui.Model;importorg.springframewo......
  • Springboot应用中过滤器chain.doFilter后设置header无效
    本文是在使用过滤器添加动态header过程中遇到设置header无效,经过研究源码而产生。因为特殊需求,自定义的header必须在经过Controller处理之后,才能确定,所以不能在请求处理......
  • mongoDB的应用场景以及Spring和mongodb的整合
    mongoDB的应用场景​ mongodb是非关系型数据库,他的存储数据可以超过上亿条(老版本的mongodb有丢数据的情况,新版本不会有,网上说的),mongodb适合存储一些量大表关系较简单的数......
  • Spring Data(数据) Couchbase
    版本5.0.0本参考文档描述了SpringDataCouchbase库的一般用法。项目信息版本控制-https://github.com/spring-projects/spring-data-couchbase错误跟踪器-https://jir......
  • SpringCloud入门
    一、SpringCloud简介与版本选择1、简介SpringCloud是一系列框架的集合。它利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心......