ELK体系部署文档(elk+filebeat+redis)

本文详细介绍如何在单台服务器上部署ELK(Elasticsearch, Logstash, Kibana)堆栈,实现从日志收集到展示的全过程。包括修改Nginx日志格式、部署Filebeat、Redis、Logstash及Elasticsearch,并最终通过Kibana展示日志数据。

该教程只提供简单部署,如果需要深入了解,可以查看官方文档
https://www.elastic.co/guide/index.html

为了方便演示,此处采用单台服务器进行部署,服务器资源至少需要2核4G

系统架构:
在这里插入图片描述

1、传统部署

我们先部署一个nginx、用来模拟业务日志

1、部署、测试
yum -y install nginx
systemctl start nginx
curl 127.0.0.1
tail /var/log/nginx/access.log

2、修改nginx日志格式
nginx日志默认格式为log格式,传输到es中需要经过grok插件进行处理并转换成json格式,这一过程是很消耗logstash资源的,而且传入到es中的字段并不容易分析,所以在收集端先将日志转为json格式,再传入es中去,这样传入的字段也是利于分析的。
编辑nginx配置文件

vim /usr/local/nginx/conf/nginx.conf   #修改主配置文件,定义日志格式
---------------------------------------------------------
log_format json '{ "@timestamp": "$time_iso8601", '
                         '"time": "$time_iso8601", '
                         '"clientip": "$remote_addr", '
                         '"remote_user": "$remote_user", '
                         '"body_bytes_sent": "$body_bytes_sent", '
                         '"request_time": "$request_time", '
                         '"status": "$status", '
                         '"host": "$host", '
                         '"request": "$request", '
                         '"request_method": "$request_method", '
                         '"uri": "$uri", '
                         '"http_referrer": "$http_referer", '
                         '"body_bytes_sent":"$body_bytes_sent", '
                         '"http_x_forwarded_for": "$http_x_forwarded_for", '
                         '"http_user_agent": "$http_user_agent" '
                    '}';
access_log /var/log/nginx/io.log json ;
------------------------------
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值