Elasticsearch 是一个开源的、基于 Lucene 的分布式搜索和分析引擎,设计用于云计算环境中,能够实现实时的、可扩展的搜索、分析和探索全文和结构化数据。它具有高度的可扩展性,可以在短时间内搜索和分析大量数据。
Elasticsearch 不仅仅是一个全文搜索引擎,它还提供了分布式的多用户能力,实时的分析,以及对复杂搜索语句的处理能力,使其在众多场景下,如企业搜索,日志和事件数据分析等,都有广泛的应用。
本文将介绍 Elastic Stack 组件 Kibana 的介绍、安装与简单使用。
Kibana 是一个开源的数据分析和可视化平台,它是 Elastic Stack(包括 Elasticsearch、Logstash、Kibana 和 Beats)的一部分,主要用于对 Elasticsearch 中的数据进行搜索、查看、交互操作。
Kibana 的主要功能和用途包括:
数据可视化:Kibana 提供了丰富的数据可视化选项,如柱状图、线图、饼图、地图等,帮助用户以图形化的方式理解数据。
数据探索:Kibana 提供了强大的数据探索功能,用户可以使用 Elasticsearch 的查询语言进行数据查询,也可以通过 Kibana 的界面进行数据筛选和排序。
仪表盘:用户可以将多个可视化组件组合在一起,创建交互式的仪表盘,用于实时监控数据。
机器学习:Kibana 还集成了 Elasticsearch 的机器学习功能,可以用于异常检测、预测等任务。
定制和扩展:Kibana 提供了丰富的 API 和插件系统,用户可以根据自己的需求定制和扩展 Kibana。
总的来说,Kibana 是一个强大的数据分析和可视化工具,它可以帮助用户更好地理解和探索他们的数据。
Elastic 公司的官方下载页面的链接。在这个页面上,你可以下载 Elastic Stack 的各个组件,包括 Elasticsearch、Kibana、Logstash、Beats 等。这个页面提供了各个组件的最新版本下载链接,以及历史版本的下载链接:Past Releases of Elastic Stack Software | Elastic
在这里,我们将选择 Kibana,并确保所选的 Kibana 版本与我们正在使用的 Elasticsearch 版本一致:
选择后选择「Download」开始下载,并在下载成功后解压到指定位置即可。
Kibana 的配置文件通常是 kibana.yml
,位于 Kibana 安装目录的 config
文件夹下。这个配置文件是 YAML 格式,用于定义 Kibana 的运行参数。
...
# =================== 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 配置项:
your-hostname
。9200
,即 localhost:9200
。这里如果我们 Elasticsearch 是在本地的,那么不用修改任何配置直接启动就可以了
设置页面中文:
# Supported languages are the following: English (default) "en", Chinese "zh-CN", Japanese "ja-JP", French "fr-FR".
i18n.locale: "zh-CN"
启动文件位于 /bin/Kibana
目录下。启动 Kibana 后,可能需要稍等片刻,Kibana 才能完成启动过程。一旦启动完成,你就可以通过访问 http://localhost:5601 来使用 Kibana 了。
为了让 Kibana 的图形更美观,我们需要准备一些具有多元化数据的索引。以下是一个简单的例子,我们将创建一个包含销售数据的索引,数据包括日期、产品类别、销售额等字段。
首先,我们需要在 Elasticsearch 中创建一个名为 “sales” 的索引,并添加一些数据。以下是使用 Elasticsearch 的 REST API 添加数据的示例:
# 创建索引
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
}
'
# ... 添加更多数据 ...
在 Kibana 中,我们可以使用 “Visualize” 功能来创建各种数据可视化。以下是创建柱状图、线图、饼图等的基本步骤:
点击「新建可视化」按钮,选择 “垂直条形图” 选项来创建柱状图。
在 “桶” 部分,你需要选择 X 轴和 Y 轴的字段。对于 X 轴,你可以选择一个分类字段;对于 Y 轴,你可以选择一个数值字段,并选择一个聚合函数,如 “计数”、“平均值”、“总和” 等。
配置完成后,你可以预览你的柱状图。如果满意,点击「保存」按钮,为你的柱状图命名并保存。
点击「新建可视化」按钮,选择 “折线图” 选项来创建线图。
在 “桶” 部分,你需要选择 X 轴和 Y 轴的字段。对于 X 轴,你通常会选择一个时间字段;对于 Y 轴,你可以选择一个数值字段,并选择一个聚合函数,如 “计数”、“平均值”、“总和” 等。
配置完成后,你可以预览你的线图。如果满意,点击「保存」按钮,为你的线图命名并保存。
点击「新建可视化」按钮,选择 “饼状图” 选项来创建饼状图图。
在 “桶” 部分,你需要选择一个或多个字段来分割饼状图。你可以选择一个分类字段,并选择一个聚合函数,如 “计数”、“平均值”、“总和” 等。
配置完成后,你可以预览你的饼状图。如果满意,点击「保存」按钮,为你的饼状图命名并保存。
Kibana 提供了强大的数据探索功能,用户可以使用 Elasticsearch 的查询语言进行数据查询,也可以通过 Kibana 的界面进行数据筛选和排序。以下是使用这些功能的基本步骤:
打开 Kibana:在浏览器中输入 Kibana 的地址,打开 Kibana 的主界面。
进入 Discover 页面:在左侧导航栏中,点击 “Discover” 图标,进入 Discover 页面。
选择索引模式:在 Discover 页面的顶部,你可以选择一个索引模式。Kibana 会显示该索引模式对应的数据。
进行数据查询:在查询栏中,你可以输入 Elasticsearch 的查询语句,然后按回车键执行查询。查询结果会在下方的表格中显示。
进行数据筛选:在表格的顶部,你可以看到所有的字段名。点击字段名,你可以添加一个筛选条件,只显示满足该条件的数据。
进行数据排序:在表格的表头,你可以点击任何一列的列名,对该列进行升序或降序排序。
以上就是在 Kibana 中进行数据探索的基本步骤。需要注意的是,不同的数据源可能需要不同的查询语句和筛选条件,你需要根据实际情况进行操作。
在 Kibana 中,你可以使用 “仪表盘” 功能来组合多个可视化成一个统一的界面。以下是配置仪表盘的基本步骤:
打开 Kibana:在浏览器中输入 Kibana 的地址,打开 Kibana 的主界面。
进入仪表盘页面:在左侧导航栏中,点击 “仪表盘” 图标,进入仪表盘页面。
创建新的仪表盘:点击 “创建仪表盘” 按钮,开始创建新的仪表盘。
添加可视化:在新的仪表盘页面中,点击 “添加” 按钮,你可以看到一个列表,列出了所有已经创建的可视化。选择你想要添加到仪表盘的可视化,点击 “添加” 按钮。
调整布局:添加了可视化后,你可以通过拖拽和缩放来调整它们在仪表盘中的位置和大小。
以上就是在 Kibana 中配置仪表盘的基本步骤。需要注意的是,仪表盘只能包含已经创建的可视化,因此在创建仪表盘之前,你需要先创建好所有需要的可视化。