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

日志收集工具-Filebeat

提示:windows 环境下 Filebeat 的安装与使用

文章目录

  • 前言
  • 一、安装
  • 二、配置部署
  • 三、启动测试


前言

Filebeat 一般用于日志采集,由两部分组成 :Harvesters 和 prospector

  1. Harvesters采集器:逐行读取单个文件的内容,并将内容发送到配置文件中的 output
  2. Prospector查找器:管理 Harvesters,并找到所有要读取的文件来源。如果输入类型为日志,则查找器将查找路径匹配的所有文件,并为每个文件启动一个Harvester

Filebeat 作为日志收集工具之一,具有内存小,轻量,稳定的特点,但是过滤能力较弱,在实际场景中,Filebeat 和 Logstash 常被配合使用。Filebeat 负责采集日志文件,并将数据发送到 Logstash 进行进一步处理,再由 Logstash 输出到目标存储中。这种架构既保证了高效的数据采集,又满足了复杂的数据处理需求。


一、安装

  1. 官网下载安装包:https://www.elastic.co/cn/downloads/beats/filebeat 选择64位压缩包:
    在这里插入图片描述
  2. filebeat 目录结构
    filebeat.yml  # 配置文件
    install-service-filebeat.ps1  # winservice 安装文件
    uninstall-service-filebeat.ps1 # winservice卸载文件
    
  3. 部署服务为 winservice
    以管理员身份打开终端,进入下载的文件目录 执行 install-service-filebeat.ps1 文件,出现下图表示部署成功
    在这里插入图片描述
    如果上面的脚本执行不成功,有权限的问题, 执行下面的试试(执行策略阻止了我们对fileBeat)我没验证是否可行
    PS D:\elk\filebeat-7.9.0-windows-x86_64> Get-ExecutionPolicy
    Restricted
    PS D:\elk\filebeat-7.9.0-windows-x86_64> Set-ExecutionPolicy UnRestricted
    

二、配置部署

编辑 filebeat.yml 文件:主要修改其中 inputs 和 output 指定其输入和输出。

filebeat.inputs:- type: filestream # 如果有不同的配置, 就用多个- type: log, 但是如果只是多个目录, 一个- type: log 就够了# 也可以监控其他数据 (容器日志:container,网络数据:tcp/udp,标准输入:stdin,云平台日志:s3,JSON文件 等)这个地方配置log 可能会报错(Log input is deprecated. Use Filestream input instead. Follow our migration guide https://www.elastic.co/guide/en/beats/filebeat/current/migrate-to-filestream.html)id: my-filestream-idenabled: true  #启用 这个一定要改paths:- D:\project\elk\log\*  # 扫描的日志目录     - /var/log/*.log # 其他目录。。。。。可以配置多个目录- /var/log/*/*.log 从子目录获取fields: # 自定义的字段和值, 用于传给输出level: debug # 自定义字段1: 自定义字段的值1review: 1ps:​​​​​​​解决一个日志涉及到多行问题# Multiline options 多行配置选项  因为是逐行读取,有的换行日志会被分开识别,解决一条日志跨多行问题的配置multiline.pattern: ^\[   # 表示能够匹配一条日志的模式,默认配置的是以[开头的才认为是一条新的日志。  	multiline.negate: true   # 配置该模式是否生效,默认为falsemultiline.match: after   # 表示是否将未匹配到的行追加到上一日志,还是追加到下一个日志output.elasticsearch: # 表示输出到 elasticsearch (也可以输出到:Logstash redis file Console)hosts: ["localhost:9200"] # elasticsearch 集群地址 默认FileBeat会将日志数据放入到名称为:filebeat-%filebeat版本号%-yyyy.MM.dd 的索引中preset: balancedoutput.file:  # 我们这里测试输入和输出都是文件path: D:\project\elk\output # 指定了输出文件的目录filename: filebeat.log # 指定了输出文件的名称rotate_every_kb: 10000 # 用于控制日志文件的轮转策略,例如当文件达到10MB时,会轮转到新的文件,最多保留7个文件number_of_files: 7filebeat.config.modules:reload.enabled: true # 需要改成true,否则会启动失败

``

三、启动测试

  1. 写一个定时任务,往指定目录中每隔 5s 写一条日志;
  2. 修改配置文件 input 和 output 为对应文件目录;
  3. 启动服务:执行命令
    .\filebeat.exe  -e -c filebeat.yml
    
  4. 在对应输出目录可以看到输出的 Json 文件,即完成了日志的采集

删除已同步的数据,重新采集,可以删除 filebeat\filebeat\data\registry 下文件,即可重新采集日志

参考:
日志收集组件—Flume、Logstash、Filebeat对比
windows下使用filebeat将本地log日志实时写入到ELK

http://www.lryc.cn/news/2404028.html

相关文章:

  • 【PCIe总线】 -- PCI、PCIe相关实现
  • Vue3学习(4)- computed的使用
  • 手机上网可以固定ip地址吗?详细解析
  • 电脑同时连接内网和外网的方法,附外网连接局域网的操作设置
  • 如何在Unity中实现点击一个按钮跳转到哔哩哔哩
  • DHCP 动态主机配置协议(Dynamic host configuration protocol)逐层封装过程: DHCP --> UDP --> IP
  • PySide6 GUI 学习笔记——常用类及控件使用方法(单行文本控件QLineEdit)
  • 【数据结构】6. 时间与空间复杂度
  • Python 函数全攻略:函数进阶(生成器、闭包、内置函数、装饰器、推导式)
  • 基于springboot的藏文古籍系统
  • 重构城市应急指挥布控策略 ——无人机智能视频监控的破局之道
  • 声音信号的基频检测(python版本)
  • STM32 控制12VRGB灯带颜色亮度调节,TFTLCD显示
  • Hive开窗函数的进阶SQL案例
  • 【JJ斗地主-注册安全分析报告】
  • 《绩效管理》要点总结与分享
  • Microsoft前后端不分离编程新风向:cshtml
  • 【评测】用Flux的图片文本修改的PS效果
  • 青少年编程与数学 01-011 系统软件简介 01 MS-DOS操作系统
  • 数据库管理-第334期 Oracle Database 23ai测试版RAC部署文档(20250607)
  • springCloud2025+springBoot3.5.0+Nacos集成redis从nacos拉配置起服务
  • AI生成的基于html+marked.js实现的Markdown转html工具,离线使用,可实时预览 [
  • 机器学习:load_predict_project
  • OkHttp 3.0源码解析:从设计理念到核心实现
  • 【storage】
  • 微信小程序带参分享、链接功能
  • JVM 垃圾回收器 详解
  • FreeRTOS任务之深入篇
  • Linux 系统、代码与服务器进阶知识深度解析
  • 人工智能--AI换脸