【实践】使用Nginx作为GrayLog日志接入的负载均衡

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
日志服务 SLS,月写入数据量 50GB 1个月
简介: 【实践】使用Nginx作为GrayLog日志接入的负载均衡

如下图所示

(图片点击放大查看)

在Graylog集群环境上,日志源将日志发送到负载均衡,由负载均衡来分配日志发送到GrayLog具体哪个节点上,实现各节点接入能力和处理能力平衡均分

(图片点击放大查看)

下面采用nginx作为GrayLog 日志接入的负载均衡

1、配置nginx 的yum源

参考nginx官方文档

http://nginx.org/en/linux_packages.html#RHEL

具体命令如下

vim /etc/yum.repos.d/nginx.repo
添加如下行
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=0
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

(图片点击放大查看)

安装nginx

yum install nginx --enablerepo=nginx-stable --disablerepo=epel

(图片点击放大查看)

(图片点击放大查看)

2、配置nginx下stream配置文件

vim /etc/nginx/nginx.conf 
将http字段中的include /etc/nginx/conf.d/*.conf;移到上方

(图片点击放大查看)

然后

cd /etc/nginx/conf.d/
mv default.conf /opt
vim  graylog_stream.conf

添加如下行

stream {
      log_format streamlog_json escape=json 
                     '{"timestamp":"$time_iso8601",'
                     '"remote_addr":"$remote_addr",' 
                     '"protocol":"$protocol",' 
                     '"status":"$status",' 
                     '"bytes_sent":"$bytes_sent",' 
                     '"bytes_received":"$bytes_received",'
                     '"session_time":"$session_time",' 
                     '"upstream_addr":"$upstream_addr",'
                     '"upstream_bytes_sent":"$upstream_bytes_sent",' 
                     '"upstream_bytes_received":"$upstream_bytes_received",'
                     '"upstream_connect_time":"$upstream_connect_time"'
                     '}';
      access_log /var/log/nginx/stream-access.log  streamlog_json ;
      access_log  syslog:server=10.10.253.101:2514 streamlog_json ;
      open_log_file_cache off;
      upstream graylog_servers{
        server 10.10.253.101:9000;
        server 10.10.253.102:9000 backup;
        server 10.10.253.103:9000 backup;
      }
      server {
        listen       9000;
        proxy_pass   graylog_servers;
      }
      upstream server_input1_switchlog {
          server 10.10.253.101:1515;
          server 10.10.253.102:1515;
          server 10.10.253.103:1515;
      }
      server {
         listen 1515 udp;
         proxy_pass server_input1_switchlog;
      }
      upstream server_input2_firewall-log {
        server 10.10.253.101:1514;
        server 10.10.253.102:1514;
        server 10.10.253.103:1514;
      }
      server {
            listen 1514 udp;
            proxy_pass server_input2_firewall-log;
      }
}

3、启动nginx服务

systemctl enable nginx
systemctl start nginx
firewall-cmd --add-port=1514/udp --permanent 
firewall-cmd --add-port=1515/udp --permanent 
firewall-cmd --add-port=9000/tcp --permanent 
firewall-cmd --reload

(图片点击放大查看)

这样就可以用nginx来实现接入日志时的负载均衡效果

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
30天前
|
负载均衡 算法 搜索推荐
Nginx 常用的负载均衡算法
【10月更文挑战第17天】在实际应用中,我们需要根据具体的情况来选择合适的负载均衡算法。同时,还可以结合其他的优化措施,如服务器健康检查、动态调整权重等,来进一步提高负载均衡的效果和系统的稳定性。
113 59
|
1月前
|
Rust 前端开发 JavaScript
Tauri 开发实践 — Tauri 日志记录功能开发
本文介绍了如何为 Tauri 应用配置日志记录。Tauri 是一个利用 Web 技术构建桌面应用的框架。文章详细说明了如何在 Rust 和 JavaScript 代码中设置和集成日志记录,并控制日志输出。通过添加 `log` crate 和 Tauri 日志插件,可以轻松实现多平台日志记录,包括控制台输出、Webview 控制台和日志文件。文章还展示了如何调整日志级别以优化输出内容。配置完成后,日志记录功能将显著提升开发体验和程序稳定性。
74 1
Tauri 开发实践 — Tauri 日志记录功能开发
|
21天前
|
存储 运维 监控
开源日志Graylog
【10月更文挑战第21天】
71 8
|
1月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
158 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
26天前
|
负载均衡 算法 应用服务中间件
Nginx 常用的负载均衡算法
【10月更文挑战第22天】不同的负载均衡算法各有特点和适用场景。在实际应用中,需要根据具体的业务需求、服务器性能和网络环境等因素来选择合适的算法。
33 3
|
30天前
|
负载均衡 监控 应用服务中间件
除了 Nginx,还有以下一些常见的负载均衡工具
【10月更文挑战第17天】这些负载均衡工具各有特点和优势,在不同的应用场景中发挥着重要作用。选择合适的负载均衡工具需要综合考虑性能、功能、稳定性、成本等因素。
|
1月前
|
负载均衡 应用服务中间件 nginx
Nginx的6大负载均衡策略及权重轮询手写配置
【10月更文挑战第9天】 Nginx是一款高性能的HTTP服务器和反向代理服务器,它在处理大量并发请求时表现出色。Nginx的负载均衡功能可以将请求分发到多个服务器,提高网站的吞吐量和可靠性。以下是Nginx支持的6大负载均衡策略:
159 7
|
1月前
|
负载均衡 算法 Java
腾讯面试:说说6大Nginx负载均衡?手写一下权重轮询策略?
尼恩,一位资深架构师,分享了关于负载均衡及其策略的深入解析,特别是基于权重的负载均衡策略。文章不仅介绍了Nginx的五大负载均衡策略,如轮询、加权轮询、IP哈希、最少连接数等,还提供了手写加权轮询算法的Java实现示例。通过这些内容,尼恩帮助读者系统化理解负载均衡技术,提升面试竞争力,实现技术上的“肌肉展示”。此外,他还提供了丰富的技术资料和面试指导,助力求职者在大厂面试中脱颖而出。
腾讯面试:说说6大Nginx负载均衡?手写一下权重轮询策略?
|
1月前
|
缓存 负载均衡 算法
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个通用的 TCP/UDP 代理服务器,以及一个邮件代理服务器和通用的 HTTP 缓存服务器。
74 0
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
|
1月前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
44 1
下一篇
无影云桌面