Elasticsearch系列组件:Kibana无缝集成的数据可视化和探索平台

2023-10-16 14:50:01 浏览数 (4)

Elasticsearch 是一个开源的、基于 Lucene 的分布式搜索和分析引擎,设计用于云计算环境中,能够实现实时的、可扩展的搜索、分析和探索全文和结构化数据。它具有高度的可扩展性,可以在短时间内搜索和分析大量数据。 Elasticsearch 不仅仅是一个全文搜索引擎,它还提供了分布式的多用户能力,实时的分析,以及对复杂搜索语句的处理能力,使其在众多场景下,如企业搜索,日志和事件数据分析等,都有广泛的应用。 本文将介绍 Elastic Stack 组件 Kibana 的介绍、安装与简单使用。

1、Kibana介绍与安装
1.1、Kibana简介

Kibana 是一个开源的数据分析和可视化平台,它是 Elastic Stack(包括 Elasticsearch、Logstash、Kibana 和 Beats)的一部分,主要用于对 Elasticsearch 中的数据进行搜索、查看、交互操作。

Kibana 的主要功能和用途包括:

  1. 数据可视化:Kibana 提供了丰富的数据可视化选项,如柱状图、线图、饼图、地图等,帮助用户以图形化的方式理解数据。
  2. 数据探索:Kibana 提供了强大的数据探索功能,用户可以使用 Elasticsearch 的查询语言进行数据查询,也可以通过 Kibana 的界面进行数据筛选和排序。
  3. 仪表盘:用户可以将多个可视化组件组合在一起,创建交互式的仪表盘,用于实时监控数据。
  4. 机器学习:Kibana 还集成了 Elasticsearch 的机器学习功能,可以用于异常检测、预测等任务。
  5. 定制和扩展:Kibana 提供了丰富的 API 和插件系统,用户可以根据自己的需求定制和扩展 Kibana。

总的来说,Kibana 是一个强大的数据分析和可视化工具,它可以帮助用户更好地理解和探索他们的数据。

1.2、下载安装

Elastic 公司的官方下载页面的链接。在这个页面上,你可以下载 Elastic Stack 的各个组件,包括 Elasticsearch、Kibana、Logstash、Beats 等。这个页面提供了各个组件的最新版本下载链接,以及历史版本的下载链接:Past Releases of Elastic Stack Software | Elastic

在这里,我们将选择 Kibana,并确保所选的 Kibana 版本与我们正在使用的 Elasticsearch 版本一致:

选择后选择「Download」开始下载,并在下载成功后解压到指定位置即可。

1.3、关于配置

Kibana 的配置文件通常是 kibana.yml,位于 Kibana 安装目录的 config 文件夹下。这个配置文件是 YAML 格式,用于定义 Kibana 的运行参数。

代码语言:javascript复制
...
# =================== System: Kibana Server (Optional) ===================
# Kibana is served by a back end server. This setting specifies the port to use.
server.port: 5601

# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
server.host: "localhost"

# =================== System: Elasticsearch ===================
# The URLs of the Elasticsearch instances to use for all your queries.
elasticsearch.hosts: ["http://localhost:9200"]

# If your Elasticsearch is protected with basic authentication, these settings provide
# the username and password that the Kibana server uses to perform maintenance on the Kibana
# index at startup. Your Kibana users still need to authenticate with Elasticsearch, which
# is proxied through the Kibana server.
elasticsearch.username: "kibana_system"
elasticsearch.password: "pass"
...

以下是一些常用的 Kibana 配置项:

  1. server.port:Kibana 服务监听的端口,默认为 5601。
  2. server.host:Kibana 服务的主机地址。默认情况下,它设置为本地主机。如果你希望 Kibana 服务可以被远程主机访问,你可以将此设置为远程主机的 IP 地址。
  3. server.name:Kibana 服务的名称。默认情况下,它设置为 your-hostname
  4. elasticsearch.hosts:Kibana 连接 Elasticsearch 服务的地址。默认情况下,它设置为连接到本地主机的 Elasticsearch,端口为 9200,即 localhost:9200
  5. elasticsearch.username 和 elasticsearch.password:连接到 Elasticsearch 服务时使用的用户名和密码。默认情况下,Elasticsearch 是没有用户名和密码的。但是,如果你在 Elasticsearch 中安装了 X-pack 插件并设置了密码,你需要在这里填写正确的用户名和密码。

这里如果我们 Elasticsearch 是在本地的,那么不用修改任何配置直接启动就可以了

设置页面中文:

代码语言:javascript复制
# Supported languages are the following: English (default) "en", Chinese "zh-CN", Japanese "ja-JP", French "fr-FR".
i18n.locale: "zh-CN"
1.4、启动访问

启动文件位于 /bin/Kibana 目录下。启动 Kibana 后,可能需要稍等片刻,Kibana 才能完成启动过程。一旦启动完成,你就可以通过访问 http://localhost:5601 来使用 Kibana 了。

2、Kibana数据可视化
2.1、演示数据准备

为了让 Kibana 的图形更美观,我们需要准备一些具有多元化数据的索引。以下是一个简单的例子,我们将创建一个包含销售数据的索引,数据包括日期、产品类别、销售额等字段。

首先,我们需要在 Elasticsearch 中创建一个名为 “sales” 的索引,并添加一些数据。以下是使用 Elasticsearch 的 REST API 添加数据的示例:

代码语言:javascript复制
# 创建索引
curl -X PUT "localhost:9200/sales"

# 添加销售数据
curl -X POST "localhost:9200/sales/_doc" -H 'Content-Type: application/json' -d'
{
  "date": "2020-01-04",
  "category": "Groceries",
  "revenue": 2000
}
'
curl -X POST "localhost:9200/sales/_doc" -H 'Content-Type: application/json' -d'
{
  "date": "2020-01-05",
  "category": "Electronics",
  "revenue": 3000
}
'
curl -X POST "localhost:9200/sales/_doc" -H 'Content-Type: application/json' -d'
{
  "date": "2020-01-06",
  "category": "Books",
  "revenue": 2500
}
'
curl -X POST "localhost:9200/sales/_doc" -H 'Content-Type: application/json' -d'
{
  "date": "2020-01-07",
  "category": "Clothing",
  "revenue": 1200
}
'
curl -X POST "localhost:9200/sales/_doc" -H 'Content-Type: application/json' -d'
{
  "date": "2020-01-08",
  "category": "Groceries",
  "revenue": 1800
}
'
# ... 添加更多数据 ...
2.2、数据可视化配置

在 Kibana 中,我们可以使用 “Visualize” 功能来创建各种数据可视化。以下是创建柱状图、线图、饼图等的基本步骤:

  1. 打开 Kibana:在浏览器中输入 Kibana 的地址,打开 Kibana 的主界面;
  2. 进入 Visualize 页面:在左侧导航栏中,点击 “Visualize Library” 图标,进入 Visualize 页面;
  3. 创建数据视图:点击「创建数据视图」按钮,选择想要创建的可视化类型,如柱状图、线图、饼图等:
  4. 选择数据源:在新的页面中,选择你想要可视化的数据源。你可以选择已经存在的索引模式,也可以创建新的索引模式:
  1. 保存视图:点击「保存数据视图到 Kibana」,保存成功;
  2. 配置可视化:根据你选择的可视化类型,配置相应的参数。例如,对于柱状图,你需要选择 X 轴和 Y 轴的字段;对于线图,你需要选择时间字段和度量字段;对于饼图,你需要选择分割切片的字段。
2.3、配置柱状图

点击「新建可视化」按钮,选择 “垂直条形图” 选项来创建柱状图。

在 “桶” 部分,你需要选择 X 轴和 Y 轴的字段。对于 X 轴,你可以选择一个分类字段;对于 Y 轴,你可以选择一个数值字段,并选择一个聚合函数,如 “计数”、“平均值”、“总和” 等。

配置完成后,你可以预览你的柱状图。如果满意,点击「保存」按钮,为你的柱状图命名并保存。

2.4、配置线图

点击「新建可视化」按钮,选择 “折线图” 选项来创建线图。

在 “桶” 部分,你需要选择 X 轴和 Y 轴的字段。对于 X 轴,你通常会选择一个时间字段;对于 Y 轴,你可以选择一个数值字段,并选择一个聚合函数,如 “计数”、“平均值”、“总和” 等。

配置完成后,你可以预览你的线图。如果满意,点击「保存」按钮,为你的线图命名并保存。

2.5、配置饼状图

点击「新建可视化」按钮,选择 “饼状图” 选项来创建饼状图图。

在 “桶” 部分,你需要选择一个或多个字段来分割饼状图。你可以选择一个分类字段,并选择一个聚合函数,如 “计数”、“平均值”、“总和” 等。

配置完成后,你可以预览你的饼状图。如果满意,点击「保存」按钮,为你的饼状图命名并保存。

3、Kibana更多功能
3.1、数据探索

Kibana 提供了强大的数据探索功能,用户可以使用 Elasticsearch 的查询语言进行数据查询,也可以通过 Kibana 的界面进行数据筛选和排序。以下是使用这些功能的基本步骤:

  1. 打开 Kibana:在浏览器中输入 Kibana 的地址,打开 Kibana 的主界面。
  2. 进入 Discover 页面:在左侧导航栏中,点击 “Discover” 图标,进入 Discover 页面。
  3. 选择索引模式:在 Discover 页面的顶部,你可以选择一个索引模式。Kibana 会显示该索引模式对应的数据。
  4. 进行数据查询:在查询栏中,你可以输入 Elasticsearch 的查询语句,然后按回车键执行查询。查询结果会在下方的表格中显示。
  5. 进行数据筛选:在表格的顶部,你可以看到所有的字段名。点击字段名,你可以添加一个筛选条件,只显示满足该条件的数据。
  6. 进行数据排序:在表格的表头,你可以点击任何一列的列名,对该列进行升序或降序排序。

以上就是在 Kibana 中进行数据探索的基本步骤。需要注意的是,不同的数据源可能需要不同的查询语句和筛选条件,你需要根据实际情况进行操作。

3.2、仪表盘

在 Kibana 中,你可以使用 “仪表盘” 功能来组合多个可视化成一个统一的界面。以下是配置仪表盘的基本步骤:

  1. 打开 Kibana:在浏览器中输入 Kibana 的地址,打开 Kibana 的主界面。
  2. 进入仪表盘页面:在左侧导航栏中,点击 “仪表盘” 图标,进入仪表盘页面。
  3. 创建新的仪表盘:点击 “创建仪表盘” 按钮,开始创建新的仪表盘。
  4. 添加可视化:在新的仪表盘页面中,点击 “添加” 按钮,你可以看到一个列表,列出了所有已经创建的可视化。选择你想要添加到仪表盘的可视化,点击 “添加” 按钮。
  5. 调整布局:添加了可视化后,你可以通过拖拽和缩放来调整它们在仪表盘中的位置和大小。
  1. 保存仪表盘:调整好布局后,点击「保存」按钮,为你的仪表盘命名并保存。

以上就是在 Kibana 中配置仪表盘的基本步骤。需要注意的是,仪表盘只能包含已经创建的可视化,因此在创建仪表盘之前,你需要先创建好所有需要的可视化。

0 人点赞