日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(1)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
日志服务 SLS,月写入数据量 50GB 1个月
简介: 日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(1)

1、环境准备

1.1 准备好三台虚拟机搭建nginx和kafka集群。

1.2 配置好静态ip地址(尽量使用NAT模式)

为了统一,我的使用的是桥接模式。
1、先准备三台虚拟机:

2、然后修改为桥接模式(三台要统一修改)。

在箭头处点击设置:

3、现在要进行静态ip地址的设置:

①先查看ip地址:ip a

②然后查看网关是多少:ip r

[root@nginx-kafka01 ~]# ip a
[root@nginx-kafka01 ~]# ip r

③配置好dns:

[root@nginx-kafka03 ~]# cat /etc/resolv.conf
  # Generated by NetworkManager
  nameserver 114.114.114.114

④编辑网卡配置文件:

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

dns解析:

1、浏览器的缓存

2、本地hosts文件—Linux(/etc/hosts)

3、找本地域名服务器—Linux(/etc/resolv.conf)

1.3 修改主机名:三台都需要修改,然后进行序号01、02、03

第一台虚拟机

[root@nginx-kafka01 etc]# vim  hostname
[root@nginx-kafka01 etc]# cat hostname
nginx-kafka01

第二台虚拟机

[root@nginx-kafka02 etc]# vim hostname
[root@nginx-kafka02 etc]# cat hostname
nginx-kafka02

第三台虚拟机

[root@nginx-kafka03 etc]# vim hostname
[root@nginx-kafka03 etc]# cat hostname
nginx-kafka03

1.4 每一台机器上都写好域名解析

ip地址根据自己的进行添加,比如我的是:192.168.0.94、192.168.0.95 、 192.168.0.96

vim  /etc/hostname
192.168.0.94  nginx-kafka01
192.168.0.95  nginx-kafka02
192.168.0.96  nginx-kafka03

1.5 安装基本软件

yum install wget lsof vim -y

1.6 安装时间同步服务

yum -y install chrony
systemctl enable chronyd 设置为开机自启
扩展知识:disable:为开机不自启、关闭开机自启。

设置时区:

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

1.7 关闭防火墙

[root@nginx-kafka01 ~]# systemctl stop firewalld
[root@nginx-kafka01 ~]# systemctl disable firewalld

关闭selinux服务

将/etc/selinux/config文件里的SELINUX设置为disabled

vim /etc/selinux/config
SELINUX=disabled

selinux关闭之后,需要重启机器。

selinux是什么呢?

selinux是Linux内核里一个跟安全相关的子系统,一般日常工作里都是关闭的。

2 、nginx搭建

2.1 安装好epel源:

yum install epel-release -y

2.2 安装nginx

yum install nginx -y

2.3 启动nginx

systemctl start nginx

2.4 设置为开机自启

[root@nginx-kafka01 system]# systemctl enable nginx

Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

设置开机自启之后,会在/etc/systemd/system/multi-user.target.wants下创建一个nginx.service文件。

2.5 编辑配置文件

[root@nginx-kafka01 ~]# cd /etc/nginx/

[root@nginx-kafka01 nginx]# ls

conf.d fastcgi.conf.default koi-utf mime.types.default scgi_params uwsgi_params.default

default.d fastcgi_params koi-win nginx.conf scgi_params.default win-utf

fastcgi.conf fastcgi_params.default mime.types nginx.conf.default uwsgi_params

其中nginx的主配置文件为:nginx.conf
vim nginx.conf :

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/
 # 全局块
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
#events块
events {  
    worker_connections 1024;
}
#http块
http {   #http全局块
#log_format 日志格式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
  
  #日志存放文件
    access_log  /var/log/nginx/access.log  main;  
    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;
    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;
    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
#serevr块
    server {   #server全局块
        listen       80;
        listen       [::]:80;
        server_name  _;
        root         /usr/share/nginx/html;
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
        error_page 404 /404.html;
        location = /404.html {  # location块
        }
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }
    }
# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2;
#        listen       [::]:443 ssl http2;
#        server_name  _;
#        root         /usr/share/nginx/html;
#     #http全局块
#        ssl_certificate "/etc/pki/nginx/server.crt";
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers HIGH:!aNULL:!MD5;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        error_page 404 /404.html;
#            location = /40x.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    }
}

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

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

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

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

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

2.6 修改配置文件

vim nginx.conf

将 :

listen 80 default_server;

修改成:

listen 80;

虚拟主机的配置:

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

server {
    listen 80 default_server;  #监听的端口
    server_name  www.sc.com;  
    #使用域名访问,使用www.sc.com进行访问,就往下执行。
    #但是如果使用ip地址访问的话,会去执行绑定的server下的default
    root         /usr/share/nginx/html;    #存放网页的根目录
    access_log  /var/log/nginx/sc/access.log main;  #日志存放路径
    location  / {
    }
}
#可以添加多个
server {
    listen 80 default_server;  #监听的端口
    server_name  www.sc2.com;  #使用域名访问
    root         /usr/share/nginx/html;
    access_log  /var/log/nginx/sc/access.log main;
    location  / {
    }
}

修改文件之后需要重新加载或者重启服务器。

2.7 语法检测

[root@nginx-kafka01 html]# nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: [emerg] open() “/var/log/nginx/sc/access.log” failed (2: No such file or directory)

nginx: configuration file /etc/nginx/nginx.conf test failed

如果出现说创建失败,需要先新建sc文件夹:

[root@nginx-kafka01 html]# mkdir /var/log/nginx/sc

[root@nginx-kafka01 html]# nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

重新加载nginx

nginx -s reload

nginx做web网站的话,它只能支持静态网页,所以nginx用于做反向代理和负载均衡。

然后查看nginx服务是否启动,可以去网站上输入自己的ip地址:

就会出现以下页面,表示启动成功:

或者直接在命令行输入:curl + 同一网段的其他ip地址:

root@nginx-kafka01 nginx]# curl 192.168.2.33

this is sc

welcome

hlhdlfhsdlkjhsdkjhfsdjk

访问成功之后,nginx的日志文件之中就会多一条访问记录:可以看到最后一行多了一条访问记录:

[root@nginx-kafka01 etc]# cat /var/log/nginx/access.log
192.168.2.123 - - [15/Jul/2022:11:49:28 +0800] "GET / HTTP/1.1" 200 615 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.49" "-"
192.168.2.123 - - [15/Jul/2022:11:49:28 +0800] "GET /favicon.ico HTTP/1.1" 404 555 "http://192.168.2.152/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.49" "-"
192.168.2.123 - - [15/Jul/2022:11:51:21 +0800] "GET /sc.html HTTP/1.1" 200 16 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.49" "-"
192.168.2.33 - - [15/Jul/2022:11:56:36 +0800] "GET / HTTP/1.1" 200 615 "-" "curl/7.29.0" "-"
192.168.2.123 - - [15/Jul/2022:12:02:38 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.49" "-"
192.168.2.123 - - [15/Jul/2022:12:04:15 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.49" "-"
192.168.2.33 - - [15/Jul/2022:12:17:08 +0800] "GET / HTTP/1.1" 200 615 "-" "curl/7.29.0" "-"

curl是什么?

curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。


日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(2)+https://developer.aliyun.com/article/1557832

相关文章
|
13天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
121 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
1月前
|
消息中间件 运维 算法
Kafka 为什么要抛弃 Zookeeper?
本文探讨了Kafka为何逐步淘汰ZooKeeper。长久以来,ZooKeeper作为Kafka的核心组件,负责集群管理和协调任务。然而,随着Kafka的发展,ZooKeeper带来的复杂性增加、性能瓶颈及一致性问题日益凸显。为解决这些问题,Kafka引入了KRaft,这是一种基于Raft算法的内置元数据管理方案,不仅简化了部署流程,还提升了系统的一致性和扩展性。本文详细分析了这一转变背后的原因及其带来的优势,并展望了Kafka未来的发展方向。
107 1
|
1月前
|
消息中间件 监控 Ubuntu
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
75 3
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
|
1月前
|
自然语言处理 应用服务中间件 程序员
Nginx UI:全新的 Nginx 在线管理平台
Nginx UI:全新的 Nginx 在线管理平台
|
1月前
|
存储 消息中间件 大数据
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
35 4
|
1月前
|
存储 消息中间件 大数据
大数据-70 Kafka 高级特性 物理存储 日志存储 日志清理: 日志删除与日志压缩
大数据-70 Kafka 高级特性 物理存储 日志存储 日志清理: 日志删除与日志压缩
39 1
|
1月前
|
存储 消息中间件 大数据
大数据-68 Kafka 高级特性 物理存储 日志存储概述
大数据-68 Kafka 高级特性 物理存储 日志存储概述
26 1
|
1月前
|
网络协议 Linux Windows
Rsyslog配置不同端口收集不同设备日志
Rsyslog配置不同端口收集不同设备日志
|
1月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
47 1
|
1月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
38 1