Logstash 数据采集框架详解

Logstash原理介绍及应用 目录 1、Logstash安装 2、Logstash原理 2.1 输入、过滤器和输出 2.2 采集各种样式、大小和来源的数据 2.3 实时解析和转换数据 2.4 导出数据 3、 LogStash入门使用 3.1 Input插件 4、Logstash高级使用 4.1 jdbc插件 4.2 syslog插件 4.3 filter插件 4.4 Output插件 logstash是一种分布式日志收集框架,开发语言是JRuby,当然是为了与Java平台对接,不过与Ruby语法兼容良好. 阅读详情

一、Logstash 介绍

logstash是一个用来管理事件和日志的工具,它的作用是收集日志,解析日志,存储日志为以后使用。

Logstash 是一个轻量级、强大的日志处理工具,可以用来分散的、多样化的日志搜收集起来、自定义过滤处理转换、存储日志数据到某个文件或者服务器。用于从文件中收集日志事件。

Logstash 也可以进行数据的转换:Logstash提供了多种输入和输出插件,可以从各种数据源读取数据,并将其发送到各种目标。对于SQL数据库,Logstash提供了一些特定的输入和输出插件,如JDBC输入插件和JDBC输出插件,可以方便地与关系型数据库进行数据交互。通过配置Logstash的输入和输出插件,你可以定义数据源和目标的连接信息、查询语句或写入操作,以实现数据迁移。

对于NoSQL数据库,Logstash也提供了一些特定的输入和输出插件,如Elasticsearch输入插件和Elasticsearch输出插件,可以与Elasticsearch进行数据交互。此外,Logstash还支持其他NoSQL数据库,如MongoDB和Cassandra,可以使用相应的插件进行数据迁移

Logstash 能够动态地采集、转换和传输数据,不受格式或复杂度的影响。利用 Grok 从非结构化数据中派生出结构,从 IP 地址解码出地理坐标,匿名化或排除敏感字段,并简化整体处理过程

logstash处理事件有三个阶段:input —> filter —> output。input产生事件,filter 对事件进行修改,output输出到其它地方。

在这里插入图片描述

  • 数据输入采集阶段:
    采集各种样式、大小和来源的数据:数据往往以各种各样的形式,或分散或集中地存在于很多系统中。Logstash 支持各种输入选择,可以同时从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据。

  • 筛选
    数据从源传输到存储库的过程中,Logstash 筛选器能够解析各个事件,识别已命名的字段以构建结构,并将它们转换成通用格式,以便进行更强大的分析和实现商业价值。
    Logstash 能够动态地转换和解析数据,不受格式或复杂度的影响:

    • 利用 Grok 从非结构化数据中派生出结构
    • 从 IP 地址破译出地理坐标
    • 将 PII 数据匿名化,完全排除敏感字段
    • 简化整体处理,不受数据源、格式或架构的影响。

    使用我们丰富的筛选器库和功能多样的 Elastic Common Schema,您可以实现无限丰富的可能。

  • 输出
    选择您的存储库,传输您的数据
    尽管 Elasticsearch 是我们的首选输出方向,能够为我们的搜索和分析带来无限可能,但它并非唯一选择。
    Logstash 提供了众多输出选择,您可以将数据发送到所需的位置,并且能够灵活地解锁众多下游用例。

二、配置文件

Logstash配置文件位于Logstash安装目录下bin/logstash.conf

启动参数

启动命令:

logstash -f logstash.conf

其中我们启动的时候给Logstash脚本传入了-e的参数,但实际上,Logstash的启动参数有很多,我们来看一下各个启动参数的作用:

-e #立即启动实例,例如:./logstash -e “input {stdin {}} output {stdout {}}”
-f #指定启动实例的配置文件,例如:./logstash -f config/test.conf
-t #测试配置文件的正确性,例如:./logstash -f config/test.conf -t
-l #指定日志文件名称,例如:./logstash -f config/test.conf -l logs/test.log
-w #指定filter线程数量,不指定默认是5,例如:./logstash-f config/test.conf -w 8

配置文件介绍

文件 描述
logstash.yml 配置Logstash的yml。
pipelines.yml 包含在单个Logstash实例中运行多个管道的框架和说明。
jvm.options 配置Logstash的JVM,使用此文件设置总堆空间的初始值和最大值,此文件中的所有其他设置都被视为专家设置。
log4j2.properties 包含log4j 2库的默认设置。

logstash.yml

logstash.yml 配置 es 数据推送的地址
在这里插入图片描述

logstash.con

logstash.con 文件 主要用于定义数据处理插件配置

logstash.conf配置文件结构
input {
   
   
    #标准输入源插件
    stdin {
   
   
    }
    #普通文件源插件
    file {
   
   
        path => ["/var/log/*.log", "/var/log/message"]
       ....
    }
   ......
}
filter {
   
   
      #grok过滤插件
      grok {
   
   
            match => ["message", "%{HTTPDATE:logdate}"]
            .....
      }
     #date过滤插件
     date {
   
   
            match => ["logdate", "dd/MMM/yyyy:HH:mm:ss Z"]
           .....
    }
   .....
}
output {
   
   
     stdout {
   
   
     }
     elasticsearch {
   
   
        hosts => ["127.0.0.1:9200"]
        ....
    }
    .....
}

input 输入插件;filter 过滤器插件;output 输出插件。

配置文件结构示例

input {
   
   
  file {
   
   
    path => "/home/test/logstash/ml-25m/movies.csv"
    start_position => "beginning"
    sincedb_path => "/dev/null"
  }
}
filter {
   
   
  csv {
   
   
    separator => ","
    columns => ["id","content","genre"]
  }

  mutate {
   
   
    split => {
   
    "genre" => "|" }
    remove_field => ["path", "host","@timestamp","message"]
  }

  mutate {
   
   

    split => ["content", "("]
    add_field => {
   
    "title" => "%{[content][0]}"}
    add_field => {
   
    "year" => "%{[content][1]}"}
  }

  mutate {
   
   
    convert => {
   
   
      "year" => "integer"
    }

三 、插件基础

logstash功能很强大。从 logstash 1.5.0 版本开始,logstash 将所有的插件都独立拆分成 gem 包。这样每个插件都可以独立更新,不用等待 logstash 自身做整体更新的时候才能使用了。为了达到这个目标,logstash 配置了专门的 plugins 管理命令

logstash通过管道完成数据的采集与处理,管道配置中包含input、output和filter(可选)插件,input和output用来配置输入和输出数据源、filter用来对数据进行过滤或预处理,阿里云Logstash支持多管道并行运行,目前最多支持20个;
每个配置部分可以包含一个或多个插件。例如,指定多个filter插件,Logstash会按照它们在配置文件中出现的顺序进行处理。

1.Logstash插件分类

  • inputs:输入
  • codecs:解码
  • filters:过滤
  • outputs:输出

2. logstash 中支持的数据类型

Boolean,例如:ssl_enable => true
Number,例如:port => 33
String,例如:name => “Hello world”
hash,例如:options =>

logstash简介及架构(一篇精通直接上手) 1、logstash介绍 数据收集处理引擎 ETL工具 2、logstash架构简介 Logstash Event是一个java object,它对外暴露了获取内部字段以及修改内部字段值的一些api。 下面举例讲解: stdin:标准输入 codec是line,这个codec的作用就是按照每一行切割数据,就是说把每一行都转换成logstash event stdout:标准输出 codec是json,这个codec的作用就是把每一个logstash event转换 阅读详情

相关推荐

Logstash配置详解(不断更新)

1. Input Plugin 1.1 从文件输入 从文件读取数据,如常见的日志文件。文件读取通常要解决几个问题: No. 问题 解决办法 1 文件内容如何只被读取一次?即重启Logstash时,从上次读取的位置继续 sincedb 2 如何即时读取到文件的新内容 定时检查文件是否有更新 3 如何发现新文件并进行读取 定时检查是否有新文件生成 4 如何文件发生了归档(r...

hushukang的博客 1万+

uniapp map地图实现marker聚合点,并点击marker触发事件

【代码】uniapp map地图实现marker聚合点,并点击marker触发事件。

weixin_44705979的博客 5433

[MR]RCM约束下的手术机器人

RCM(Remote Center of Motion)约束,通俗讲就是做微创手术时,机械臂插进身体,机械臂受身体的插入点的约束,不能乱动。 相关参考论文 Task Control with Remote Center of Motion Constraint for Minimally Invasive Robotic Surgery ...

土豆大叔的博客 4556

Abaqus传热分析HETVAL和USDFLD子程序联合

Hetval子程序常用于定义内部热源,该子程序可以定义材料内部的生热量(如相变、高分子结晶生热),并且能够调用state variable 状态变量,可以与USDFLD子程序联合使用。HETVAL子程序用于计算传热系数并在单元上定义,USDFLD子程序用于在每个时间布更新温度场。

qq_41900477的博客 2654

深入解析SGLang框架:从架构设计到核心组件实现

本文深入解析了SGLang框架的架构设计与核心组件实现。SGLang是一个专为大语言模型推理设计的高效框架,其核心优势在于清晰的分层架构、高效的调度策略以及精细的内存管理。文章详细剖析了其客户端接入、服务器端调度、模型执行引擎及Tokenizer/Detokenizer管理器等关键组件,揭示了其实现高性能推理的内部机制。

coffee的博客 564

模拟退火算法详细讲解(含实例python代码)

模拟退火算法详细讲解(含实例python代码)(一)模拟退火算法简介三级目录(二)模拟退火算法原理(1)基本思想(2)算法步骤(3)参数控制(三)实例分析 最近老师要求做模拟退火算法实验,看了很多博客之后感觉还是不太清楚,最后问了老师之后才搞明白。想把自己的理解写下来,帮助大家更好的理解。本篇文章是在另一篇博客的基础上加了一下自己的理解,然后又把我们在实验中的实例写下来,还有参考代码。希望大家看了之后能够加深对模拟退火算法的理解。 另一篇博客链接: 深度学习 — 模拟退火算法详解. (一)模拟退火算法简介

weixin_48241292的博客 17万+

电力现货市场出清机制解析:从理论到实践(附节点电价计算实例)

本文深入解析电力现货市场的核心出清机制,重点阐述了节点边际电价的计算原理与实践方法。通过对比系统边际电价、节点边际电价和分区边际电价三种模式,揭示了市场出清价格如何反映电力供需与网络阻塞。文章结合IEEE 30节点系统,提供了基于MATLAB和最优潮流模型的计算实例,详细展示了从构建模型到求解对偶变量以获取节点电价的全过程,为理解电力市场定价机制提供了从理论到实践的完整路径。

whisky的博客 748

49、Linux内核内存管理:MGLRU、DAMON与OOM杀手详解

本文详细解析了Linux内核内存管理中的三大核心机制:MGLRU(多代LRU)页面追踪与回收机制、DAMON数据访问监控工具及其在内存优化中的应用,以及OOM(内存不足)杀手的工作原理和触发方式。同时,文章还介绍了VM overcommit_memory策略的设置及其对内存分配的影响,帮助开发者和系统管理员更好地理解Linux内存管理机制,从而优化系统性能和稳定性。

dropout6artist的博客 103

全志平台camera驱动开发(3)MIPI接口camera驱动开发

详细沟通: 请加video_D 目前开发过的allwinner平台: V5/V3/V3S/V40/T3/T7/A64等 开发过的mipi sensor: sony:imx317、imx477、imx274、imx258、imx286、imx307、imx385等 ov:ov2718、ov12895、ov2710等 ar: ar0238等 国产:gc1024、gc1034...

jzwjzw19900922的博客 9015

假人有限元模型

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

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: KIBANA可视化管理界面说明
下一篇: ES 之索引和文档
懒鸟一枚
博客等级 码龄15年 2005粉丝 257原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值