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

本文涉及的产品
云原生网关 MSE Higress,422元/月
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 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

相关文章
|
1天前
|
前端开发 应用服务中间件 nginx
网页设计,若依项目修改(It must be done)01----若依打包位置,nginx代理前端静态资源和后端接口,就是怎样设置转载,访问固定端口,让他访问其他资料的配置文件,访问/,给你那些
网页设计,若依项目修改(It must be done)01----若依打包位置,nginx代理前端静态资源和后端接口,就是怎样设置转载,访问固定端口,让他访问其他资料的配置文件,访问/,给你那些
|
2天前
|
消息中间件 负载均衡 监控
基于kafka项目之Keepalived高可用详细介绍
基于kafka项目之Keepalived高可用详细介绍
|
2天前
|
消息中间件 NoSQL Kafka
基于Kafka的nginx日志收集分析与监控平台(3)
基于Kafka的nginx日志收集分析与监控平台(3)
|
2天前
|
消息中间件 监控 Kafka
基于Kafka的nginx日志收集分析与监控平台(2)
基于Kafka的nginx日志收集分析与监控平台(2)
|
2天前
|
消息中间件 负载均衡 应用服务中间件
基于Kafka的nginx日志收集分析与监控平台(1)
基于Kafka的nginx日志收集分析与监控平台(1)
|
2天前
|
消息中间件 NoSQL Kafka
日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(2)
日志收集平台项目nginx、kafka、zookeeper、filebeat搭建的基本配置(2)
|
8天前
|
存储 关系型数据库 MySQL
|
1天前
|
Java 测试技术 Apache
《手把手教你》系列基础篇(八十六)-java+ selenium自动化测试-框架设计基础-Log4j实现日志输出(详解教程)
【7月更文挑战第4天】Apache Log4j 是一个广泛使用的 Java 日志框架,它允许开发者控制日志信息的输出目的地、格式和级别。Log4j 包含三个主要组件:Loggers(记录器)负责生成日志信息,Appenders(输出源)确定日志输出的位置(如控制台、文件、数据库等),而 Layouts(布局)则控制日志信息的格式。通过配置 Log4j,可以灵活地定制日志记录行为。
15 4
|
2天前
|
运维 Java Apache
Java中的日志框架:Log4j与SLF4J详解
Java中的日志框架:Log4j与SLF4J详解
|
8天前
|
SQL 运维 关系型数据库