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

本文涉及的产品
云原生网关 MSE Higress,422元/月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 日志收集平台项目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

相关文章
|
4天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
85 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
27天前
|
存储 运维 监控
超越传统模型:从零开始构建高效的日志分析平台——基于Elasticsearch的实战指南
【10月更文挑战第8天】随着互联网应用和微服务架构的普及,系统产生的日志数据量日益增长。有效地收集、存储、检索和分析这些日志对于监控系统健康状态、快速定位问题以及优化性能至关重要。Elasticsearch 作为一种分布式的搜索和分析引擎,以其强大的全文检索能力和实时数据分析能力成为日志处理的理想选择。
96 6
|
9天前
|
JSON Java 数据库
SpringBoot项目使用AOP及自定义注解保存操作日志
SpringBoot项目使用AOP及自定义注解保存操作日志
26 1
|
9天前
|
消息中间件 存储 Prometheus
Kafka集群如何配置高可用性
Kafka集群如何配置高可用性
|
1月前
|
消息中间件 监控 Ubuntu
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
66 3
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
|
1月前
|
消息中间件 分布式计算 Java
大数据-73 Kafka 高级特性 稳定性-事务 相关配置 事务操作Java 幂等性 仅一次发送
大数据-73 Kafka 高级特性 稳定性-事务 相关配置 事务操作Java 幂等性 仅一次发送
27 2
|
1月前
|
消息中间件 Java 大数据
大数据-56 Kafka SpringBoot与Kafka 基础简单配置和使用 Java代码 POM文件
大数据-56 Kafka SpringBoot与Kafka 基础简单配置和使用 Java代码 POM文件
62 2
|
1月前
|
网络协议 Linux Windows
Rsyslog配置不同端口收集不同设备日志
Rsyslog配置不同端口收集不同设备日志
|
1月前
|
JavaScript 应用服务中间件 nginx
nginx部署vue项目
本文介绍了将Vue项目部署到Nginx的步骤,包括构建Vue项目、上传dist文件夹到服务器、安装Nginx、配置Nginx代理静态文件以及重启Nginx,确保了Vue应用可以通过域名或IP地址访问。
88 1
|
1月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
35 1