阿里云Kibana在开源社区插件的基础上,提供了BSearch-QueryBuilder(高级查询)和bsearch_label(数据打标)两个预置插件。本文介绍安装和卸载Kibana预置插件的方法。
安装插件
使用须知
Kibana插件仅支持阿里云Elasticsearch 6.3和6.7版本。
安装插件前,请确保Kibana节点的规格为2核4 GB及以上。如果不满足,请升级Kibana节点,具体操作请参见升配集群。
不支持安装自定义的Kibana插件。
操作步骤
在左侧导航栏,单击Elasticsearch实例。
在顶部菜单栏处,选择资源组和地域。
在Elasticsearch实例中单击目标实例ID。
单击左侧导航栏的可视化控制。
在Kibana区域中,单击修改配置。
在 插件配置区域,单击对应插件右侧操作列下的安装。
重要安装插件会触发Kibana节点重启,重启过程中Kibana不能正常提供服务,请在业务低峰期操作。
在安装提示对话框中,单击确认。
重启成功后即完成插件安装,插件状态显示为已安装。
使用BSearch-QueryBuilder插件查询数据
BSearch-QueryBuilder又称高级查询,是一个纯前端的工具插件。通过BSearch-QueryBuilder插件,您无需编写复杂的DSL语句,即可以可视化的方式完成复杂的查询请求。本文介绍如何使用BSearch-QueryBuilder插件查询数据。
背景信息
Query DSL是一个Java开源框架,用于构建安全类型的SQL查询语句,能够使用API代替传统的拼接字符串来构造查询语句。目前Query DSL支持的平台包括JPA、JDO、SQL、Java Collections、RDF、Lucene以及Hibernate Search。
Elasticsearch提供了一整套基于JSON的DSL查询语言来定义查询。Query DSL是由一系列抽象的查询表达式组成,特定查询能够包含其它的查询(如bool),部分查询能够包含过滤器(如constant_score),还有的可以同时包含查询和过滤器(如 filtered)。您可以从Elasticsearch支持的查询集合里面选择任意一个查询表达式,或者从过滤器集合里面选择任意一个过滤器进行组合,构造出复杂的查询。但编写DSL容易出错,仅有少数专业程序人员精通,QueryBuilder能够帮助对Elasticsearch DSL不甚了解或者想提升编写效率的用户快速生成DSL。
BSearch-QueryBuilder插件具有如下特性:
简单易用:BSearch-QueryBuilder插件提供了可视化的界面点选操作来构造Elasticsearch的DSL查询请求,无编码即可完成自定义条件的数据查询,减少了复杂的DSL的学习成本。也可辅助开发人员编写或验证DSL语句的正确性。
方便快捷:已经定义的复杂查询条件会保存在Kibana中,避免重复构造查询条件。
小巧轻盈:约占用14MB的磁盘空间,不会常驻内存运行,不影响Kibana和Elasticsearch的正常运行。
安全可靠:BSearch-QueryBuilder插件不会对用户的数据进行改写、存储和转发,源代码已经通过了阿里云安全审计。
仅6.3和6.7版本的阿里云Elasticsearch实例支持BSearch-QueryBuilder插件。
操作步骤
登录对应阿里云Elasticsearch实例的Kibana控制台。
具体操作,请参见登录Kibana控制台。
可选:在左侧导航栏,单击Management,按照以下步骤创建一个索引模式。
重要如果已经创建了索引模式,可忽略此步骤。
在Management页面,单击Kibana区域中的Index Patterns。
在Create index pattern页面,输入索引模式名称(待查询的索引名称)。
单击Next step。

单击Create index pattern。
在左侧导航栏,单击Discover。
在Discover页面,单击右上角菜单栏的Query。
在查询区域添加查询和过滤条件,单击Submit(提交)。

单击
图标,添加一个查询条件。单击
图标,为查询添加一个子过滤条件。单击
图标,删除一个查询或过滤条件。
BSearch-QueryBuilder支持模糊查询、多条件组合查询和自定义时间范围查询等多种查询方式,查询示例如下:
模糊查询
下图中表示对email这个条件进行模糊查询,并要求email模糊匹配iga。

最终得到的匹配结果如下。

多条件组合查询
下图的查询条件表示index必须为tryme_book,同时要对type 进行过滤。要求type等于大学教辅、数学、对外汉语教学或大学教材。

最终得到的匹配结果如下。

自定义时间范围查询
当您需要对时间字段进行筛选时,可使用时间类型的筛选功能。下图中对utc_time进行时间范围筛选,查询
[当前时间-240天,当前时间]范围内的数据。
最终得到的匹配结果如下。

使用bsearch_label插件为数据打标
bsearch_label是一个纯前端的数据打标插件,无需编写DSL语句即可以可视化方式完成数据打标。通过打标,可以对某个字段(或新增一个字段)赋予一个特殊的标签值,后续可根据标签进行聚合分类统计或快速过滤。
操作步骤
登录目标阿里云Elasticsearch实例的Kibana控制台。具体操作,请参见通过Kibana连接集群。
可选: 在左侧导航栏,单击Management,按照以下步骤创建一个索引模式。如果已经创建了索引模式,可忽略此步骤。
在 Management 页面,单击 Kibana 区域中的 Index Patterns。
在 Create index pattern 页面,输入索引模式名称(待查询的索引名称)。
单击 Next step。
单击 Create index pattern。
在左侧导航栏,单击 Discover。
在 Discover 页面,单击右上角菜单栏的 打标。
安装bsearch_label插件后才可以看到 打标 按钮。
根据需求,选择以下任意一种方式完成数据打标。
对已有字段打标
如查询名字是张三的数据。
选择
age字段,将其标记为18。单击 确认打标。
打开 历史打标 开关,查看历史打标任务详情。
对新增字段打标
如查询名字是张三的数据。
勾选 自定义打标字段。
新增一个字段
tag,并将其标记为teenager。单击 确认打标,查看打标结果。
卸载插件
在插件配置区域中,单击对应插件右侧操作列下的卸载,根据提示完成卸载。
卸载插件也需要重启Kibana节点,重启过程中Kibana不能正常提供服务,请在业务低峰期操作。