当前位置: 首页 > news >正文

基于 Filebeat 的日志收集

在这里插入图片描述

在现代分布式系统中,日志数据作为关键的监控与故障排查依据,越来越受到重视。本文将深入探讨 Filebeat 的技术原理、配置方法及在 ELK(Elasticsearch、Logstash、Kibana)生态系统中的应用,帮助开发者构建高效、稳定的日志收集方案。

1. Filebeat 概述

Filebeat 是 Elastic 公司推出的一款轻量级日志采集工具,专门设计用于从本地文件中读取日志数据,并将日志数据转发到下游的 Logstash 或 Elasticsearch 中。它的优势在于:

轻量级:资源占用低,适合在大量服务器上部署。
可靠性:内置断点续传功能,避免数据丢失。
灵活性:支持多种数据输入格式和高级功能,如多行日志解析、事件去重等。

2. Filebeat 工作原理

Filebeat 主要通过以下几个模块完成日志采集任务:

输入(Inputs):定义需要采集的日志文件路径、采集方式及相关选项。Filebeat 通过监控文件系统变更来捕获新增数据。
模块(Modules):预定义的日志解析配置,针对特定的应用场景(如 Nginx、System 等)进行优化配置,简化部署过程。
输出(Outputs):将采集到的日志数据发送到目标系统,如 Elasticsearch、Logstash 或其他第三方服务。
处理器(Processors):在日志数据发送前进行过滤、增强、解析等处理,如添加元数据、字段重命名等。

3.配置教程

1. 下载地址

filebeat下载地址
在这里插入图片描述
下载和ES对应的版本,防止出错

2.官方配置教程

官方配置教程

3.我的配置

我的电脑是ubuntu24.04的版本

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.12.1-linux-x86_64.tar.gz
tar xzvf filebeat-7.12.1-linux-x86_64.tar.gz

修改 filebeat.yml的配置
注释kibana
注释kibana的配置, 将数据直接传输到ES中
在这里插入图片描述

seccomp:
  default_action: allow
  syscalls:
  - action: allow
    names:
    - rseq

配置ES的地址
在这里插入图片描述
如果启动的时候出现了报错(runtime/cgo: pthread_create failed: Operation not permitted),需要增加这个配置

# 查看filebeat 模块
./filebeat modules list
# 启用模块
./filebeat modules enable system
# 禁用模块
./filebeat modules disable redis
# 测试配置是否正确
./filebeat test config
# 启动filebeat
./filebeat -e

执行上面命令之后,面板没有报错表示已经成功启动,但是配置文件中并没有配置收集任何的日志,所有ES中日志为空。

4. 收集系统的日志

# 启用system模块
./filebeat modules enable system
# 在安装目录打开
vim modules.d/system.yml
# system.yml修改配置
# Module: system
# Docs: https://www.elastic.co/guide/en/beats/filebeat/7.x/filebeat-module-system.html

- module: system
  # Syslog
  syslog:
    enabled: true

    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    var.paths: ["/var/log/syslog*"]
  # Authorization logs
  auth:
    enabled: true
    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    var.paths: ["/var/log/auth.log*"]
~


# 启动filebeat
./filebeat -e

在这里插入图片描述
ES中正常显示日志

5. 总结

Filebeat 作为 Elastic Stack 中的重要组成部分,通过轻量级、灵活且高效的日志采集机制,帮助企业构建稳定可靠的日志收集与处理方案。在实际应用中,根据业务场景合理配置多行日志、数据处理器以及输出目标,能够大大提升系统的日志处理能力和数据分析效率。未来,随着微服务与云原生架构的不断发展,Filebeat 将在日志管理与监控领域扮演越来越重要的角色。

相关文章:

  • Python 鼠标轨迹 - 防止游戏检测
  • Django开发入门 – 3.用Django创建一个Web项目
  • 接入 deepseek 实现AI智能问诊
  • 新数据结构(7)——Object
  • HCIA项目实践--静态路由的拓展配置
  • 消息中间件:RabbitMQ镜像集群部署配置全流程
  • RIME-CNN-SVM故障诊断
  • 在mac中安装Colima使用docker(替代Docker Desktop)
  • MapReduce到底是个啥?
  • 无人机 ,遥控器与接收机之前的通信
  • Python 调用 Azure OpenAI API
  • 浅谈Java Spring Boot 框架分析和理解
  • 掌握正则表达式_模式匹配的艺术
  • 【实测】用全志A733平板搭建一个端侧Deepseek算力平台
  • DeepSeek 助力 Vue 开发:打造丝滑的步骤条
  • 渗透利器:YAKIT 工具-基础实战教程.
  • TCP/IP 协议
  • #渗透测试#批量漏洞挖掘#29网课交单平台 SQL注入
  • Unity进阶教程AOI算法原理详解
  • 计算机视觉的研究方向、发展历程、发展前景介绍
  • A股三大股指涨跌互现:银行股领涨,两市成交12915亿元
  • 季后赛主场优势消失之谜,这事竟然要赖库里
  • 浙江公开征集涉企行政执法问题线索,包括乱收费、乱罚款等
  • 国家统计局今年将在全国开展两次人口固定样本跟访调查
  • 郎朗也来了,在辰山植物园“轻松听古典”
  • 让“五颜六色”面孔讲述上海故事,2025年上海城市推荐官开启选拔