《日志分析平台建设方案》由会员分享,可在线阅读,更多相关《日志分析平台建设方案(6页珍藏版)》请在金锄头文库上搜索。
1、日志分析平台建设方案目录、现状和需求 2(一) 现状与问题2(二) 需求说明与分析 2二、建设目标2三、系统设计 2(一)技术选型2(二)系统架构21. 架构图32. 架构分析3(三)系统介绍3四、实施方案4(一)系统配置41. 软件42. 硬件4(二)系统搭建4现状和需求(一)现状与问题1. 日志文件分散在各个应用服务器,开发人员必须远程登录才能查看日志,不利于 服务器安全管控,加大生产服务器的风险;2. 服务器上各项目日志配置很随意,文件分布杂乱,没有统一的规范和管理;3. 日志文件占用服务器大量的硬盘空间,如不及时清理会发生硬盘占满,影响系统 的正常运行;4. 对于超过百兆的日志文件根本
2、没法打开和关键字搜索,不利于问题的快速定位和排查;5. 集群和分布式的系统需要查看多个服务器的日志6. 日志保存的时间不统一,不能长时间保存日志(二)需求说明与分析1. 不需要开发人员登录生产服务器就能查看日志;2. 统一规范日志的配置和输出格式;3. 实时的将日志文件从服务器中迁出;4. 提供日志的检索和统计分析的平台;建设目标方便开发人员快速的检索日志,排查问题,搭建支持高并发高可靠的日志分析平台, 同时提供友好的分析和统计的界面。三、系统设计(一)技术选型针对这些问题,为了提供分布式的实时日志搜集和分析的监控系统,我们采用了业界通用的日志数据管理解决方案-它主要包括 Elasticsea
3、rch、 Logstash和Kibana三个系统。通常,业界把这套方案简称为ELK,取三个系统的首字母。调研了ELK技术栈,发现新一代的logstash-forward 即 Filebeat,使用了 golang,性能超 logstash,部署简单,占用资源少,可以很方便的和logstash和ES对接,作为日志文件采集组件。所以决定使用ELK+Filebeat的架构进行平台搭建。为了支持日志的高并发和高可靠需要进了消息队列(MQ),这里选择了 kafka,相对其他消息中间件,kafka有支持大并发,快速持久化等优点,而且 ELK+Filebeat对kafka的兼 容性也很好。的架构搭最终,我们
4、采用 Elasticsearch+Logstash+Kibana+Filebeat+Kafka+Zookeeper建日志分析平台。(二)系统架构-FF-r-F-FFFL-FF -FFFF 一 扌(Ptl彳FFFF-Fr*F-FFFr*-1. 架构图Web聖勢嵩轟曲&L Flteiiaat2. 架构分析第一层、数据采集层最左边的是业务服务器集群,上面安装了filebeat做日志采集,同时把采集的日志分别发送给两个logstash服务。第二层、数据处理层,数据缓存层logstash 服务把接受到的日志经过格式处理,转存到本地的 kafkabroker+zookeeper 集群中。第三层、数据转发层
5、这个单独的Logstash节点会实时去 kafka broker集群拉数据,转发至ES DataNode。第四层、数据持久化存储ES DataNode会把收到的数据,写磁盘,建索引库。第五层、数据检索,数据展示ES Master + Kibana主要协调ES集群,处理数据检索请求,数据展示。(三)系统介绍1. Elasticsearch :分布式搜索和分析引擎,具有高可伸缩、高可靠和易管理等特点。基于 Apache Lucene构建,能对大容量的数据进行接近实时的存储、搜 索和分析操作。通常被用作某些应用的基础搜索引擎,使其具有复杂的搜索功能;2. Logstash :数据收集额外处理和数据引
6、擎。它支持动态的从各种数据源搜集数 据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置;3. Kibana :数据分析和可视化平台。通常与 Elasticsearch配合使用,对其中数 据进行搜索、分析和以统计图表的方式展示;-FFF.EF-FFFF -一扌f (TtJ WDT d FFFF-FF* .八- F- F.F 4. Filebeat : ELK协议栈的新成员,在需要采集日志数据的server上安装Filebeat,并指定日志目录或日志文件后,Filebeat就能读取数据,迅速发送到Logstash进行解析,亦或直接发送到Elasticsearch进行集中式存
7、储和分析。5. Kafka :数据缓冲队列。作为消息队列解耦了处理过程,同时提高了可扩展性。具有峰值处理能力,使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃。6. Zookeeper :是一种在分布式系统中被广泛用来作为:分布式状态管理、分布式协调管理、分布式配置管理、和分布式锁服务的集群。kafka增加和减少服务器都会在Zookeeper节点上触发相应的事件 kafka系统会捕获这些事件,进行新一轮的负载均衡,客户端也会捕获这些事件来进行新一轮的处理。四、实施方案(一)系统配置1. 软件JDK 1.82. 硬件4台内网linux服务器,centos7系统;配置要求:内存: 3*4G+8G,硬盘:3*20G+500G,10M带宽;独立的外网域名(二)系统搭建具体的ELKF+kafka集群搭建请参考:elk日志分析系统(一)elk日志分析系统(二) 科為 Mnf