- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
日志分析平台建设方案
目录
TOC \o 1-3 \h \z \u 一、 现状和需求 1
(一) 现状与问题 1
(二) 需求说明与分析 1
二、 建设目标 1
三、 系统设计 1
(一) 技术选型 1
(二) 系统架构 2
1. 架构图 2
2. 架构分析 2
(三) 系统介绍 2
四、 实施方案 3
(一) 系统配置 3
1. 软件 3
2. 硬件 3
(二) 系统搭建 4
现状和需求
现状与问题
日志文件分散在各个应用服务器,开发人员必须远程登录才能查看日志,不利于服务器安全管控,加大生产服务器的风险;
服务器上各项目日志配置很随意,文件分布杂乱,没有统一的规范和管理;
日志文件占用服务器大量的硬盘空间,如不及时清理会发生硬盘占满,影响系统的正常运行;
对于超过百兆的日志文件根本没法打开和关键字搜索,不利于问题的快速定位和排查;
集群和分布式的系统需要查看多个服务器的日志
日志保存的时间不统一,不能长时间保存日志
需求说明与分析
不需要开发人员登录生产服务器就能查看日志;
统一规范日志的配置和输出格式;
实时的将日志文件从服务器中迁出;
提供日志的检索和统计分析的平台;
建设目标
搭建支持高并发高可靠的日志分析平台,方便开发人员快速的检索日志,排查问题,同时提供友好的分析和统计的界面。
系统设计
技术选型
针对这些问题,为了提供分布式的实时日志搜集和分析的监控系统,我们采用了业界通用的日志数据管理解决方案 - 它主要包括 Elasticsearch 、 Logstash 和 Kibana 三个系统。通常,业界把这套方案简称为ELK,取三个系统的首字母。调研了ELK技术栈,发现新一代的logstash-forward即Filebeat,使用了golang,性能超logstash,部署简单,占用资源少,可以很方便的和logstash和ES对接,作为日志文件采集组件。所以决定使用ELK+Filebeat的架构进行平台搭建。
为了支持日志的高并发和高可靠需要进了消息队列(MQ),这里选择了kafka,相对其他消息中间件,kafka有支持大并发,快速持久化等优点,而且ELK+Filebeat对kafka的兼容性也很好。
最终,我们采用Elasticsearch+ Logstash+ Kibana+ Filebeat+ Kafka+ Zookeeper的架构搭建日志分析平台。
系统架构
架构图
架构分析
第一层、数据采集层
最左边的是业务服务器集群,上面安装了filebeat做日志采集,同时把采集的日志分别发送给两个logstash服务。
第二层、数据处理层,数据缓存层
logstash服务把接受到的日志经过格式处理,转存到本地的kafka broker+zookeeper?集群中。
第三层、数据转发层
这个单独的Logstash节点会实时去kafka broker集群拉数据,转发至ES DataNode。
第四层、数据持久化存储
ES DataNode?会把收到的数据,写磁盘,建索引库。
第五层、数据检索,数据展示
ES Master + Kibana?主要 协调?ES集群,处理数据检索请求,数据展示。
系统介绍
Elasticsearch:分布式搜索和分析引擎,具有高可伸缩、高可靠和易管理等特点。基于 Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作。通常被用作某些应用的基础搜索引擎,使其具有复杂的搜索功能;
Logstash:数据收集额外处理和数据引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置;
Kibana:数据分析和可视化平台。通常与 Elasticsearch 配合使用,对其中数据进行搜索、分析和以统计图表的方式展示;
Filebeat:ELK 协议栈的新成员,在需要采集日志数据的 server 上安装 Filebeat,并指定日志目录或日志文件后,Filebeat 就能读取数据,迅速发送到 Logstash 进行解析,亦或直接发送到 Elasticsearch 进行集中式存储和分析。
Kafka: 数据缓冲队列。作为消息队列解耦了处理过程,同时提高了可扩展性。具有峰值处理能力,使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃。
Zookeeper:是一种在分布式系统中被广泛用来作为:分布式状态管理、分布式协调管理、分布式配置管理、和分布式锁服务的集群。kafka增加和减少服务器都会在Zookeeper节点上触发相应的事件kafka系统会捕获这些事件,进行新一轮的负载均衡,客户端也会
原创力文档


文档评论(0)