Elasticsearch系列(2)Kibana介绍、安装和使用

1. 简介

  • Kibana 是一个开源的数据分析和可视化平台。使用Kibana能可视化展示和分析Elasticsearch数据,然后构建美观的可视化和仪表板。
  • Kibana 也是一个管理Elastic Stack的用户界面。提供安全设置、分配用户角色、获取快照等功能。
  • Kibana 也是Elastic解决方案的管理中心。从日志分析到文档发现再到SIEM, Kibana是访问这些功能和其他功能的门户。

2. 安装Kibana

本文安装环境基于Mac操作系统。安装步骤如下:

  • 打开官方网站下载地址,下载对应操作系统的安装包。
  • 解压安装包到指定的Kibana工作目录$KIBANA_HOME:
tar -xvf kibana-7.6.2-darwin-x86_64.tar.gz
  • 修改配置文件$KIBANA_HOME/config/kibana.yml,设置参数elasticsearch.hosts指向Elasticsearch实例。
  • 启动运行Kibana:
bin/kibana

出现如下图所示,表示Kibana服务已经启动。

Kibana服务启动日志
  • 浏览器上输入http://localhost:5601访问验证,显示如下图所示:
Kibana界面
  • 打开Kibana服务器状态页http://localhost:5601/status,查看服务器的资源使用信息和安装的插件,显示如下图所示:
Kibana服务器状态页

3. Kibana基本配置

Kibana服务启动时,会读取$KIBANA_HOME/config目录下配置文件kibana.yml,下面介绍一下Kibana基本的配置参数。

  • console.enabled:是否启用开发工具中的console功能,默认启用,设置为false表示禁用console功能。
console页面
  • elasticsearch.hosts: 查询的Elasticsearch实例URL,支持配置多个节点,但这些节点必须是同一个集群的,默认值[ "http://localhost:9200" ] 。
  • elasticsearch.requestTimeout:等待Elasticsearch响应时间,单位ms,默认值是30000,即默认等待响应时间最长30秒。
  • server.host:该设置指定Kibana服务器的主机。如果需要允许远程用户连接,那么该值设置为Kibana服务器的IP地址或DNS名称,默认为localhost。
  • server.name:Kinana实例的标识名称。默认为主机名。
  • server.port:该设置指定要Kibana服务器使用的端口,默认值为5601。

4. Kibana基础使用

4.1 连接Elasticsearch索引

通过以下步骤,将已经存在的Elasticsearch索引数据在Kibana页面展示:
(1)打开manager页,点击 Index Patterns。
(2)点击Create index pattern.
(3)填写索引表达式匹配Elasticsearch索引名称集合。
(4)点击下一步,选择包含时间戳的索引字段用于执行基于时间比较。如果索引没有基于时间的数据,请选择I don 't want to use the time filter。
(5)最后点击Create index pattern。

4.2 查看和管理索引

可以通过Kibana查看索引信息并对索引进行管理。
(1)点击Index Management。
(2)点击Indices,获取索引列表。索引列表会展示索引名称、是否健康、状态、分片、副分片、文件统计等数据。
(3)点击具体索引,查看索引详情信息,会展示索引的总体信息、mapping、setting信息。
(4)点击Manager可以对索引进行管理操作。包括删除、合并、刷新等操作。
查看和管理操作步骤如下图所示:

查看和管理索引步骤图

4.3 查看和管理字段

(1)点击Management,点击Index patterns,然后点击具体的索引名称,打开索引的字段列表页。
(2)索引字段列表页展示了字段的名称、类型、格式、是否可搜索、是否可聚合等,并且提供了修改字段类型功能。


管理索引字段页面

4.4 搜索索引数据

Kibana通过Discover界面提供了多维度搜索数据和展示的功能。支持KQL(Kibana查询)语法和Lucene查询语法,可以指定索引名称或选择索引模型来查询,下面选择索引kibana_sample_data_ecommerce来简单示例,Discover页面如下:

Discover页面
等值查询

统计customer_id为"27"且category为"Men's Clothing",并且时间跨度为2020-10-01之前1年的订单数据。查询条件及结果如下图所示:


短语搜索

搜索数据中出现"Clothing",并且时间跨度为2020-10-01之前1年的订单数据。查询条件及结果如下图所示:

过滤搜索

过滤排除sku等于ZO0102601026的订单数据,并且时间跨度为2020-10-01之前1年的订单数据。查询条件及结果如下图所示:

多值查询

输入customer_id : ("27" or "28") ,表示查询用户id为27或28的订单数据。

范围查询

比如输入products.price >100 or products.price <10,表示商品价格小于10或大于100订单数据。

复杂查询

输入category: "Clothing" and not (customer_id:"27" or customer_id :"20" ),表示查询类别为Clothing,但是排除用户id27和用户id28的订单数据。括号优先级高于and,and的优先级高于or。

通配符查询

输入category: Men*,表示查询类别字段分词后以Men开头的订单数据。

4.5 构建可视化

通过Kibana的可视化支持聚合统计、分组等功能。

(1)点击Visualize,点击Create visualization。


(2)选择可视化类型,然后选择数据源。

选择可视化类型
选择数据源

(3)添加Metrics,添加Bucket,计算不同价格区间的商品平均价格、最高价格、最低价格等,如图所示。


聚合分组统计

5. 结语

Kibana提供的功能非常丰富,强大,本文只是介绍了一小部分,如有需要,可通过Kibana官方文档进一步了解学习。

你可能感兴趣的:(Elasticsearch系列(2)Kibana介绍、安装和使用)