es实战-Monitoring原理讲解及kibana可视化实战

更新时间:2023-07-26 18:23:33 阅读: 评论:0

es实战-Monitoring原理讲解及kibana可视化实战
实战结合官⽅⽂档进⾏学习效果更佳,可以参考本⼈另⼀篇简书-。
Monitoring学习⽅法:在官⽅⽂档与源码阅读基础之上进⾏实战操作。
1 Monitoring原理讲解
Monitoring是elastic stack的监控模块,可以⽤来监控ELKB,监控信息存在es索引中,并且可以通过kibana进⾏可视化的展⽰。(收集监控数据的⽅式从6.5版本起由Collectors-Exporters模式逐步迁移到使⽤Metricbeat进⾏收集。)
a 官⽅⽂档
学习任何模块都可以从阅读官⽅⽂档开始,可以参考本⼈的辅助学习。7.10版本官⽅⽂档结构如下:
dermalogica
b 源码阅读
旧版本的collector⽅式源码位于es源码之中,由于⽬前基于metricbeat⽅式收集数据维度仍⽐旧版本⼩,且⼆者原理都是调⽤ELKB提供的API收集,es源码也更具备学习价值,所以这⾥主要讨论旧版本的源码。
Monitoring的源码⼀共分为两部分:⼀部分位于包中,主要是元数据信息类型代码;⼀部分位于itoring中包,主要是数据收集、导出及索引⽣命周期策略等实操模块。
Monitor模块按组件分为四类,通过MonitoredSystem枚举区分,每条监控记录都是⼀条es⽂档,⽂档基类为MonitoringDoc,规定了监控记录的统⼀元数据信息部分(es的监控模块⼜分为集群,节点,索引,分⽚等模块,分别继承了MonitoringDoc类,每个单元都有⾃⼰独⽴的数据结构,具体后⽂详细分析),如下图所以:
实操模块源码包含以下单元:
cleaner包:CleanerService实现了监控数据的⽣命周期管理,默认监控数据按天分索引保留七天,每天凌晨1点会进⾏全部索引的排查,统⼀删除过期索引。
collector包:Collector类为es监控各个模块的收集器基类,每个模块都以⼀个独⽴Collector继承Collector类。主要实现⽅式是调⽤es系统提供的监控API获取respon构造成对应的MonitoringDoc⼦类⽂档。
exporter:exporter为数据的导出包,分为两类:导出到本地集群或者导出到专门的监控集群(http⽅式)。实现⽅式为es的bulk请求。
监控服务类:MonitoringService和Monitoring类为主要服务实现调度类。主要进⾏参数设置,收集器导出器配置,并采⽤单线程调度⽅式使每个收集器在收集周期(默认10s)内运⾏⼀次。
具体源码结构如下图:
c 具体实现
接下来我们具体看⼀下monitor索引内容以及kibana⾃带的监控功能。
monitor索引
resultinges的监控数据是以统⼀的索引模板构造的按天分区索引存储的,如下如所⽰:
american wedding默认索引只保留最近七天的数据,每隔10s会⽣成⼀个新的⽂档。
.monitoring-es模板mapping包含⼀些元数据信息如集群id、时间戳和hosts信息等,当前⽂档类型由type字段标记。每类的数据都有⾃⼰独⽴的⼀些mapping,如索引信息汇总类数据indices_stats具有主分⽚和总的数据量、存储占⽤以及加载查询数据量统计信息。如下图所⽰:
kibana监控功能
kibana监控模块通过调⽤es索引存储的监控数据,制作了许多开箱即⽤报表供⽤户使⽤。主要分为集群层⾯、节点层⾯和索引层⾯。
2017四级答案
kibana通过es索引中存储的数据计算出了许多指标报表,如上图所⽰包含了查询(加载)速率和查询(加载)延时,除此之外还有cpu、内存、存储以及负载占⽤等等许多指标。
#2 kibana可视化实战
接下来我们具体分析上图的四个指标并通过kibana的TSVB(时间序列的可视化报表)实现这四个指标。
查询速率
对于单个索引,它是每秒的查询次数(分⽚级别,不是请求级别),也就意味着⼀次查询请求命中的分⽚数越多,值越⼤。对于多个索引,它是每个索引的搜索速率的总和。
begin是什么意思
(例:⼀个2分⽚1副本的索引,进⾏⼀个查询操作, 索引中的查询数量指标al.arch.query_total
增加2(与副本数量⽆关。只与分⽚数量有关)。Kibana监控界⾯10分钟间隔时间段内有20个统计点,每个统计点时间间隔为
600s/20=30s,计算速度为:Total Shards:2/30=0.067/s)
加载速率
繁衍是什么意思对于单个索引,它是每秒索引⽂档的数量;对于多个索引,它是每个索引的索引速率之和。
(例:⼀个3分⽚1副本的索引,加载三条数据⼊库, index_stats.primaries.indexing.index_total会增加3
条,al.indexing.index_total会增加6条。Kibana监控界⾯10分钟间隔时间段内有20个统计点,每个统计点时间间隔为600s/20=30s,计算速度为:Primary Shards:3/30=0.1/s Total Shards:6/30=0.2/s)失控玩家片尾有没有彩蛋
查询延时
查询的平均延时,为执⾏查询消耗的时间除以查询数量,考虑主副分⽚。
install是什么意思
(例:al.arch.query_time_in_millis增长2,al.arch.query_total增长1,则计算结果为2/1=2,且由于query_time_in_millis和query_total可能在某段时间不变,所以图像不连续)
傈僳族怎么读
加载延时
加载延时,为执⾏加载消耗的时间除以⽂档数量,只考虑主分⽚。
aircraft是什么意思(例:index_stats.primaries.indexing.index_time_in_millis增长6,index_stats.primaries.indexing.index_total增长5,则计算结果为
6/5=1.2。且由于index_time_in_millis和index_total可能在某段时间不变,所以图像不连续)

本文发布于:2023-07-26 18:23:33,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/189514.html

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

标签:监控   数据   查询   模块   源码   信息   加载
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图