项目实战 :基于kafka的web日志收集平台

日志收集分析平台

完整架构图

日志收集平台流程图.png

一、环境准备

1.准备好3台虚拟机搭建nginx和kafka集群

2.修改三台机器的主机名

# 永久修改主机名 或者也可以选择修改/etc/hostname文件
[root@wh ~]# hostnamestl set-hostname nginx-kafka01
# 重新登录,加载主机名
[root@nginx-kafka01 ~]# su 
[root@nginx-kafka02 ~]# hostnamestl set-hostname nginx-kafka02
[root@nginx-kafka03 ~]# hostnamestl set-hostname nginx-kafka03

3.配置ip地址和dns(步骤可参考手工配置ip地址https://blog.csdn.net/weixin_50426379/article/details/125790311?spm=1001.2014.3001.5501)

dhcp动态分配ip地址,重启之后ip地址可能会发生变化,这样导致后面的配置文件里面的ip也要修改,会比较麻烦

[root@nginx-kafka01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 
BOOTPROTO="none"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.72.130
PREFIX=24
GATEWAY=192.168.72.2
DNS1=114.114.114.114
[root@nginx-kafka02 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO="none"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.72.129
PREFIX=24
GATEWAY=192.168.72.2
DNS1=114.114.114.114
[root@nginx-kafka03 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO="none"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.72.140
PREFIX=24
GATEWAY=192.168.72.2
DNS1=114.114.114.114

[root@nginx-kafka01 ~]# cat /etc/resolv.conf
; generated by /usr/sbin/dhclient-script
search localdomain 168.72.137
nameserver 114.114.114.114
# /etc/resolv.conf 指定本地域名服务器114.114.114.114

4.每台机器上都写好域名解析

[root@nginx-kafka01 ~]# cat /etc/hosts #本地ip和域名的映射关系
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.72.130 nginx-kafka01  # ip 主机名 的格式
192.168.72.129 nginx-kafka02
192.168.72.140 nginx-kafka03

# DNS解析过程:
1. 浏览器的缓存
2. 本地的hosts文件  --linux /etc/hosts
3. 请求本地域名服务器  --linux /etc/resolv.conf

5.每台机器上都安装基本软件

[root@nginx-kafka01 ~]# yum install wget lsof vim -y

6.每台机器上都安装时间同步服务

yum -y install chrony     # 安装chrony
systemctl enable chronyd  # 设置chrony为开机启动,disable关闭开机自启
systemctl start chronyd   # 开启chronyd服务 
# 设置时区
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 如果是同一文件就不用复制了

7.关闭防火墙和selinux

[root@nginx-kafka01 ~]# systemctl stop firewalld 
[root@nginx-kafka01 ~]# systemctl disable firewalld
# 关闭selinux:
[root@nginx-kafka01 ~]# vim /etc/selinux/config
# 修改下面这行配置
SELINUX=disabled

# selinux关闭 需要重启机器

# selinux 是linux系统内核里一个跟安全相关的子系统
# 规则非常繁琐,一般日常工作里都是关闭的
selinux有三种模式
enforcing   强制模式,必须按照规则
permissive  宽容模式,有的允许,有的不允许
disabled    关闭模式,关闭所有selinu规则

# 查看是否生效
[root@nginx-kafka01 ~]# getenforce
Disabled

二、nginx搭建

1.安装好epel源和nginx:

[root@nginx-kafka01 ~]# yum install epel-release -y
[root@nginx-kafka01 ~]# yum install  nginx -y

2.启动nginx

# 启动
[root@nginx-kafka01 ~]# systemctl start nginx
设置开机自启
[root@nginx-kafka01 ~]# systemctl enable nginx
# 查看开机自启的服务
[root@nginx-kafka01 nginx]# cd /etc/systemd/system/multi-user.target.wants/
[root@nginx-kafka01 multi-user.target.wants]# ls
nginx.service

3.编辑配置文件


                
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
你好!感谢你的提问。Kafka和Spring Boot是一对非常流行的组合,用于构建实时数据流处理应用程序。下面是一个基于Kafka和Spring Boot的实战项目示例: 项目名称:实时日志处理系统 描述:该项目使用Kafka作为消息队列,Spring Boot作为应用程序框架,实现实时日志收集、处理和展示。 步骤: 1. 配置Kafka:安装和配置Kafka集群,创建一个或多个主题用于接收日志消息。 2. 创建Spring Boot应用程序:使用Spring Initializr创建一个新的Spring Boot项目,添加所需的依赖项,如Spring Kafka、Spring Web等。 3. 配置Kafka生产者:在应用程序中配置一个Kafka生产者,用于将日志消息发送到Kafka主题。 4. 配置Kafka消费者:创建一个Kafka消费者,用于从Kafka主题中接收日志消息,并进行相应的处理,如日志存储、实时分析等。 5. 实现日志收集:在应用程序中编写代码,将日志消息发送到Kafka生产者。 6. 实现日志处理:编写消费者逻辑,对接收到的日志消息进行处理和分析。 7. 展示结果:使用Spring Boot创建一个简单的Web界面,展示实时处理结果,如统计信息、图表等。 8. 测试和部署:对应用程序进行测试,并将其部署到适当的环境中,确保系统的稳定性和可靠性。 这是一个简单的示例项目,你可以根据实际需求进行扩展和优化。希望能对你有所帮助!如果有任何疑问,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值