日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(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

相关文章
|
7月前
|
编解码 应用服务中间件 Linux
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
626 1
|
11月前
|
负载均衡 应用服务中间件 nginx
Nginx配置与命令
Nginx 是一款高性能的 HTTP 和反向代理服务器,其配置文件灵活且功能强大。本文介绍了 Nginx 配置的基础结构和常用指令,包括全局块、Events 块、HTTP 块及 Server 块的配置方法,以及静态资源服务、反向代理、负载均衡、HTTPS 和 URL 重写等功能实现。此外,还提供了常用的 Nginx 命令操作,如启动、停止、重载配置和日志管理等,帮助用户高效管理和优化服务器性能。
1011 14
|
7月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
414 18
|
7月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
680 17
|
8月前
|
数据建模 应用服务中间件 PHP
配置nginx容器和php容器协同工作成功,使用ip加端口的方式进行通信
本示例演示如何通过Docker挂载同一宿主目录至Nginx与PHP容器,实现PHP项目运行环境配置。需注意PHP容器中监听地址修改为0.0.0.0:9000,并调整Nginx配置中fastcgi_pass指向正确的IP与端口。同时确保Nginx容器中/var/www/html权限正确,以避免访问问题。
配置nginx容器和php容器协同工作成功,使用ip加端口的方式进行通信
|
9月前
|
应用服务中间件 网络安全 nginx
配置Nginx以支持Websocket连接的方法。
通过上述配置,Nginx将能够理解WebSocket协议的特殊要求,代理Websocket流量到合适的后端服务器。注意,Websocket并不是HTTP,尽管它最初是通过HTTP请求启动的连接升级,因此保证Nginx了解并能够妥善处理这种升级流程是关键。
1975 10
|
8月前
|
Ubuntu 应用服务中间件 Linux
在Ubuntu上配置Nginx实现开机自启功能
至此,Nginx应该已经被正确地设置为开机自启。在Ubuntu中利用 `systemd`对服务进行管理是一种高效的方式,为系统管理员提供了强大的服务管理能力,包括但不限于启动、停止、重启服务,以及配置服务的开机自启动。通过这些简洁的命令,即使是对Linux不太熟悉的用户也能轻松地进行配置。
394 0
|
10月前
|
安全 应用服务中间件 网络安全
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
719 0
Nginx SSL/TLS协议栈中配置深度解析与实践指南-优雅草卓伊凡
|
10月前
|
JSON 前端开发 应用服务中间件
配置Nginx根据IP地址进行流量限制以及返回JSON格式数据的方案
最后,记得在任何生产环境部署之前,进行透彻测试以确保一切运转如预期。遵循这些战术,守卫你的网络城堡不再是难题。
404 3
|
消息中间件 存储 缓存
kafka 的数据是放在磁盘上还是内存上,为什么速度会快?
Kafka的数据存储机制通过将数据同时写入磁盘和内存,确保高吞吐量与持久性。其日志文件按主题和分区组织,使用预写日志(WAL)保证数据持久性,并借助操作系统的页缓存加速读取。Kafka采用顺序I/O、零拷贝技术和批量处理优化性能,支持分区分段以实现并行处理。示例代码展示了如何使用KafkaProducer发送消息。