基于kafka,zookeeper实现的日志收集平台搭建

1.项目简介

时间:2022年7月    项目人员:3人
项目环境:centos7(9台,1核2G), kafka(2.12) ,nginx, filebeat, zookeeper(3.6.3), python3.6, mysql
项目描述:分别使用3台Linux服务器来作为nginx集群搭建前端web服务,kafka集群和zookeeper集群,2台Linux机器做反向代理集群。通过filebeat收集前端nginx集群的访问日志,统一存入kafka集群平台,部署zookeeper集群来对kafka进行配置管理,通过python编写消费者对nginx的log日志做数据清洗,获取流量信息存入mysql数据库。
 

 2.项目步骤

      1.规划整个项目的拓扑结构和思维导图
      2、搭建nginx集群作为前端web服务
      3、搭建kafka集群实现日志的统一收集
      4.搭建zookeeper集群实现来对kafka集群进行配置管理
      5、搭建filebeat,调试生产者和消费者
      6、通过python编写消费者,通过IP调用淘宝接口将省份,运营商等信息爬取下来
      7.清洗nginx日志,收集带宽信息存入数据库
      8、创建分布式任务基于流量进行告警监控

3.项目部署

1.环境准备

1.准备好9台Linux机器(1核2G)

2.配置好静态ip地址(我使用的是桥接模式,在同一个局域网内可以和其他Linux机器通信)

vim /etc/sysconfig/network-scripts/ifcfg-ens33

3.配置好本地DNS服务器(114.114.114.114)

vim /etc/resolv.conf

4.修改主机名(推荐用下面的方式,修改了HOSTNAME变量的值,同时也修改了/etc/hostname文件里的内容,永久生效)

hostnamectl  set-hostname  +主机名

5.每一台机器上都写好域名解析(方便后续直接用主机名进行操作)

vim  /etc/hosts

ps:DNS解析的顺序

      1、浏览器的缓存
      2、本地hosts文件  --linux(/etc/hosts)
      3、找本地域名服务器  -- linux(/etc/resolv.conf)

6.安装基本软件(wget是用于获取web的数据,chronyd是时间同步服务)

yum install wget lsof vim -y
yum -y install chrony

7.开启chronyd服务,关闭防火墙服务和selinux(防止防火墙影响主机之间的通信)

systemctl enable chronyd
systemctl start chronyd
systemctl stop firewalld
systemctl disable firewalld

关闭selinux:vim /etc/selinux/config,设置SELINUX=disabled

2.nginx搭建

1.安装好epel源和nginx服务

yum install epel-release -y
yum install  nginx -y

2. 启动nginx并设置为开机自启

systemctl start nginx
systemctl enable nginx

3.编辑配置文件

vim /etc/nginx/nginx.conf
将 
   listen       80 default_server;
修改成:
   listen       80;

ps:对于.conf文件的配置做一个简介

全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。

events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。

http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义,是否使用sendfile传输文件,连接超时时间,单连接请求数等。

server块:配置虚拟主机的相关参数,一个http中可以有多个server。

location块:配置请求的路由,以及各种页面的处理情况

4.自定义一个server用来检测

ps:后面搭建filebeat时就是收集/var/log/nginx/sc/access.log下的日志

vim  /etc/nginx/conf.d/sc.conf

server {
    listen 80 default_server;
    server_name  www.sc.com;
    #html源代码文本路径    
    root         /usr/share/nginx/html;
    #访问日志的保存路径
    access_log  /var/log/nginx/sc/access.log main;

    location  / {

    }
}

5.语法检测

nginx -t

6.重新加载nginx服务

nginx -s  r
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月昭昭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值