ELK系列(七)、Filebeat+Logstash采集多个日志文件并写入不同的ES索引中

filebeat+kafka+logstash+es日志系统的搭建以及性能专题 一、环境及组件版本 Windows10. filebeat6.8.1 kafka2.11logstash同681es7.1.1,Linux下部分配置通用 二、各组件配置 filebeat,可配置多种输出方式,logstash的filter通常是整个系统的性能薄弱环节,一般会使用削峰手段避免过大数据涌入 logstash,导致性能下降甚至宕机 ... 阅读详情

Logstash依赖于JVM,在启动的时候大家也很容易就能发现它的启动速度很慢很慢,但logstash的好处是支持很多类型的插件,支持对数据做预处理。而filebeat很轻量,前身叫logstash-forward,是使用Golang开发的,所以不需要有java依赖,也很轻量,占用资源很小,但功能也很少,不支持对数据做预处理。因此一般都是将filebeat+logstash组合使用,在每个节点部署filbeat,然后将监控的日志推送到数据缓冲层或直接推送到logstash集群内,配合redis或kafka做数据缓冲层来使用。

本篇就介绍如何将filebeat和logstash同时使用,并且介绍如何同时监控多个文件,将多个文件导出至不同的索引内。

ELK系列(一)、安装ElasticSearch+Logstash+Kibana+Filebeat-v7.7.0

ELK系列(二)、在Kibana中使用RESTful操作ES库

ELK系列(三)、安装Logstash插件及打包离线安装包

ELK系列(四)、Logstash读取nginx日志写入ES中

ELK系列(五)、Logstash修改@timestamp时间为日志的产生时间

ELK系列(六)、修改Nginx日志为Json格式并使用Logstash导入至ES

-------------------------------------使用filebeat采集多个文件并通过logstash写入es内--------------------

为什么要使用一个配置文件监控多个文件? 因为filebeat 只能起一个进程。

Filebeat配置

vim /opt/app/filebeat-7.7.0-linux-x86_64/filebeat_csdn.yml

同时监控nginx的access日志以及系统的messages日志,并且分别新增一个字段'filetype'(自定义的)来做区分,输出到localhost的5044端口,由logstash消费:

filebeat.inputs:
- type: log
  enabled: true
  backoff: "1s"
  tail_files: false
  paths:
    - /usr/local/nginx/logs/access-json.log
  fields:
    filetype: log_nginxjson
  fields_under_root: true
- type: log
  enabled: true
  backoff: "1s"
  tail_files: false
  paths:
    - /var/log/messages
  fields:
    filetype: log_system
  fields_under_root: true
output.logstash:
  enabled: true
  hosts: ["wykd:5044"]

Logstash配置

vim /opt/app/logstash-7.7.0/config/logstash_filebeat2es.conf

修改logstash配置,input的部分要与filbeat中的端口一致,filter的部分针对不同的日志内容做不同的预处理或解析,output中对不同的日志输出到不同的es的索引中。这里的filetype就是在上面的filebeat中新增的自定义字段:

input {
   #从filebeat取数据,端口与filebeat配置文件一致
   beats {
     host => "0.0.0.0"
     port => 5044
   }
}
filter {
    #只对nginx的json日志做json解析,系统message为其他格式,无需处理
    if [filetype] == "log_nginxjson"{
      json {
         source => "message"
         remove_field => ["beat","offset","tags","prospector"] #移除字段,不需要采集
      }
      date {
        match => ["timestamp", "dd/MMM/yyyy:HH:mm:ss Z"] #匹配timestamp字段
        target => "@timestamp"  #将匹配到的数据写到@timestamp字段中
      }
  }
}

output {
       # 输出es,这的filetype就是在filebeat那边新增的自定义字段名
       if [filetype] == "log_nginxjson" {
         elasticsearch {
            hosts => ["wykd:9200"]
            index => "nginx-%{+YYYY.MM.dd}"
        }
       } else if [filetype] == "log_system" {
         elasticsearch {
            hosts => ["wykd:9200"]
            index => "msg-%{+YYYY.MM.dd}"
        }
       }

}

启动Filebeat和Logstash

先启动logstash,不然的话filebeat会找不到logstash的5044端口:

bin/logstash -f config/logstash_filebeat2es.conf

./filebeat -e -c filebeat_csdn.yml

验证数据

在Kibana中可以看到两个索引已经建出来了并同时写入了不同的日志内容:

 

希望本文对你有帮助,请点个赞鼓励一下作者吧~ 谢谢!

 

logstash收集日志到elasticsearch Logstash是一个具有实时管道功能的开源数据收集引擎。Logstash可以动态地统一来自不同数据源的数据,并将数据规范化为您选择的目标。为各种高级下游分析和可视化用例净化和民主化所有数据。 虽然Logstash最初推动了日志收集方面的创新,但它的功能远远超出了用例。任何类型的事件都可以通过大量的输入、过滤器和输出插件进行丰富和转换,许多本机编解码器进一步简化了摄入过程。Logstash通过利... 阅读详情

相关推荐

解析ELK(filebeat+logstash+elasticsearch+kibana)日志系统原理以及k8s集群日志采集过程

ELK【ES+LogStash+Kibana】日志分析系统以及k8s集群日志采集

小橙子的笔记屋 1682

filebeat + logstash + es项目

背景 对于部分生产上的日志无法像 Nginx 那样,可以直接将输出的日志转为 Json 格式 但是可以借助 Logstash 来将我们的 ”非结构化数据“,转为 "结构化数据"; logstash介绍 Logstash 的基础架构类似于 pipeline 流水线: Input:数据采集(常用插件:stdin、file、kafka、beat、http、) Filter:数据解析/转换(常用插件:grok、date、geoip、mutate、useragent) Output:数据输出 (常用插件:El

登高~ 1623

ELK之从Logstash读取数据到Elasticsearch

ELK之从Logstash读取数据到Elasticsearch全过程。

一掬净土 1338

Logstash、Filebeat安装与数据同步(+ES安装讲解)

Logstash安装、Filebeat安装、数据同步到ES中

lydms的博客 1万+

Linux教程:Elk(Elasticsearch+LogStash+Kibana日志收集系统+Kafka+Filebeat)入门与部署搭建(一)

ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用,完成更强大的用户对日志的查询、排序、统计需求 ELK 是 Elasticsearch、Logstash、Kibana的缩写,这三个工具组合在一起,用于数据收集、存储、 搜索和可视化分析,称为“Elastic Stack”(以前称为“ELK stack”)。:核心搜索和分析引擎,负责存储数据并提供快速的全文搜索和分析功能Logstash。

wfeil211的博客 1674

Logstash数据处理服务将采集的不同日志数据存储到不同的ES索引库(四)

Logstash将不同的日志数据存储到不同的索引库 文章目录Logstash将不同的日志数据存储到不同的索引库1.如何将logstash采集的数据存储到不同的索引库2.将不同的应用程序日志写入到不同的索引库中2.1.配置logstash将日志分流2.2.产生日志数据2.3.观察是否生成索引库2.4.在kibana上关联索引模式![在这里插入图片描述](https://img-blog.csdnimg.cn/ea893af2bf84463c87e3ef12e1995a49.png?x-oss-process=

江晓龙的博客 2868

ELK系列(一)、安装ElasticSearch+Logstash+Kibana+Filebeat-v7.7.0

ELK是目前最流行的日志分析套件,基于lucence,提供全文检索功能,ES是目前最快的索引型数据库并提供RESTful接口,对开发人员很友好,横向扩展,Logstash提供多种插件,支持各类日志格式的定制和插件并实时将日志内容写入ES或其他目标源,Kibana提供对ES数据的展示功能,多用于日志检索,实时报表。 ...

王义凯 的博客 1万+

体验灵雀云-创建基于Docker的云服务

今天体验了一下灵雀云,创建了第一个基于Docker的云服务。 1.登录灵雀云 2.开始使用 登录之后,从"控制台"进入操作界面,开始创建服务。 首先需要选择一个镜像。灵雀云已经为您提供了一些常用的镜像列表。请在“常用镜像”列表中,选择“其它”,然后找到“alauda/hello-world”镜像,点击它右侧的“选择”按钮,进入服务参数配置页面。 选择完要创建的

tomcat的专栏 3233

ELK Kibana + Elasticsearch + Logstash + Kafka + Filebeat

在这个流程中,日志数据从分布在不同服务器上的日志文件开始,经过Filebeat收集后传输到Kafka进行临时存储。然后,Logstash从Kafka读取数据,进行清洗和处理,并将其发送到Elasticsearch进行存储和索引。最终,Kibana提供了一个用户友好的界面,帮助用户对这些日志数据进行深度分析和可视化展示。这一流程确保了日志数据的高效收集、可靠传输、强大存储和便捷分析,是现代运维和监控系统中的关键组成部分。

a1808862593的博客 2392

Voronoi算法构建多晶

孪晶多晶 采用孪晶的原子链作为种子通过voronoi算法可以得到孪晶多晶结构。 孪晶种子: txt文件不需要特殊设置 box 150 150 150 random 8 得到孪晶多晶: 通过改变孪晶种子的长度可以得到不同孪晶片层厚度的多晶。 准二维柱晶 所有晶粒在某一维度的晶向一致,晶粒仅在平面内具有旋转关系,所有晶界为旋转对称晶界,这种结构的多晶其位错滑移在某些方向受限,但是能极大的提高晶粒...

yamatachi的博客 5278

57. SAP UI5 应用基于 OData 注解的 Smart Field 使用方法学习

所谓 SAP UI5 Smart Field,顾名思义,是一类比较`智能`的控件,这类控件同 SAP UI5 传统的控件不同,会根据 SAP UI5 应用程序连接的 OData 服务中元数据里提供的注解(`annotations`),在运行时动态生成底层的 SAP UI5 控件。...

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2767

企业级日志系统架构——ELK(Elasticsearch、Filebeat、Kafka、Logstash、Kibana)

文章目录一、概述1)Elasticsearch 存储2)Filebeat 日志数据采集3)Kafka4)Logstash 过滤5)Kibana 展示filebeat和logstash的关系二、ELK相关的备份组件和备份方式1)Elasticsearch的snapshot快照备份2)elasticdump备份迁移es数据3)esm备份迁移es数据 一、概述 大致流程图如下: 1)Elasticsearch 存储 Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有

匠人精神,持之以恒! 6290

C++(Qt)软件调试---gdb调试入门用法(12)

学习GDB可以帮助程序员更好地调试程序,找到程序中的错误和问题,提高程序的质量和稳定性。 在开发大型软件时,程序中可能存在许多错误和问题,这些问题可能会导致程序崩溃或者出现不可预期的行为。 使用GDB可以帮助程序员更快地找到这些问题,并且提供一些调试工具来帮助程序员更好地理解程序的行为。

mahuifa的博客 5544

ELK系列(八)、使用Filebeat+Redis+Logstash收集日志数据

前面提到过,logstash占资源很大,filebeat更加轻量,一般都是组合使用,难免会有logstash宕掉的时候,这时候filebeat再往logstash里写数据就写不了了,这期间的日志信息可能就无法采集到了,因此一般都会采用redis或kafka作为一个消息缓冲层,本篇就介绍如何使用Redis作为数据缓冲层,将filebeat的数据落地到Redis中然后由Logstash消费并写入至ES。 ELK系列(一)、安装ElasticSearch+Logstash+Kibana+Filebeat-v7.

王义凯 的博客 4657

瑞芯微RK3588部署YOLOv8模型

写下这篇博客进行记录,以防后面忘了怎么部署。

weixin_45303602的博客 3650

【大语言模型 21】语言模型训练目标:MLM vs CLM vs GLM对比分析

本文深入对比分析三种主流语言模型训练目标:掩码语言模型(MLM)、因果语言模型(CLM)和双空白填充(GLM)。通过数学推导、代码实现和实验对比,揭示不同训练目标的工作机制、适用场景和性能差异,为选择合适的预训练策略提供科学指导。

熵数实验室 1173

【ELK日志分析系统】ELK+Filebeat分布式日志管理平台部署

ELK+Filebeat部署

m0_71593537的博客 2776

100天精通Python(基础篇)——第1天:Python从起源到应用的全面解析(附上Python、PyCharm、VSCode下载安装详细教程)

100天精通Python(基础篇)——第1天:Python从起源到应用的全面解析(附上Python、PyCharm、VSCode下载安装详细教程)

努力让自己发光,对的人才能迎着光而来 101万+

日志采集与分析平台的搭建:ELK 技术栈的部署与调优

ELK 日志平台的核心价值不是"能搜到日志"——grep 也能搜——而是效率不用登录多台机器:一个搜索框查所有服务不用手动关联:相同 traceId 的日志自动聚合不用重复问问题:常见的日志查询做成 Kibana Dashboard,一键查看对于实习生来说,搭建 ELK 平台的经历是理解"可观测性"的起点。日志、指标、链路追踪,这三根支柱是分布式系统的基础设施。

cannonjinx的博客 4712

安卓讲课笔记1.1 安装Android Studio

1. 能安装配置Android Studio; 2. 能创建安卓虚拟机(AVD); 3. 能创建简单安卓应用

howard2005的专栏 3351

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ELK中日志数据采集器Filebeat的安装和使用、Filebeat结合Logstash进行日志处理入Elasticsearch以及Resource interpreted.. text/plain

Filebeat是Beats中的一种,Filebeat是本地文件的日志数据采集器,可监控日志目录或特定日志文件(tail file),并将它们转发给Elasticsearch或Logstatsh进行索引等。进入logstash目录,增加config下nginxlog.conf配置文件,设置数据input来源的beats端口,以及output设置为elasticsearch的hosts列表,指定index名称。这时Filebeat 就派上用场了,FileBeat提供一种轻量型方法,用于转发和汇总日志与文件。

本博客记录了从2014年以来在工作学习中遇到的技术问题、解决方法以及部分个人人生经历、经验等内容。 1501

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ELK(Elasticsearch+Logstash+Kibana)传统日志采集架构与ELFKK(Elasticsearch+Logstash+Kibana+Filebeat+Kafka)对比

本文对比了传统ELK架构与集成Filebeat和Kafka的ELFKK架构。传统ELK由Elasticsearch、Logstash和Kibana组成,存在资源占用高、扩展性有限等问题;而ELFKK引入Filebeat采集日志并通过Kafka缓冲,具有资源占用低、高吞吐、数据持久化等优势,适用于大规模分布式系统。附件详细说明了Filebeat配置步骤(安装、配置、启动验证)以及Kafka的Kraft模式安装方法(常规与容器两种方式)。

搬砖工 1563

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

filebeat收集K8S日志,写入自动创建的索引

需求 前面我们已经将SpringBoot项目部署在K8S中,此时需要filebeat收集日志并通过ELK进行展示,以用于后续的问题排查及监控。 与传统的日志收集不同: pod所在节点不固定,每个pod中运行filebeat,配置繁琐且浪费资源; pod的日志目录一般以emptydir方式挂载在宿主机,目录不固定,filebeat无法自动匹配; pod持续增多,filebeat需要做到自动检测并收集; 因此最后的收集方式为一个filebeat能够收集所有的pod日志,但是这就要求统一的日志收集规则、目录以

yanggd1987的专栏 1万+

从Filebeat到Logstash再到Elasticsearch,如何搭建ELK 日志平台

本文系作者本人原创,如需转载,请务必写明出处,谢谢! 一,背景 对于分布式系统,特别是基于容器的微服务系统,详细的系统日志和日志数据的实时收集和传输到集中平台是极其有必要的。主要基于两个原因,一是日志数据不能随容器的切换而丢失(当然也可以将日志数据存于持久存储层,但这种架构可能违背微服务自主和自助的设计原则),二是分布式的系统架构分散复杂,更加有必要对任何一个环节进行及时的监控。 目前常用的...

alva_xu的博客 3645

ELK系列之四---如何通过Filebeat和Logstash优化K8S集群的日志收集和展示

在ELK Stack组件中,有logstash和filebeat都可以实现日志收集,因为filebeat更轻量化,在K8S集群中通常使用filebeat来收集pod的日志,通过daemonSet控制器在每个K8S每个节点上运行一个filebeat来收集每个节点上的pod日志,filebeat官网图如下,filebeat输出支持对接Elasticsearch、Logstash、Kafka、Redis,本文选择对接Kafka,先缓存filebeat收集的日志,这样可以减少对ES的性能要求。

gjjumin的专栏 2520

ELK多个日志文件创建多个项目索引

一、背景 我的elk架构是filebeat--redis--logstash--elasticsearch--kibana,我的想法是:我一台服务器多个程序有多个日志文件,在kibana里面想创建不通项目索引,指定不同日志文件 二、问题及解决思路 因为filebeat在6.0之后配置文件只能写一个output,因此多个日志文件都会传到redis的同一个库,同时key只能写一个。 但这样会有...

朦胧的旋律 5530
上一篇: ELK系列(六)、修改Nginx日志为Json格式并使用Logstash导入至ES
下一篇: Redis系列(一)、CentOS7下安装Redis6.0.3稳定版
王义凯_Rick
王义凯_Rick 领域专家: 大数据技术领域 领域专家: 大数据技术领域
博客等级 码龄14年 858粉丝 162原创
评论 14
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王义凯_Rick

遇见即是缘,路过就给个评论吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值