该教程只提供简单部署,如果需要深入了解,可以查看官方文档
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 ;
------------------------------

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

被折叠的 条评论
为什么被折叠?



