logstash 配置文件编写详解

logstash 配置文件编写详解说明它一个有 jruby 语言编写的运行在 java 虚拟机上的具有收集分析转发数据流功能的工具能集中处理各种类型的数据能标准化不通模式和格式的数据能快速的扩展自定义日志的格式能非常方便的添加插件来自定义数据通过在配置文件编写输入 input 过滤 filter 输出 output 相关规则 对数据收集转发 配置文件编写语法大致格式如下 输入 input

说明

通过在配置文件编写输入(input),过滤(filter),输出(output)相关规则,对数据收集转发。

在这里插入图片描述

配置文件编写语法

基本语法

数据类型
boolen: 布尔 a => true
Bytes: 字节 a => “10MiB”
Strings:字符串 a => “hello world”
Number: 数值 a => 1024
Array: 数组 match => [“datatime”,“UNIX”,“ISO8601”]
Hash: 哈希 options => { key1 => “value1”,key2 => “value2” }
编码解码: codec: codec => “json”
密码型: my_passwd => “password”
路径: my_path => “/tmp/logstash”
注释: #




















条件判断
==,!= ,< ,> ,<= ,>=
=~
in,not in
and ,or , nand, xor
(), !()
if expression {

} else if expression {


} else {


}






















字段引用
%{[response][status]}

实例配置操作
# 输入 input { ... } # 过滤器 filter { ... } # 输出 output { ... } 

input实例

input { # file为常用文件插件,插件内选项很多,可根据需求自行判断 file { path => "/var/log/httpd/access_log" # 要导入的文件的位置,可以使用*,例如/var/log/nginx/*.log Excude =>”*.gz” # 要排除的文件 start_position => "beginning" # 从文件开始的位置开始读,默认是end ignore_older => 0 # 多久之内没修改过的文件不读取,0为无限制,单位为秒 sincedb_path => "/dev/null" # 记录文件上次读取位置;输出到null表示每次都从文件首行开始解析 add_field=>{"test"="test"} # 增加一个字段 type => "apache-log" # type字段,可表明导入的日志类型 } } 

input拥有多个插件,选择对应的插件获取相应的数据。相关链接:input相关插件

filter实例
插件grok插件
grok插件有非常强大的功能,他能匹配一切数据,但是他的性能和对资源的损耗同样让人诟病。相关插件:filter相关插件链接




方法一: filter{ grok{ #首先要说明的是,所有文本数据都是在Logstash的message字段中的,我们要在过滤器里操作的数据就是message。 #只说一个match属性,他的作用是从message 字段中把时间给抠出来,并且赋值给另个一个字段logdate。 #第二点需要明白的是grok插件是一个十分耗费资源的插件。 #第三点需要明白的是,grok有超级多的预装正则表达式,这里是没办法完全搞定的,也许你可以从这个大神的文章中找到你需要的表达式 #http://blog.csdn.net/liukuan73/article/details/ #但是,我还是不建议使用它,因为他完全可以用别的插件代替,当然,对于时间这个属性来说,grok是非常便利的。 match => ['message','%{TIMESTAMP_ISO8601:logdate}'] } } 方法二: filter { grok { match => {"message"=>"%{IPORHOST:clientip}\s+%{WORD:method}\s+%{URIPATHPARAM:request}\s+%{NUMBER:bytes}\s+%{NUMBER:duration}"} } } 

output实例
插件elasticsearch,相关插件链接地址:output插件地址

 elasticsearch{ hosts=>["10.0.0.11:9200"] # elasticsearch 地址 端口 action=>"index" # 索引 index=>"indextemplate-logstash" # 索引名称 #document_type=>"%{@type}" document_id=>"ignore" template=>"/opt/logstash-conf/es-template.json" # 模板文件的路径 template_name=>"es-template.json" # 在es内部模板的名字 template_overwrite=>true # protocol => "http" #目前支持三种协议 node、http 和tranaport } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/221128.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午6:51
下一篇 2026年3月17日 下午6:51


相关推荐

  • java中的多行注释快捷键_eclipse多行注释快捷键「建议收藏」

    java中的多行注释快捷键_eclipse多行注释快捷键「建议收藏」eclipse为多行添加注释是有快捷方式可用的,了解了这个快捷方式相信很多网友都会大大提高编码效率,其实同时为多行添加注释可以分别添加“/**/”和“//”样式的,样式不同快捷键也会不同,下面我们可以一起看看具体的添加注释方法。eclipse多行注释快捷键方法一、使用Ctrl+Shift+C快捷键1、在Eclipse中拖动鼠标,选中需要注释的代码。2、按住Ctrl+Shift+C快捷键,如图所示…

    2022年8月15日
    10
  • Spring StoredProcedure调用Oracle函数各种异常解决方法

    Spring StoredProcedure调用Oracle函数各种异常解决方法其实也不是各种异常解决方法,只是出现了太多的异常我实在不知道有哪些,下面列举一下吧:1.PLS-00306:wrongnumberortypesofargumentsincallto’QUERYUSER’ORA-06550:line1,column7:PL/SQL:Statementignored原因:这个问题是少参数,或者类型不对,我的原因是函数的…

    2022年7月26日
    5
  • 成功解决TypeError: only integer scalar arrays can be converted to a scalar index

    成功解决TypeError: only integer scalar arrays can be converted to a scalar index成功解决 TypeError onlyintegers 目录解决问题解决思路解决方法解决问题 TypeError onlyintegers

    2026年3月20日
    1
  • webstorm2022最新激活码_最新在线免费激活

    (webstorm2022最新激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html0VOERWDQ5R-eyJsaWNlbnNlSWQi…

    2022年3月31日
    466
  • ideavim怎么用_idea基本使用教程

    ideavim怎么用_idea基本使用教程ideavim使用分享ideavim使用ideavim介绍ideavim是JetBrains官方开发的模拟vim插件,熟练ideavim的人可以更快的进行操作,大部分操作都可以用键盘来代替。纯vim也能进行更高效的开发,但是一款适合自己深定义的配置,能够让人更加高效。配合ide的智能补全,就一个字爽ideavim的安装idea中自带的插件管理搜索ideavim然后选择安装macos打开idea配置cmd+,windows打开idea配置ctrl+shfit+s

    2022年10月1日
    5
  • ora 01017问题解决办法

    ora 01017问题解决办法SQL&gt;startup ORACLEinstancestarted. TotalSystemGlobalArea 914358272bytes FixedSize                 2088184bytes VariableSize            528483080bytes DatabaseBuffers         3774873…

    2022年6月1日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号