1分钟系列-Filebeat 模块之 Nginx 配置使用

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 1分钟系列-Filebeat 模块之 Nginx 配置使用

背景

在上一篇分享中,我们发现数据采集到的日志数据都在 message 属性里,本次分享如何利用模块格式化日志信息

Filebeat Module

Filebeat 内置提供了许多开箱即用的 modules ,对日志文件做简单的收集和解析处理,可以简化我们的配置,直接使用就可以



cd /usr/local/filebeat-7.6.2-linux-x86_64
# 查看支持哪些模块./filebeat modules listEnabled:
Disabled:activemqapacheauditdawsazurecefciscocorednselasticsearchenvoyproxygooglecloudhaproxyibmmqicingaiisiptableskafkakibanalogstashmispmongodbmssqlmysqlnatsnetflownginxosquerypanwpostgresqlrabbitmqredissantasuricatasystemtraefikzeek

配置 nginx 模块

可以看到,内置了很多的 module,但是都没有启用,如果需要启用需要进行 enable 操作




# 启动./filebeat modules enable nginx
# 输出,说明 nginx 模块已可用Enabled nginx
# 禁用./filebeat modules disable nginx

模块开启之后,进入到 modules.d 目录下,发现只有 nginx.yml 后面没有 .disabled



cd modules.d/ls -al
-rw-r--r-- 1 root root  483 Mar 26 01:23 activemq.yml.disabled-rw-r--r-- 1 root root  475 Mar 26 01:23 apache.yml.disabled-rw-r--r-- 1 root root  280 Mar 26 01:23 auditd.yml.disabled-rw-r--r-- 1 root root 3064 Mar 26 01:23 aws.yml.disabled-rw-r--r-- 1 root root 1382 Mar 26 01:23 azure.yml.disabled-rw-r--r-- 1 root root  200 Mar 26 01:23 cef.yml.disabled-rw-r--r-- 1 root root 1978 Mar 26 01:23 cisco.yml.disabled-rw-r--r-- 1 root root  318 Mar 26 01:23 coredns.yml.disabled-rw-r--r-- 1 root root  964 Mar 26 01:23 elasticsearch.yml.disabled-rw-r--r-- 1 root root  327 Mar 26 01:23 envoyproxy.yml.disabled-rw-r--r-- 1 root root 2019 Mar 26 01:23 googlecloud.yml.disabled-rw-r--r-- 1 root root  376 Mar 26 01:23 haproxy.yml.disabled-rw-r--r-- 1 root root  295 Mar 26 01:23 ibmmq.yml.disabled-rw-r--r-- 1 root root  651 Mar 26 01:23 icinga.yml.disabled-rw-r--r-- 1 root root  470 Mar 26 01:23 iis.yml.disabled-rw-r--r-- 1 root root  366 Mar 26 01:23 iptables.yml.disabled-rw-r--r-- 1 root root  398 Mar 26 01:23 kafka.yml.disabled-rw-r--r-- 1 root root  293 Mar 26 01:23 kibana.yml.disabled-rw-r--r-- 1 root root  471 Mar 26 01:23 logstash.yml.disabled-rw-r--r-- 1 root root  300 Mar 26 01:23 misp.yml.disabled-rw-r--r-- 1 root root  296 Mar 26 01:23 mongodb.yml.disabled-rw-r--r-- 1 root root  311 Mar 26 01:23 mssql.yml.disabled-rw-r--r-- 1 root root  471 Mar 26 01:23 mysql.yml.disabled-rw-r--r-- 1 root root  287 Mar 26 01:23 nats.yml.disabled-rw-r--r-- 1 root root  214 Mar 26 01:23 netflow.yml.disabled-rw-r--r-- 1 root root  472 Mar 26 01:23 nginx.yml-rw-r--r-- 1 root root  495 Mar 26 01:23 osquery.yml.disabled-rw-r--r-- 1 root root  356 Mar 26 01:23 panw.yml.disabled-rw-r--r-- 1 root root  305 Mar 26 01:23 postgresql.yml.disabled-rw-r--r-- 1 root root  343 Mar 26 01:23 rabbitmq.yml.disabled-rw-r--r-- 1 root root  566 Mar 26 01:23 redis.yml.disabled-rw-r--r-- 1 root root  266 Mar 26 01:23 santa.yml.disabled-rw-r--r-- 1 root root  299 Mar 26 01:23 suricata.yml.disabled-rw-r--r-- 1 root root  477 Mar 26 01:23 system.yml.disabled-rw-r--r-- 1 root root  302 Mar 26 01:23 traefik.yml.disabled-rw-r--r-- 1 root root 1294 Mar 26 01:23 zeek.yml.disabled

修改 nginx.yml 配置文件,分别增加 accesserror 的日志文件路径,注意路径最后增加 *,因为 Nginx 以日期归档日志文件




[root@localhost filebeat-7.6.2-linux-x86_64]# vi filebeat-nginx-es.ymlfilebeat.inputs:- type: log  enabled: true  paths:    - /usr/local/nginx/logs/*.logsetup.template.settings:  index.number_of_shards: 3output.elasticsearch:  hosts: ["192.168.111.238:9200",  "192.168.111.239:9200",  "192.168.111.240:9200"]processors:  - add_host_metadata: ~  - add_cloud_metadata: ~
# 加载 modulefilebeat.config.modules:  path: ${path.config}/modules.d/*.yml  reload.enabled: false

启动 filebeat,发现日志报错


./filebeat -e -c filebeat-nginx-es.yml

根据上面的日志提示,执行如下命令进行安装(在线安装有点慢...)

离线安装方式,注意切换到 Elasticsearch 启动权限的用户



wget https://artifacts.elastic.co/downloads/elasticsearch-plugins/ingest-user-agent/ingest-user-agent-6.6.1.zipwget https://artifacts.elastic.co/downloads/elasticsearch-plugins/ingest-geoip/ingest-geoip-6.6.1.zip
bin/elasticsearch-plugin install file:///usr/local/src/ingest-user-agent-6.6.1.zip bin/elasticsearch-plugin install file:///usr/local/src/ingest-geoip-6.6.1.zip
# 查看已经安装的插件bin/elasticsearch-plugin list

在集群中安装成功后,重启 Elasticsearch

测试观察输出

访问 Nginx(安装请参考 https://yezhwi.github.io/java/2020/05/11/1%E5%88%86%E9%92%9F%E7%B3%BB%E5%88%97-Nginx-%E5%AE%89%E8%A3%85-%E5%87%86%E5%A4%87%E8%AE%BF%E9%97%AE%E6%97%A5%E5%BF%97/)首页

在数据浏览查看索引数据,如下图:

可对比上篇文章中的测试结果

下一步计划

在 Kibana 中查看数据

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
7天前
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解
|
14天前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
181 0
|
18天前
|
应用服务中间件 Linux nginx
Jetson 环境安装(四):jetson nano配置ffmpeg和nginx(亲测)之编译错误汇总
这篇文章是关于在Jetson Nano上配置FFmpeg和Nginx时遇到的编译错误及其解决方案的汇总。
56 4
|
19天前
|
编解码 Ubuntu 应用服务中间件
Jetson 环境安装(三):jetson nano配置ffmpeg和nginx(亲测)
本文介绍了在NVIDIA Jetson Nano上配置FFmpeg和Nginx的步骤,包括安装、配置和自启动设置。
92 1
Jetson 环境安装(三):jetson nano配置ffmpeg和nginx(亲测)
|
4天前
|
缓存 负载均衡 应用服务中间件
Nginx配置
【10月更文挑战第22天】在实际配置 Nginx 时,需要根据具体的需求和环境进行调整和优化。同时,还需要注意配置文件的语法正确性和安全性。
18 7
|
12天前
|
前端开发 JavaScript 应用服务中间件
终极 Nginx 配置指南
本文介绍了Nginx的基本配置及其优化方法。首先,通过删除注释简化了Nginx的默认配置文件,使其更易于理解。接着,文章将Nginx配置文件分为全局块、events块和http块三部分进行详细解释。此外,还提供了如何快速上线网站、解决前端history模式404问题、配置反向代理、开启gzip压缩、设置维护页面、在同一IP上部署多个网站以及实现动静分离的具体配置示例。最后,附上了Nginx的基础命令,包括安装、启动、重启和关闭等操作。
|
17天前
|
负载均衡 应用服务中间件 nginx
Nginx的6大负载均衡策略及权重轮询手写配置
【10月更文挑战第9天】 Nginx是一款高性能的HTTP服务器和反向代理服务器,它在处理大量并发请求时表现出色。Nginx的负载均衡功能可以将请求分发到多个服务器,提高网站的吞吐量和可靠性。以下是Nginx支持的6大负载均衡策略:
85 7
|
19天前
|
缓存 前端开发 应用服务中间件
CORS跨域+Nginx配置、Apache配置
CORS跨域+Nginx配置、Apache配置
88 7
|
24天前
|
存储 缓存 监控
|
15天前
|
缓存 前端开发 JavaScript
一、nginx配置
一、nginx配置
105 1