共计 2881 个字符,预计需要花费 8 分钟才能阅读完成。
由于 nginx 功能强大,性能突出,越来越多的 web 应用采用 nginx 作为 http 和反向代理的 web 服务器。而 nginx 的访问日志不管是做用户行为分析还是安全分析都是非常重要的数据源之一。如何有效便捷的采集 nginx 的日志进行有效的分析成为大家关注的问题。
本文通过几个实例来介绍如何通过 filebeat、logstash、rsyslog 采集 nginx 的访问日志和错误日志。
大家都知道 ELK 技术栈是采集、分析日志的利器。所以这里介绍的是从 nginx 采集日志到 ES。当然至于日志采集以后存到看大家的需要。通过 logstash 可以方便的配置日志输出存储的方式。
一般来说 nginx 默认安装后,日志文件在 /usr/local/nginx/logs 目录下。分别有 access.log 和 error.log 访问日志和错误日志。
这次示例 Elasitcsearch 是三个节点组成的集群 172.28.65.22、172.28.65.23、172.28.65.24,172.28.65.30 是 kibana 的地址,172.28.65.32 是数据采集服务器,上面装有 logstash、nginx、filebeat。一般来说采集服务器上有 logstash,而 nginx、filebeat 应该是装在采集目标上。
一、直接通过 filebeat 采集日志到 ES
二、通过 filebeat 采集日志到 logstash 再送到 ES
首先得安装 logstash,安装完后在 logstash 的安装目录下新建 vi filebeat-pipeline.conf,filebeat-pipeline.conf 的具体配置如下:
三、直接通过 rsyslog 采集日志到 logstash 在送到 ES
原文连接:https://www.cnblogs.com/xiejava/p/12452434.html
文章转载:DevOps 技术栈
(版权归原作者所有,侵删)