ELK日志分析Kibana——筛选语法基础

ELK⽇志分析Kibana——筛选语法基础
ELK⽇志分析Kiba na——筛选语法基础
ES全⽂搜索的简易语法是Kibana上使⽤的搜索语法,⼀定需要学会,前⼀篇⽂章给出的只是基础的、最根本的CRUD操作,是对单挑数据的操作,但是在Kibana中存在⼤量的搜索和聚合,动辄上千万的数据量,所以掌握好ES全⽂搜索的语法就是使⽤Kibana的重要保证。
简易语法详细解析:
1、全⽂检索:直接写搜索的单词 如:搜索‘id’,搜索字符A;
2、单字段的全⽂检索:在搜索单词之前加上字段名和冒号,⽐如如果知道单词 Riven(⽤户名) 肯定出现在 user字段,可以写作 user:Riven;
3、单字段的精确检索:在搜索单词前后加双引号,⽐如 user:"Riven";
4 、多个检索条件的组合:可以使⽤ NOT, AND 和 OR 来组合检索,注意必须是⼤写。⽐如 user:("Riven" OR "riven") AND NOT
mesg:BUG;
这个搜索的全意是: 精确搜索字段值为"Riven" 、"riven"并且mesg字段值不能为BUG的信息
5、字段是否存在:exists:user 表⽰要求 user 字段存在,missing:user 表⽰要求 user 字段不存在;
6、通配符:⽤ ? 表⽰单字母,* 表⽰任意个字母。⽐如 fir?t mess*;
7、正则:需要⽐通配符更复杂⼀点的表达式,可以使⽤正则。⽐如 mesg:/mes{2}ages?/。注意 ES 中正则性能很差,⽽且⽀持的功能也不是特别强⼤,尽量不要使⽤;
8、近似搜索:⽤ ~ 表⽰搜索单词可能有⼀两个字母写的不对;
9、范围搜索:对数值和时间,ES 都可以使⽤范围搜索,⽐如:size:>300,date:["now-6h" TO "now"} 等。其中,[] 表⽰端点数值包含在范围内,{} 表⽰端点数值不包含在范围内;
以上九条就是ES全⽂搜索的简易语法使⽤,这些语法全部都可以在Kibana中的任何⼀个搜索框内使⽤:
如果我想要搜索带有字符A的信息:
如果我们要精确检索⼀个单词"params":
如果我把搜索语句改为"params" NOT '回款' 则,带回款字样的信息将不会在出现在展⽰列表⾥⾯.
注意: 搜索关系词 必须⼤写
其他的检索语法和前⾯的实例并⽆不同,在这⾥就不⼀⼀展⽰了,感兴趣的同学可以⾃⼰试试.
还有⼀个不能被忽略的重要功能,那就是储存基础的搜索简易,以备下⾯的图形化展⽰做铺垫。
怎么储存呢?
搜索建议怎么⽤?在图形制作细节我会进⾏介绍。
ELK⽇志分析Kiba na——数据图形化制作
Kibana把数据图形化,可以帮助我们更好的去分析数据,到数据⾥⾯的结构 注意看⼀下,上⾯缩看的界⾯,是⼀个聚合的结果,他是由CPU Usage图表、System Load图表、CPU usage over time图表、 System Load over time图表⼀起构造⽽成的。
Kibana把数据图形化,可以帮助我们更好的去分析数据,到数据⾥⾯的结构
注意看⼀下,上⾯缩看的界⾯,是⼀个聚合的结果,他是由CPU Usage图表、System Load图表、CP
U usage over time图表、 System Load over time图表⼀起构造⽽成的。我把这种聚合称作⼀组相关性的数据看板,你可以随意的组合你的看板,如果你觉得这样做是合适的。那
么,CPU Usage图表、System Load图表、CPU usage over time图表、 System Load over time图表是从哪⾥来的呢?
数据对应的index决定了你想要处理的数据源是那⼀部分,⽽上⾯的搜索基础则决定的更加细致,‘我想要的数据是什么样⼦的’,这样关于CPU 的调⽤数据就可以被筛选出来了。把想要的数据筛选出来以后就需要操作数据来制作表格了,我么有很多⼤的选择,当然,你选制作什么样的图形,在这之前就需要选择好:
第 1 步: 进⼊新增页⾯后需要选在对应的图形
图形说明
1、Area :⽤区块图来可视化多个不同序列的总体贡献。
2、Data :⽤数据表来显⽰聚合的原始数据。其他可视化可以通过点击底部的⽅式显⽰数据表。
3、Line :⽤折线图来⽐较不同序列。
4、Markdown : ⽤ Markdown 显⽰⾃定义格式的信息或和你仪表盘有关的⽤法说明。
5、Metric :⽤指标可视化在你仪表盘上显⽰单个数字。
6、Pie :⽤饼图来显⽰每个来源对总体的贡献。
7、Tile map :⽤⽡⽚地图将聚合结果和经纬度联系起来。
8、Timeseries :计算和展⽰多个时间序列数据。
9、Vertical bar :⽤垂直条形图作为⼀个通⽤图形。
第 2 步: 选择数据源
⾸先需要明⽩的是,当你选择⼀个使⽤⼀个已有的搜索建议作为你的数据处理数搜索基础的时候,已经绑定了⼀个已有的index,因为你的搜索建议是需要现将其建⽴在index上的。
其次,如果你选择了⼀个index作为你的数据处理基础的时候(注意这⾥的表述,和上⾯的相⽐缺少了什么),你就需要在接下来的页⾯上去建⽴⾃⼰的搜索建议了,⾄于如何建⽴。。。上⼀篇⽂章有详细介绍
第 3 步: 可视化编辑器
主要操作的节点为以下⼏个:
1、⼯具栏(Toolbar)
2、聚合构建器(Aggregation Builder)
3、预览画布(Preview Canvas)
⼯具栏:
⼯具栏⾥⾯其实就是⼀些搜索建议,当然如果你⼀进选择了搜索建议基础,那么也许你只需要稍作修改即可,当你看不到搜索框的时候,也许你需要双击⼀下这个标签image 还有⼀个需要你注意的细节就是,你可以对你的数据进⾏时间属性的控制,她在你⼯具栏见⾯的右上⾓,如果你在Logstash为ES数据附上了⼀个相关的时间参数的时候。
聚合构建器:
⽤页⾯左侧的聚合构建器配置你的可视化要⽤的 metric 和 bucket 聚合。桶(Buckets) 的效果类似于 SQL GROUP BY 语句。想更详细的了解聚合,阅读 Elasticsearch aggregations reference。
下⾯介绍⼀下更为细节的⼀些聚合器字段:
1、Count count 聚合返回选中索引模式中元素的原始计数。
2、Average 这个聚合返回⼀个数值字段的 average 。从下拉菜单选择⼀个字段。
3、Sum sum 聚合返回⼀个数值字段的总和。从下拉菜单选择⼀个字段。
4、Min min 聚合返回⼀个数值字段的最⼩值。从下拉菜单选择⼀个字段。
5、Max max 聚合返回⼀个数值字段的最⼤值。从下拉菜单选择⼀个字段。
6、Unique Count cardinality 聚合返回⼀个字段的去重数据值。从下拉菜单选择⼀个字段。
7、Standard Deviation extended stats 聚合返回⼀个数值字段数据的标准差。从下拉菜单选择⼀个字段。
8、Percentile percentile 聚合返回⼀个数值字段中值的百分⽐分布。从下拉菜单选择⼀个字段,然后在 Percentiles 框内指定范围。点击 X 移除⼀个百分⽐框,点击 +Add 添加⼀个百分⽐框。
9、Percentile Rank percentile ranks 聚合返回⼀个数值字段中你指定值的百分位排名。从下拉菜单选
择⼀个字段,然后在 Values 框内指定⼀到多个百分位排名值。点击 X 移除⼀个百分⽐框,点击 +Add 添加⼀个数值框。
1、Date Histogram date histogram 基于数值字段创建,由时间组织起来。你可以指定时间⽚的间隔,单位包括秒,分,⼩时,天,星期,⽉,年。
2、Histogram 标准 histogram 基于数值字段创建。为这个字段指定⼀个整数间隔。勾选 Show empty buckets 让直⽅图中包含空的间隔。
3、Range 通过 range 聚合。你可以为⼀个数值字段指定⼀系列区间。点击 Add Range 添加⼀对区间端点。点击红⾊ (x) 符号移除⼀个区间。
4、Date Range date range 聚合计算你指定的时间区间内的值。你可以使⽤ date math 表达式指定区间。点击 Add Range 添加新的区间端点。点击红⾊ (/) 符号移除区间。
5、IPv4 Range IPv4 range 聚合⽤来指定 IPv4 地址的区间。点击 Add Range 添加新的区间端点。点击红⾊ (/) 符号移除区间。
6、Terms terms 聚合允许你指定展⽰⼀个字段的⾸尾⼏个元素,排序⽅式可以是计数或者其他⾃定义的metric。
7、Filters 你可以为数据指定⼀组 filters。你可以⽤ querystring(全⽂搜索简易检所语法),也可以⽤ JSON 格式来指定过滤器,就像在Discover 页的搜索栏⾥⼀样。点击 Add Filter 添加下⼀个过滤器。
8、Significant Terms 展⽰实验性的 significant terms 聚合的结果。
9、也许你需要对某⼀个数据进⾏计算,你可以使⽤json表达式:{ "script" : "doc['grade'].value * 1.2" } grade代表字段,后⾯后⾯是算数表达式。
Lo gsta sh
Logstash介绍
Logstash是⼀个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来⾃不同数据源的数据统⼀起来,并将数据标准化到你所选择的⽬的地。
img
集中、转换和存储你的数据
Logstash是⼀个开源的服务器端数据处理管道,可以同时从多个数据源获取数据,并对其进⾏转换,
然后将其发送到你最喜欢的“存储”。(当然,我们最喜欢的是Elasticsearch)
输⼊:采集各种样式、⼤⼩和来源的数据
数据往往以各种各样的形式,或分散或集中地存在于很多系统中。Logstash ⽀持各种输⼊选择 ,可以在同⼀时间从众多常⽤来源捕捉事件。能够以连续的流式传输⽅式,轻松地从您的⽇志、指标、Web 应⽤、数据存储以及各种 AWS 服务采集数据。
img
过滤器:实时解析和转换数据
数据从源传输到存储库的过程中,Logstash 过滤器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通⽤格式,以便更轻松、更快速地分析和实现商业价值。
Logstash 能够动态地转换和解析数据,不受格式或复杂度的影响:
利⽤ Grok 从⾮结构化数据中派⽣出结构
从 IP 地址破译出地理坐标
简易过滤器将 PII 数据匿名化,完全排除敏感字段
整体处理不受数据源、格式或架构的影响
img
输出:选择你的存储,导出你的数据
尽管 Elasticsearch 是我们的⾸选输出⽅向,能够为我们的搜索和分析带来⽆限可能,但它并⾮唯⼀选择。Logstash 提供众多输出选择,您可以将数据发送到您要指定的地⽅,并且能够灵活地解锁众多下游⽤例。
img
安装L og s tas h
img

本文发布于:2024-09-22 17:35:42,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/351148.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   搜索   聚合   需要   字段   指定   选择   数值字
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议