项目架构图
项目环境
Centos7服务器8台,nginx1.20.1,kafka2.12,zookeeper3.6.3,keepalived1.3.5,Prometheus,filebeat,python3.9,MySQL
项目描述
本项目旨在构建一个高可用、高性能的分布式日志收集平台,主要使用Nginx、ZooKeeper、Prometheus和Kafka来实现。该平台能够收集、处理、存储海量的日志数据,并且提供实时的监控和分析能力。它既可以集中收集应用程序日志,也可以收集系统日志,方便用户对日志进行分析、排查故障等操作。
项目步骤
-
准备8台Centos7服务器并配置好静态IP地址,安装基本软件并关闭防火墙。
-
搭建前端nginx集群, 根据需求修改nginx的配置文件,修改最大连接数,设置长连接超时时间,启用零拷贝 提升效率,修改网站家目录。
-
keepalived部署,修改配置文件设置双VIP互为主备和存活检测时间,使用加权轮训的调度算法。
-
部署三台web服务器,并进行nfs服务挂载,使用filebeat进行日志收集并转发。
-
搭建kafka集群,并使用zookeeper对kafka进行管理。
-
使用python编写一个消费者脚本,进行日志清洗 ,并将收集到的信息存入数据库中。
-
部署监控服务安装Prometheus,基于日志中的流量数据进行监控。
项目心得
从这个项目中我理解到了集群的概念,将所有计算机视为一个整体,提高性能,可用性和可拓展性。Kafka作为 一个大规模数据流处理平台,可以与其他工具结合,实现更丰富的数据分析和可视化功能。在对于消息中间件、 负载均衡及高可用有了更深的了解。