Filebeat 采集 Nginx 日志的方法


Posted in Servers onMarch 31, 2021

Nginx 日志可用于分析用户地址位置,行为画像等,如何通过 Elastic Stack 进行一站式的数据采集,数据清洗,数据落地,数据可视化,让数据发挥真正的价值呢?

架构设计

涉及到 Elastic Stack 中 Filebeat 是用于采集 Nginx 相关的日志, Elasticsearch 是用于对于数据落地存储和搜索的引擎, Kibana 是用于对数据可视化的工具。

在 Nginx 中相关的日志是存储在 /var/log/nginx 目录下的,分别是访问日志 access.log,错误日志 error.log。

Filebeat 采集 Nginx 日志的方法

如果是裸机环境下,可以直接在同一主机下安装 Filebeat 针对日志文件进行采集。
如果是 Docker 环境下,建议 Nginx 使用 Volume 的方式进行共享日志文件给 Filebeat 采集。
如果是 Kubernetes 环境下,建议在 Pod 中添加 Filebeat Container进行对 PV 采集。

针对不同场景有不同的采集方案,有些可以利用Daemonset采集宿主机上的日志,有些是以Sidecar方式进行采集,具体视业务场景而定。

实施方法

以 Docker 环境下为例

Nginx

创建存储卷,便于 Nginx 和 Filebeat 容器共同挂载
docker volume create nginx-log-volume

启动 Nginx 容器,并且将存储卷映射到日志目录
docker run -d --name nginx -p 80:80 -v nginx-log-volume:/var/log/nginx nginx:latest

进入容器修改配置
docker exec -it nginx /bin/bash

由于容器环境下,默认的日志会输入到stdout,所以取消该设置并指定文件
unlink /var/log/nginx/access.log
unlink /var/log/nginx/error.log
touch /var/log/nginx/access.log /var/log/nginx/error.log
nginx -s reload

Filebeat

启动 Filebeat 容器,并且将存储卷映射到数据目录
docker run -d --name filebeat --user=root -v nginx-log-volume:/data elastic/filebeat:7.9.2

进入容器修改配置
docker exec -it filebeat /bin/bash

修改配置,添加 Elasticsearch 和 Kibana 的主机
vi filebeat.yml

filebeat.config:
 modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false

processors:
 - add_cloud_metadata: ~
 - add_docker_metadata: ~

output.elasticsearch:
 hosts: 'elasticsearch:9200'
 username: "elastic"
 password: "xxx"
setup.kibana:
 host: "kibana:5601"

 

启用 Nginx 采集模块

filebeat modules enable nginx

编辑 Nginx 采集配置
vi modules.d/nginx.yml

- module: nginx
 access:
  enabled: true
  var.paths: ["/data/access.log*"]
 error:
  enabled: true
  var.paths: ["/data/error.log*"]

 

设置 Filebeat 创建 Kibana上的 Index Pattern 和 Dashboard
filebeat setup

重启 Filebeat 生效配置
docker restart filebeat

可视化展示

通过 Kibana 中的 Dashboard 功能
展示 Nginx 对于日志的访问情况及用户地址位置、浏览器信息

Filebeat 采集 Nginx 日志的方法

展示 Nginx 对于访问日志和错误日志的具体请求信息

Filebeat 采集 Nginx 日志的方法

Servers 相关文章推荐
使用nginx动态转换图片大小生成缩略图
Mar 31 Servers
nginx简单配置多个server的方法
Mar 31 Servers
详解Apache SkyWalking 告警配置指南
Apr 22 Servers
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
Jul 07 Servers
Consul在linux环境的集群部署
Apr 08 Servers
阿里云日志过滤器配置日志服务
Apr 09 Servers
nginx搭建NFS网络文件系统
Apr 14 Servers
Nginx配置之禁止指定IP访问
May 02 Servers
Nginx 匹配方式
May 15 Servers
Nginx 配置 HTTPS的详细过程
May 30 Servers
Zabbix对Kafka topic积压数据监控的问题(bug优化)
Jul 07 Servers
Linux在两个服务器直接传文件的操作方法
Aug 05 Servers
如何利用map实现Nginx允许多个域名跨域
Mar 31 #Servers
Nginx 过滤静态资源文件的访问日志的实现
Mar 31 #Servers
Nginx的反向代理实例详解
nginx反向代理时如何保持长连接
Mar 31 #Servers
Nginx + consul + upsync 完成动态负载均衡的方法详解
Mar 31 #Servers
浅谈Nginx 中的两种限流方式
Mar 31 #Servers
查看nginx配置文件路径和资源文件路径的方法
Mar 31 #Servers
You might like
PHP 手机归属地查询 api
2010/02/08 PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
2014/05/10 PHP
phpmyadmin中禁止外网使用的方法
2014/11/04 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
PHP读取文件的常见几种方法
2016/11/03 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
2019/06/13 PHP
类似CSDN图片切换效果脚本
2009/09/17 Javascript
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
js如何取消事件冒泡
2013/09/23 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
推荐6款基于jQuery实现图片效果插件
2014/12/07 Javascript
jquery图片播放浏览插件prettyPhoto使用详解
2014/12/19 Javascript
JSON简介以及用法汇总
2016/02/21 Javascript
JS+CSS实现闪烁字体效果代码
2016/04/05 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
Javascript 引擎工作机制详解
2016/11/30 Javascript
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
详解从买域名到使用pm2部署node.js项目全过程
2018/03/07 Javascript
vue 实现Web端的定位功能 获取经纬度
2019/08/08 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
利用Python开发实现简单的记事本
2016/11/15 Python
Python 访问限制 private public的详细介绍
2018/10/16 Python
Django  ORM 练习题及答案
2019/07/19 Python
Python将string转换到float的实例方法
2019/07/29 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
2021/02/18 Python
斯洛伐克时尚服装网上商店:Cellbes
2016/10/20 全球购物
周仰杰(JIMMY CHOO)英国官方网站:闻名世界的鞋子品牌
2018/10/28 全球购物
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
新春文艺演出主持词
2014/03/27 职场文书
会计专业毕业生自荐书
2014/06/25 职场文书
表扬信格式模板
2015/05/05 职场文书
春节慰问简报
2015/07/21 职场文书
小学生法制教育心得体会
2016/01/14 职场文书
Win11软件图标固定到任务栏
2022/04/19 数码科技