【橘子Kibana】Kibana的分析能力Analytics简易分析
一、kibana是啥,能干嘛
我们经常会用es来实现一些关于检索,关于分析的业务。但是es本身并没有UI,我们只能通过调用api来完成一些能力。而kibana就是他的一个外置UI,你完全可以这么理解。
当我们进入kibana的主页的时候你可以看到这样的布局。
他展示了四大模块,分别是:
1、Enterprise Search 企业级搜索,这个不难理解,他本身就是和es密切配合的,当然可以做搜索。
2、Observability 可观测性,kibana可以用来监控应用的性能指标等一系列能力,因为他可以和APM整合使用。
3、Security 安全性,kibana可以收集指标信息,做出预警等一系列操作来保证安全性。
4、Analytics 分析 ,kibana可以在已有的数据上绘制图表,折线图还是直方图还是饼图等等,用来帮助你分析数据。
这都是他拥有的能力,可以看到其实kibana技术栈十分强大。你可以从他的目录进去看到他的能力和内容。
可见操作还是很方便的。而这四大能力,我们将会从Analytics 分析 开始逐步研究他的实现和操作。
二、填充数据
当我们有了es和kibana的时候,既然我们要研究分析功能,分析你得有数据吧。实际上你可以有很多种方式向es中写入数据,包括你直接调用es得api写入。但是这里我们不准备写代码,我们只看kibana.kibana中本身就是支持向es中灌数据的。我们来看这里。
1、导入kibana内置数据
我们这里先灌入kibana的内置数据,我们点进去这个Try sample data。
这里kibana为我们内置了三类数据。分别是:
1、Sample eCommerce orders:电商数据,你可以用来做一些电商分析。
2、Sample flight data:航空公司数据,如果你做一些航空,打车之类的业务,可以用这个模拟。
3、Sample web logs:web应用的日志数据分析,实际上这个我们比较常用,毕竟日志分析大家都有需求。
你只需要点击add data就能添加进去了,而且对应的es索引他也会给你创建。很自动化。
这里我们把三个数据都加进去。
添加进去之后你来到分析栏目的discover就能看到数据。
你可以切换你的数据类型,然后右边的列表就会展示出来,ok,此时我们算是成功导入了,我们接下来来看如何分析这几类数据。
2、导入自己的数据
我们还可以以json和csv格式导入外部数据,我们先来准备一份数据。这份数据可以到这个地址去下载。卖房子的样本数据
ok,我们来看操作。
点进去这里上传数据文件。
点击这个import我们来看。
此外你还要去Advanced去看一下我们导入数据索引的映射,也就是mapping,这个mapping在es中异常重要。
这三个部分你要检查一下,如果kibana设置的不对,你可以做修改,比如日期字段它要是没给你设置成date,可能后面你用日期范围检索就会有问题,目前看来我们这个好像没啥问题。
我们直接下一步就好了。
我们再回到Analytics的discover查看这个索引。
没数据的原因在于页面的检索条件范围。右上角有个时间范围是检索最近15分钟的数据,我们导入进去的数据估计时间都好几年前的了,所以我们调整一下检索条件。实际上如果有人要你分析几天之前或者多久之前的数据,你就可以来这里修改时间。
ok,此时就看到数据了,没有问题。
此时我们就完成了两种方式的填充数据,接下来我们会用这些数据来实现我们的功能。
三、分析数据
1、简单的分析例子
我们先来简单看一下如何玩,我们先来分析一下航空公司数据。
此时我们看到它以列表的形式展示出来了航空数据的内容,不过它默认展示近15分钟的(右上角的时间条件),这个近15分钟指的是数据中的timestamp字段范围。而且我们同事看到这个列表只展示了两列字段,分别是timestamp和整个文档,实际上这样很不可读,你直接读这个doc文档难看死了,所以我们可以来添加几个我们想要的列。
添加列
比如我想查看FlightNum航空公司号这个列。我们只需要在左侧点中这个字段的+号即可。
于是列表就变成了这样。
kql过滤条件
因为时间是右上角的条件,他会一直存在的。那如果我们想自己添加检索条件呢,上面有写kql的地方,也就是这里。
比如我想查看FlightNum为05ZASIX的数据,那就是这样。
当然你可能觉得这个kql很难写,不好记,放心你输入的时候kibana会有提示。而且如果你多个条件的话可以用and,如果你有优先级逻辑的话,可以用()括起来之类的操作都可以。而且它还支持通配符那些做模糊检索。数字类型的> <都可以的。
但是它存在一个问题,就是如果我执行完查询之后,再切出去再回来,这个他是不会为我们留下记录的。有时候你输入了一个很复杂的检索条件,再让你输入一遍,你是不是想死。
于是它提供了保存功能,我们可以把这个条件存起来,以后想用的时候就拿来用,我们来看一下。
我们可以在这保存我们的检索条件。
其中include fiters这个默认勾选的,其实就是保存你的条件,
include time filter默认不勾选,他是会保存你右上角那个时间条件,你想勾就勾吧。
等你再次想查的时候,只需要加载就好。。
此时条件就又被加载上去了,你也不用再写一遍了。
展示详情
那我如果想看这个文档的详情呢?
点这里就能展示详情,你可以看列表形式或者json形式都可以。
对字段的统计分析
我们有一个字段是Carrier,他表示航空的运营商,可能就是什么山东航空,国航之类的吧,具体老外的航空我也不太懂。假如我们要统计一下过去七天内的数据中各个航空公司的数量占比呢?注意这个功能对那些地理位置的存储字段没用。
而且你发现下面还能查看分析表visualize你点进去就看到他给你绘制了图表。
所以很方便。
按字段排序
我们这个列表你不指定就是按时间倒排的,如果我想按照FlightNum来排序呢?
全屏展示
点击这个可以全屏显示数据。不过好像没啥必要,比较鸡肋。
字段统计Field statistics
我们来到我们的列表。此时我们查看过去30天的数据,其实就是所有的数据。
我们看到这里有一个Field statistics的按钮,他的作用是帮助我们统计分析我们列表上展示的字段。点进去看看。我们列表有一个DistanceKilometers里程字段。
你能看到他他可以对某个字段进行分析,当然这是个测试功能,可能在未来高版本会正式启动。
他会列出什么排行榜,最大值,中值,最小值等等。
相关文章:

【橘子Kibana】Kibana的分析能力Analytics简易分析
一、kibana是啥,能干嘛 我们经常会用es来实现一些关于检索,关于分析的业务。但是es本身并没有UI,我们只能通过调用api来完成一些能力。而kibana就是他的一个外置UI,你完全可以这么理解。 当我们进入kibana的主页的时候你可以看到这样的布局。…...

【STM32】-TTP223B触摸开关
前言 本文章旨在记录博主STM32的学习经验,我自身也在不断的学习当中,如果文章有写的不对的地方,欢迎各位大佬批评指正。 准备工作 今天这篇文章介绍的是触摸开关这一外围硬件。 ST-link调试器STM32最小系统板单路TTP223B触摸传感器模块LE…...
三星手机人脸识别解锁需要点击一下电源键,能够不用点击直接解锁吗
三星手机的人脸识别解锁功能默认需要滑动或点击屏幕来解锁。这是为了增强安全性,防止误解锁的情况。如果希望在检测到人脸后直接进入主界面,可以通过以下设置调整: 打开设置: 进入三星手机的【设置】应用。 进入生物识别和安全&a…...

Frida使用指南(三)- Frida-Native-Hook
1.Process、Module、Memory基础 1.Process Process 对象代表当前被Hook的进程,能获取进程的信息,枚举模块,枚举范围等 2.Module Module 对象代表一个加载到进程的模块(例如,在 Windows 上的 DLL,或在 Linux/Android 上的 .so 文件), 能查询模块的信息,如模块的基址、名…...

网络安全 | F5-Attack Signatures-Set详解
关注:CodingTechWork 创建和分配攻击签名集 可以通过两种方式创建攻击签名集:使用过滤器或手动选择要包含的签名。 基于过滤器的签名集仅基于在签名过滤器中定义的标准。基于过滤器的签名集的优点在于,可以专注于定义用户感兴趣的攻击签名…...
004 mybatis基础应用之全局配置文件
文章目录 配置内容properties标签typeAlias标签mappers标签 配置内容 SqlMapConfig.xml中配置的内容和顺序如下: properties(属性) settings(全局配置参数) typeAliases(类型别名) typeHandler…...

【岛屿个数——BFS / DFS,“外海”】
题目 推荐阅读 AcWing 4959. 岛屿个数(两种解法,通俗解释) - AcWing 1.岛屿个数 - 蓝桥云课 (lanqiao.cn) 代码 #include <bits/stdc.h> using namespace std; #define x first #define y second int dx4[4] {-1, 0, 1, 0}, dy4[4] …...

MySQL常用数据类型和表的操作
文章目录 (一)常用数据类型1.数值类2.字符串类型3.二进制类型4.日期类型 (二)表的操作1查看指定库中所有表2.创建表3.查看表结构和查看表的创建语句4.修改表5.删除表 (三)总代码 (一)常用数据类型 1.数值类 BIT([M]) 大小:bit M表示每个数的位数,取值范围为1~64,若…...

2025_1_27 C语言内存,递归,汉诺塔问题
1.c程序在内存中的布局 代码段(Code Segment) 位置:通常位于内存的最低地址。 用途:存储程序的可执行指令。 特点:只读,防止程序运行时被修改。数据段(Data Segment) 位置…...

开源音乐管理软件Melody
本文软件由网友 heqiusheng 推荐。不过好像已经是一年前了 😂 简介 什么是 Melody ? Melody 是你的音乐精灵,旨在帮助你更好地管理音乐。目前的主要能力是帮助你将喜欢的歌曲或者音频上传到音乐平台的云盘。 主要功能包括: 歌曲…...

Nginx开发01:基础配置
一、下载和启动 1.下载、使用命令行启动:Web开发:web服务器-Nginx的基础介绍(含AI文稿)_nginx作为web服务器,可以承担哪些基本任务-CSDN博客 注意:我配置的端口是81 2.测试连接是否正常 访问Welcome to nginx! 如果…...

【TCP 协议】确认应答机制 超时重传 三次握手 四次挥手
TCP报文首部 确认应答机制 TCP 是可靠的,指的是它能够确保数据从源端准确无误地传输到目的端。 当客户端和服务器通信时,客户端向服务器发送报文,那么,客户端怎么知道服务器已经收到报文了呢? 服务器收到客户端发的报…...

jenkins-k8s pod方式动态生成slave节点
一. 简述: 使用 Jenkins 和 Kubernetes (k8s) 动态生成 Slave 节点是一种高效且灵活的方式来管理 CI/CD 流水线。通过这种方式,Jenkins 可以根据需要在 Kubernetes 集群中创建和销毁 Pod 来执行任务,从而充分利用集群资源并实现更好的隔离性…...

基于vue和elementui的简易课表
本文参考基于vue和elementui的课程表_vue实现类似课程表的周会议列表-CSDN博客,原程序在vue3.5.13版本下不能运行,修改两处: 1)slot-cope改为v-slot 2)return background-color:rgb(24 144 255 / 80%);color: #fff; …...
可用的IPv6公共DNS(2025年1月更新)
境内IPv6 DNS: 1. 腾讯DNS:2402:4e00:: 2. 阿里DNS:2400:3200::1、2400:3200:baba::1 3. ISP(电信服务运营商)的IPv6 DNS,请以各ISP实际下发的为准,或拨打10000、10010、10086等号码询问人工…...

c高级复习
c高级复习...
电子信息工程专业主要研究哪一方面东西?
序言: 如今科技发展那叫一个迅猛,电子信息专业可是站在这股浪潮的 C 位,狠狠推动着社会向前跑。这专业就像一座神奇桥梁,把虚拟数字和现实生活紧紧相连,把那些信号变成咱们看到的画面、听到的声音。你看,从…...
RU 19.26安装(手工安装各个补丁)
使用手工方式打RU19.26 参考文档: Supplemental Readme - Grid Infrastructure Release Update 12.2.0.1.x / 18c /19c (Doc ID 2246888.1) 操作步骤: 1 Stop the CRS managed resources running from DB homes. 2 Run the pre root script. 3 Patch GI…...
深入理解Pytest中的Setup和Teardown
关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 对于简单程序而言,使用 Pytest 运行测试直截了当。然而,当你…...
如何利用AI工具来进行数据分析
利用AI工具进行数据分析可以显著提高效率和准确性,以下是详细步骤和方法: 1. 明确分析目标 在开始数据分析之前,首先需要明确分析的目标和问题。这包括确定需要解决的问题、期望的见解或结果,以及选择合适的AI工具和方法。 2. …...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
es6+和css3新增的特性有哪些
一:ECMAScript 新特性(ES6) ES6 (2015) - 革命性更新 1,记住的方法,从一个方法里面用到了哪些技术 1,let /const块级作用域声明2,**默认参数**:函数参数可以设置默认值。3&#x…...

aardio 自动识别验证码输入
技术尝试 上周在发学习日志时有网友提议“在网页上识别验证码”,于是尝试整合图像识别与网页自动化技术,完成了这套模拟登录流程。核心思路是:截图验证码→OCR识别→自动填充表单→提交并验证结果。 代码在这里 import soImage; import we…...