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

news2025/2/26 1:57:08

Elasticsearch 是一个开源的、基于 Lucene 的分布式搜索和分析引擎,设计用于云计算环境中,能够实现实时的、可扩展的搜索、分析和探索全文和结构化数据。它具有高度的可扩展性,可以在短时间内搜索和分析大量数据。

Elasticsearch 不仅仅是一个全文搜索引擎,它还提供了分布式的多用户能力,实时的分析,以及对复杂搜索语句的处理能力,使其在众多场景下,如企业搜索,日志和事件数据分析等,都有广泛的应用。

本文将介绍 Elastic Stack 组件 Kibana 的介绍、安装与简单使用。


文章目录

        • 1、Kibana介绍与安装
          • 1.1、Kibana简介
          • 1.2、下载安装
          • 1.3、关于配置
          • 1.4、启动访问
        • 2、Kibana数据可视化
          • 2.1、演示数据准备
          • 2.2、数据可视化配置
          • 2.3、配置柱状图
          • 2.4、配置线图
          • 2.5、配置饼状图
        • 3、Kibana更多功能
          • 3.1、数据探索
          • 3.2、仪表盘


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 版本一致:

image-20231015115106269

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

1.3、关于配置

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 配置项:

  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 是在本地的,那么不用修改任何配置直接启动就可以了

设置页面中文:

# 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 了。

image-20231015120510258


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

为了让 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
}
'
# ... 添加更多数据 ...

2.2、数据可视化配置

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

  1. 打开 Kibana:在浏览器中输入 Kibana 的地址,打开 Kibana 的主界面;
  2. 进入 Visualize 页面:在左侧导航栏中,点击 “Visualize Library” 图标,进入 Visualize 页面;
  3. 创建数据视图:点击「创建数据视图」按钮,选择想要创建的可视化类型,如柱状图、线图、饼图等:
  4. 选择数据源:在新的页面中,选择你想要可视化的数据源。你可以选择已经存在的索引模式,也可以创建新的索引模式:

image-20231015122129242

  1. 保存视图:点击「保存数据视图到 Kibana」,保存成功;
  2. 配置可视化:根据你选择的可视化类型,配置相应的参数。例如,对于柱状图,你需要选择 X 轴和 Y 轴的字段;对于线图,你需要选择时间字段和度量字段;对于饼图,你需要选择分割切片的字段。
2.3、配置柱状图

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

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

image-20231015130408559

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

2.4、配置线图

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

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

image-20231015130839702

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

2.5、配置饼状图

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

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

image-20231015131036114

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


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. 调整布局:添加了可视化后,你可以通过拖拽和缩放来调整它们在仪表盘中的位置和大小。

image-20231015131813366

  1. 保存仪表盘:调整好布局后,点击「保存」按钮,为你的仪表盘命名并保存。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1094392.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java课程设计——图书管理系统

文章目录 一、需求分析二、技术介绍2.1相关技术2.2开发环境 三、功能实现1、登录2、图书管理2.1图书列表2.2添加图书2.3修改图书信息2.4查询图书信息 3、用户管理3.1借阅图书3.2修改借阅信息3.3归还图书 4、退出系统 四、部分代码实现获取源码 文章最下方获取源码!&…

【Retinex theory】【图像增强】-笔记

1 前言 retinex 是常见的图像增强的方法,retinex 是由两个单词合成的:retina conrtex ,即视网膜皮层。 2 建立的基础 Land 的 retinex theory 建立在三个假设之下: 真实世界是无色的,我们所谓的颜色是光和物质相互…

VARMA模型的原理与实现

文章目录 1.多变量模型的基本思想2.VAR模型与VARMA模型3.VARMA模型的实现 1.多变量模型的基本思想 ​ 在现实和竞赛中,时序数据往往是多变量时间序列,我们往往需要借助除了时间之外的变量的帮助来完成预测。比如,如果我们需要预测居民消费支…

数据结构与算法--其他算法

数据结构与算法--其他算法 1 汉诺塔问题 2 字符串的全部子序列 3 字符串的全排列 4 纸牌问题 5 逆序栈问题 6 数字和字符串转换问题 7 背包问题 8 N皇后问题 暴力递归就是尝试 1,把问题转化为规模缩小了的同类问题的子问题 2,有明确的不需要继续…

yolov5+车辆重识别【附代码】

本篇文章主要是实现的yolov5和reid结合的车辆重识别项目。是在我之前实现的yolov5_reid行人重识别的代码上修改实现的baseline模型。 目录 相关参考资料 数据集说明 环境说明 项目使用说明 vehicle reid训练 yolov5车辆重识别 从视频中获取想要检测的车(待检测车辆) 车…

Attention Is All You Need原理与代码详细解读

文章目录 前言一、Transformer结构的原理1、Transform结构2、位置编码公式3、transformer公式4、FFN结构 二、Encode模块代码解读1、编码数据2、文本Embedding编码3、位置position编码4、Attention编码5、FFN编码 三、Decode模块代码解读1、编码数据2、文本Embedding与位置编码…

centos6/7 SOCKS5 堆溢出漏洞修复(RPM方式)curl 8.4 CVE-2023-38545 CVE-2023-38546

引用 https://darkdark.top/update-curl.html centos6 rpm 升级包下载:https://download.csdn.net/download/sinat_24092079/88425840 yum update libcurl-8.4.0-1.el6.1.x86_64.rpm curl-8.4.0-1.el6.1.x86_64.rpmcentos7 rpm 升级包下载:https://down…

ELF和静态链接:为什么程序无法同时在Linux和Windows下运行?

目录 疑问 编译、链接和装载:拆解程序执行 ELF 格式和链接:理解链接过程 小结 疑问 既然我们的程序最终都被变成了一条条机器码去执行,那为什么同一个程序,在同一台计算机上,在 Linux 下可以运行,而在…

Linux | 关于入门Linux你有必要了解的指令

目录 前言 1、ls指令 2、pwd指令 3、cd指令 4、touch指令 5、stat指令 6、mkdir指令 7、rmdir 与 rm指令 8、man指令 9、cp指令 10、mv指令 11、cat指令 (1)输入重定向 (2)输出重定向与追加重定向 12、less指令 1…

多模态模型文本预处理方式

句子级别 句子级别的表征编码一整个句子到一个特征中。如果一个句子有多个短语,提取这些短语丢弃其他的单词。 缺点:这种方式会丢失句子中细粒度的信息。 单词级别 将句子中的类别提取出来,结合成一个句子。 缺点:会在类别之…

【数据结构】线性表的抽象数据类型

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 线性表抽象数据类型(LinearListAbstractDataType,简称 ADT)是一种非常重要的抽象数据类型,它是一种使用抽象的方式表示和实现一组数据元素的集合以及与…

宝塔面板服务器内存使用率高的三招解决方法

卸载多余PHP版本。假若安装了多个PHP版本,甚至把 php 5.3、5.4、7.0、7.3 全都安装上了,就会严重增加系统负载和内存使用率。 安装memcached 缓存组件,建议在宝塔面板后台直接安装。 卸载不常用软件。如:宝塔运维、宝塔一键安装…

php如何查找地图距离

要在PHP中使用高德地图、百度地图或腾讯地图获取位置信息,您可以使用它们的相应API服务。以下是获取位置信息的一般步骤: 思路: 获取API密钥:首先,您需要注册并获取相应地图服务提供商的API密钥。这将允许您访问他们的API以获取位…

CSS的美化(文字、背景) Day02

一、文字控制属性 分为:字体样式属性 、文本样式属性 1.1 CSS字体样式属性 1.color定义元素内文字颜色2.font-size 字号大小3 font-family 字体4 font-weight 字体粗细5.font-style 字体风格6.font 字体综合属性 1.1.1 > 文字颜色 color 属性名: color color …

Yakit工具篇:简介和安装使用

简介(来自官方文档) 基于安全融合的理念,Yaklang.io 团队研发出了安全领域垂直语言Yaklang,对于一些无法原生集成在Yak平台中的产品/工具,利用Yaklang可以重新编写 他们的“高质量替代”。对于一些生态完整且认可度较高的产品,Y…

C# CodeFormer 图像修复

效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Windows.Forms;namespace 图像修复 {p…

高校教务系统登录页面JS分析——南京邮电大学

高校教务系统密码加密逻辑及JS逆向 本文将介绍南京邮电大学教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文,你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习,勿用于非法用途。 一…

C++标准模板(STL)- 类型支持 (数值极限,min_exponent10,max_exponent,max_exponent10)

数值极限 std::numeric_limits 定义于头文件 <limits> 定义于头文件 <limits> template< class T > class numeric_limits; numeric_limits 类模板提供查询各种算术类型属性的标准化方式&#xff08;例如 int 类型的最大可能值是 std::numeric_limits&l…

多个Python包懒得import,那就一包搞定!

使用Python时&#xff0c;有的代码需要依赖多个框架或库者来完成&#xff0c;代码开头需要import多次&#xff0c;比如&#xff0c; import pandas as pd from pyspark import SparkContext from openpyxl import load_workbook import matplotlib.pyplot as plt import seabo…

Java Day2(Java基础语法)

Java基础 Java基础语法1. 注释、关键字、标识符1.1 Java中的注释1.2 关键字1.3 标识符 2. 数据类型&#xff08;1&#xff09;基本类型&#xff08;primitive type&#xff09;a.字节b.进制c. 浮点数拓展d. 字符拓展 &#xff08;2&#xff09; 引用类型(Reference type ) 3. 类…