2、Logstash 篇之插件详解

input插件详解及glob讲解

input Plugin

.input插件指定数据输入源,一个pipeline可以有多个input插件,我们主要讲解下面的几个input插件

  • stdin
  • file
  • kafka

Input Plugin – stdin

·最简单的输入,从标准输入读取数据,通用配置为:

  • codec类型为codec-type类型为string ,自定义该事件的类型,可用于后续判断
  • tags类型为array ,自定义该事件的tag ,可用于后续判断
  • add_field类型为hash ,为该事件添加字段
input{
   
stdin{
   
codec=>"plain"
tags=>["test"]
type=>"std"
add_field=>{
   "key"=>"value"}

}
}
output{
   
stdout{
   
codec=>"rubydebug"
}
}

在这里插入图片描述

Input Plugin-file

·从文件读取数据,如常见的日志文件。文件读取通常要解决几个问题:

  • 文件内容如何只被读取一次?即重启L时,从上次读取的位置继续
    • sincedb
  • 如何即时读取到文件的新内容?
    • 定时检查文件是否有更新
  • 如何发现新文件并进行读取?
    • 可以,定时检查新文件
  • 如果文件发生了归档(rotation)操作,是否影响当前的内容读取?
    • 不影响,被归档的文件内容可以继续被读取
理论实现源码:

在这里插入图片描述

  • path类型为数组,指明读取的文件路径,基于glob匹配语法
    path => ["/var/log/*/*log", “/var/log/message”]

  • exclue类型为数组排除不想监听的文件规则,基于glob匹配语法
    exclude => “*.gz”

  • sincedb-path类型为字符串,记录sincedb文件路径

  • start-postion类型为字符串, beginning or end ,是否从头读取文件

  • stat interval类型为数值,单位秒,定时检查文件是否有更新,默认1秒

  • discover interval类型为数值,单位秒,定时检查是否有新文件待读取,默认15秒

  • ignore-older类型为数值,单位秒,扫描文件列表时,如果该文件上次更改时间 1 超过设定的时长,则不做处理,但依然会监控是否有新内容,默认关闭

  • close older类型为数值,单位秒,如果监听的文件在超过该设定时间内没有新内容,会被关闭文件句柄,释放资源,但依然会监控是否有新内容,默认3600秒,即1个小时

Input Plugin – glob匹配语法

在这里插入图片描述
在这里插入图片描述
实际生产中不会从头读取
在这里插入图片描述
建议调试中设置sincedb_path;每次都会从头读取
在这里插入图片描述

Input Plugin - kafka

在这里插入图片描述

codec插件详解

Codec Plugin

Codec Plugin作用于input和output plugin ,负责将数据在原始与LogstashEvent之间转换,常见的codec有:

  • plain读取原始内容
  • dots将内容简化为点进行输出
  • rubydebug将Logstash Events按照ruby格式输出,方便调试
  • line处理带有换行符的内容
  • json处理json格式的内容
  • multiline处理多行数据的内容

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
错误输入
在这里插入图片描述
正确输入
在这里插入图片描述

Codec Plugin – multiline

·当一个Event的message由多行组成时,需要使用该codec ,常见的情况是堆栈日志信息的处理,如下所示:
在这里插入图片描述
主要设置参数如下:

  • pattern设置行匹配的正则表达式,可以使用grok
  • what previouslnext ,如果匹配成功,那么匹配行是归属上一个事件还是下一个事件
  • negate true or false是否对pattern的结果取反
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值