不断迭代,严苛细节,最终性能如何满足? 基于ELK的大数据平台实践分享

摘要: 在2018年Elastic Meetup 南京交流会中,来自云利来科技的涂海波为现场的听众带来了题为《南京云利来基于ELK的大数据平台》的精彩分享。在本次分享中,他首先进行了公司简介,然后介绍了数据分类,包括数据采集及数据类型等;然后重点阐述了运维之路,最后进行了告警分析。

在2018年Elastic Meetup 南京交流会中,来自云利来科技的涂海波为现场的听众带来了题为《南京云利来基于ELK的大数据平台》的精彩分享。在本次分享中,他首先进行了公司简介,然后介绍了数据分类,包括数据采集及数据类型等;然后重点阐述了运维之路,最后进行了告警分析。
数十款阿里云产品限时折扣中,赶快点击这里,领券开始云上实践吧
直播视频请点击
PPT下载请点击
以下内容根据现场分享整理而成。

南京云利来有限公司主要专注于以下三个方面:实时网络使用分析,具备世界领先20Gbps分析能力;为数据中心搭建大数据分析平台,数据中心主要是给运维团队、安全团队和开发团队做跨部门协作;提供智能运维、网络安全和预警分析能力。产品主要应用的行业包括电商、政府、证券等。

数据分类

数据采集

数据采集主要分为网络类和日志类。网络类主要为旁路部署,用小盒子部署在机房内不同的点,包括出口入口。日志类主要包括Nagios (filebeat)和Zabbix (mysqlexporter)。

数据类型

 

_1

上图为主要数据类型,网络协议里也有数据库,是一些协议解析,还有一些交易的解析。可以从网络层面和日志层面分开来比对。

数据量

每天数据量至少2TB,记录数22亿,不含副本;高峰数据量每秒6万条记录;单个索引最快处理12万条记录每秒。

使用场景

主要有三个使用场景:查询聚合;大屏分析,预测告警;网络指标,业务指标安全指标。
网络业务安全是基于一些不同的团队,定制个性化的指标,进行一些对比分析。

运维之路

集群演变

在使用ELK的整个过程中,我们使用过Vmware、Docker,跟美国的第三方公司的一些合作。我们自己用的最多的是单节点单实例和单节点双实例。基本是用于功能测试小公司一些测试部署。

冷热分离

我们做的冷热分离,开始采用的是flashcache模式,每台物理机上面都配备了一个SSD的小盘,主要是为了抵消传统的机械式硬盘寻到的一个LPS。LPS比较慢,延迟比较高,所以分布式集群每一块都配备一个小盘。在这种模式下,磁盘IO连续小块读,负载高,IOwait高,分析发现存在抖动。采用单机双实例冷热分离模式,充分利用1.6TB的SSD,只保存每天的热数据,隔夜迁移到HDD Raid0。
升级的主要目的有两个:内存隔离,当天和历史JAVA对象分离在不同的JVM里;IO隔离,当天和历史数据的磁盘IO分离在不同的磁盘上。

_2

上图为运维前后对比效果图。左边是运维之前,右边是运维之后。升级后,有效减少了cpu wait和磁盘读,降低了系统负载,有效提升了查询和写入性能。

_3

上图为在单个索引上做的测试。之前做了许多积压,可以发现索引的速度是上升的。单个索引最高速度从之前的60000条每秒提升到120000条记录每秒,平均10万条每秒。聚合查询性能提升1倍。

重要选型

重要选型首先从cpu介绍,我们推荐使用Xeon E5-2600 V4系列。官方测试显示,它比V3系列提升JAVA性能60%,我们进行了一些设置,包括指令预取,cache line预取,Numa Set。结合双路cpu,它的内存和节点有一个就近读取的原则。我们根据单个机器的实例进行cpu的绑定。设置以后可以提高cpu的命中率,减少内存的切换。
在内存方面,每台物理机配备的是128TB,SSD是1.6TB,HDD是40TB~48TB。具有大内存的特点,我们还进行了Cache加速,写负载高的时候上SSD,定期做Trim优化,利用SSD,SAS和SATA盘分级存储。
OS file system用的最多的是xfs。针对HDD、SSD 4k对齐优化,确保每个分区的start Address能被8整除,解决跨扇区访问,减少读写次数和延迟。
Shard和Replica个数是基于测试的经验,可以作为参考,还基于负载、性能等。节点数设置为1.5。Shard size 控制在30GB以内,Shard docs 控制在5百万记录以内,Replica至少为1。

可靠性

 

_4

由上图可以看到每个角色都有A、B、C三个点,然后做了冷热分离,Client多个点做了负载均衡。

性能分析

  • 高负载
    高负载主要采用IO负载型,主要关注Sar,Vmstat,IOstat,Dstat和Systemtap,Perf。
  • 线程池
    线程池这里主要关注Index,Query,Merge,Bulk,包括Thread,Queue Size和Active,Queue。
  • 内存占用
    内存占用主要看各个节点的内存占用大小,Fielddata设置为10%,也有的设置为1%,大部分场景都是精确查询。
  • 查询
    用慢查询作为告警,然后进行请求、响应、延时、峰值统计。随着资源使用率的提升,我们会发现在80%的点位,延时会特别大,于是会有多个监工。单个监工是没问题的,但是多个监工可能是有问题的。Query profile用来定位各个阶段的时间。Cache filling用来观看命中率如何,可以做一些cache的设置。然后会进行日志埋点采集,query replay,做一些测试。
  • 集群健康
    集群健康这里主要是对以下几项进行指标监控。 _cluster/health:active, reallocating, initializing,unassigned;Ping timeout;Shard allocation,recover latency。
  • GC效率
    GC效率主要关注以下几点:GC时长占比,GC回收量占比;内存增长速率,内存回收速率;各代回收耗时,频率;Dump profile;Jstack,Jmap,Jstat。

存储规划

 

_5

上图为基于不同业务做的存储规划。

性能提升

  • 合理设计
    首先我们会考虑每个域的意义,没有意义的域是不允许插进来的。然后要考虑需要存储搜索还是聚合,思考每一个域的价值所在。它是字符串型的还是数值型的?然后我们会对模板进行动态的设置。当字符串过长的时候,我们是否要做一个截取?是否要做一个Hash?
  • 批处理
    适当调大处理时间,Translog适当把频率降低。

 

_6

上图做了一个按需隔离,分表分级分组。

  • 规划计算
    提前聚合后插入;因为空间不够,所以超过生命周期后只保留基线,然后做压缩,做合并;随后可以做Pipeline拆分。

集群监控

监控这里用了一些工具。Netdata用来做一些系统资源的升级, _cat api是官方自带的,Cerebro是用的比较多的一个插件,Prometheus可以开箱即用。

告警分析

用Sql语法做一些包装、抽象,告警模型基于从工作日开始的迭代、同比环比、平均值及标准差,基线学习。
我们发现问题,解决问题,需要不停的去思考。不断迭代,严苛细节,最终性能是否满足?是否可接受?这些都是需要思考的问题。

 

原文链接

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

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

相关文章

cmd输入pip报错_pyhon3下pip安装使用教程(win10)

一、前言 pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。官网下载比较慢,只有几k速度,大家如果还没下载python和pip可以到我的网盘下载。目前pip为v20.0.2版,pytho为v3.8.2,有最新版本会随时…

【小白集合】详解服务器内存和显存基础知识

戳蓝字“CSDN云计算”关注我们哦!作者 | Hardy责编 | 阿秃早期内存通过存储器总线和北桥相连,北桥通过前端总线与CPU通信。从Intel Nehalem起,北桥被集成到CPU内部,内存直接通过存储器总线和CPU相连。所以,在AMD采用So…

如何在机器学习项目中使用统计方法的示例

摘要: 在本文中,将通过十个实例介绍在机器学习项目中起关键作用的统计学方法。 统计学和机器学习是两个密切相关的领域。两者的界限有时非常模糊,例如有一些明显属于统计学领域的方法可以很好地处理机器学习项目中的问题。事实上&#xff0c…

云服务器 文件服务,云服务器文件服务

云服务器文件服务 内容精选换一换远程桌面协议(Remote Desktop Protocol,RDP),是微软提供的多通道的远程登录协议。本节为您介绍如何使用RDP文件远程登录Windows云服务器。从管理控制台下载的RDP文件对应唯一的云服务器,当前RDP文件命名规则为…

(需求实战_03) SpringBoot整合RabbitMQ 关键代码、策略、模式讲解

这篇主讲管控台和测试 文章目录一、管控台配置1. 创建交换机2. 创建队列3. 交换机绑定队列4. 交换机查看绑定关系5. 队列查看绑定关系二、项目准备2.1. 启动测试方法2.2. 清空控制台2.3.一、管控台配置 1. 创建交换机 2. 创建队列 3. 交换机绑定队列 4. 交换机查看绑定关系…

c++ vector 初始化_什么?还不懂c++vector的用法,你凭什么勇气来的!

作者:良知犹存转载授权以及围观:欢迎添加微信公众号:羽林君前言今天继续肝C,一入C深似海。越学越有意思。今天给大家带来一篇cvector的介绍,难以置信这篇文章写了我三天,不过总算整理完毕,现在分…

突发!Python再次卫冕,Java和C下降,你怎么看?

2019年转眼已经大半,在近几个月的榜单中,Python已经走上卫冕的道路,并且与Java的差距拉得更远了一些。以往与Java常呈现你追我赶之势,而这一次则是直接相差了近10%!Python的火,有目共睹。Python陆续登上了I…

NLP产品级系统设计模式

摘要: 在本文中,作者从六个方面描述了一些生产NLP系统的常见设计和部署模式。这些是团队为了使产品开发与技术、业务、战略和操作目标保持一致而必须做出的选择或权衡。 摘要:在本文中,作者从六个方面描述了一些生产NLP系统的常见…

2个vector如何合成一个_面试中如何做到不卑不亢,牢记2个要点

文│叨叨HR那点事(文章原创,版权归本作者所有,欢迎个人转发分享)面试的时候什么态度和面试官沟通?这个问题,就像一千个人眼里有一千个哈姆雷特一样,人人都有自己的意见和看法。有人说,面试嘛,当…

机器学习到底是什么?

摘要: 机器学习到底是什么东东?了解一下! 关于机器学习最简单的定义来自于Berkeley所表述的:机器学习是AI的一个分支,它探索了让计算机根据经验提高效率的方法。 为了更深刻的理解这一定义,接下来我们将对其进行拆分…

修改服务器时间报错,修改服务器时间linux

修改服务器时间linux 内容精选换一换IPv6的使用,可以有效弥补IPv4网络地址资源有限的问题。如果当前云服务器使用IPv4,那么启用IPv6后,云服务器可在双栈模式下运行,即云服务器可以拥有两个不同版本的IP地址:IPv4地址和…

windows 反弹shell_容器内反弹shell的51种姿势

什么是反弹shell?反弹shell(reverse shell),就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。reverse shell与telnet,ssh等标准shell对应,本质上是网络概念的客户…

使用Vue.js开发微信小程序:开源框架mpvue解析

戳蓝字“CSDN云计算”关注我们哦!作者 | 成全责编 | 阿秃转自 | 美团技术团队企业博客前言mpvue是一款使用Vue.js开发微信小程序的前端框架。使用此框架,开发者将得到完整的 Vue.js 开发体验,同时为H5和小程序提供了代码复用的能力。如果想将…

高并发下Java多线程编程基础

摘要: Java线程同步与异步 线程池 无锁化的实现方案 分布锁的实现方案 分享的目的: 进一步掌握多线程编程和应用的技巧,希望对大家在平时的开发中应对高并发编程有所帮助 Java线程同步与异步 1. 同步相关的方法有 wait, notify, notifyAll 2.…

deebot扫地机器人怎么清洁_扫地机器人清洁力拼杀,科沃斯机器人DEEBOT N3与小米1S对比评测...

“偷懒是第一生产力”,这句看似玩笑的话细细品味起来似乎还是有点道理,扫地机器人产业的逐渐兴盛又一次验证科技改变人们的生活方式。我自己生活中很少有时间去清扫地面,而且我是个很容易制造垃圾的人,几天不扫家里就脏乱的无法直…

机票分享第一篇 机票由何而来

要: 遥想05年刚加入飞猪,有同学问我机票搜索是怎么做的,一时间不知如何回答。转眼三年过去,为了给自己一个交代,抽时间把所负责的业务、系统、心得加以总结,才有了这几篇机票分享的文章。由于所用的技术、架…

java 获取ip地址_老杜带你学Java【第二课】

上期链接:老杜带你学Java【第一课】01写在前面欢迎来到杜老师的「零基础学Java」课堂~今后,我们就是Java软件工程师了。(此处应该有掌声???)本专题为《零基础学Java》专题,将带你学习2020年全新Java零基础教程,由杜老师亲自录制…

【光说不练假把式】今天说一说Kubernetes 在有赞的实践

戳蓝字“CSDN云计算”关注我们哦!作者 | 木鱼 on基础保障责编 | 阿秃一、背景我们为什么选择 Kubernetes?因为 Kubernetes 几乎支持所有的容器业务类型,包括无状态应用、有状态应用、任务型和 Daemonset,Kubernetes 也逐渐成为容…

Apache旗下顶级开源盛会 HBasecon Asia 2018将于8月在京举行

摘要: 作为Apache基金会旗下HBase社区的顶级用户峰会,HBaseCon大会是Apache HBase™官方从2012年开始发起和延续至今的技术会议,先后在美国加州、日本东京和中国深圳等地举办,得到了Google、Facebook、雅虎和阿里巴巴等众多全球顶…