Logstash学习-配置语法
区段(section)
Logstash 用{}来定义区域。区域内可以包括插件区域定义,你可以在一个区域定义多个插件,插件区域内则可以定义键值对设置。
数据类型
Logstash支持少量的数据值类型:
- bool debug => true
- string host => "localhost"
- number port => 80
- array match => ["hello","message"]
- hash options => {name => "xiaoming", age => 55}
注意:地域1.2.0的版本哈希语法跟数组一样。
字段引用
字段是 Logstash::Event 对象的属性。事件就像一个哈希一样,所以可以想想字段就像一个键值对。
如果想在Logstash配置中使用字段的值,只需要把字段的名字卸载中括号[]里就行了,这就较字段引用。对于潜逃字段,每层字段名都卸载[]里就可以。例:[object][field]
小贴士:
Logstash的数组也支持倒序下表,即[geoip][location][-1]可以获取数组最后一个元素的值;
Logstash还支持变量内插,在字符串里使用字段引用的方法是这样:"the logitude is %{[geoip][location][0]}"
条件判断(condition)
Logstash从1.3.0版开始支持条件判断和表达式,支持下面这些操作符:
- == (等于), != (不等于), < (小于), > (大于), <= (小于等于), >= (大于等于)
- =~ (匹配正则), !~ (不匹配正则)
- in (包含), not in (不包含)
- and (与), or (或), nand(非与), xor(非或)
- () (复合表达式), !() (对复合表达式结果取反)
命令行参数
-e 执行,这个参数的默认值是:input{stdin{}}output{stdout{}}
--config 或 -f 配置文件,后跟参数类型可以是一个字符串的配置(像Hello World例子一样)或全路径文件名或全路径路径(如:/etc/logstash.d/,logstash会自动读取/etc/logstash.d/目录下所有*.conf 的文本文件,然后在自己内存里拼接成一个完整的大配置文件再去执行)
注意:logstash列出目录下所有文件时,是字母排序的,而logstash配置段的filter和output都是顺序执行,所以顺序非常重要。
采用多文件管理的用户,推荐采用数字编号方式命名配置文件,同时在配置中,严禁采用if判断限定不同日志的动作。
--configtest 或 -t 测试
--log 或 -l 日志。logstash默认输出日志到标准错误,生产环境下用此参数自定义
--pipeline-workers 或 -w 运行filter和output的pipeline线程数量,默认是CPU核数。
--pipeline-batch-size 或 -b
每个 Logstash pipeline 线程,在执行具体的 filter 和 output 函数之前,最多能累积
的日志条数。默认是 125 条。越大性能越好,同样也会消耗越多的 JVM 内存。
--pipeline-batch-delay 或 -u
每个 Logstash pipeline 线程,在打包批量日志的时候,最多等待几毫秒。默认是 5ms。
--pluginpath 或 -P
可以写自己的插件,然后用 bin/logstash --pluginpath/path/to/own/plugins 加载它们。
--verbose
输出一定的调试日志。
--debug
输出更多的调试日志。
设置文件
从 Logstash 5.0 开始,新增了 $LS_HOME/config/logstash.yml 文件,可以将
所有的命令行参数都通过 YAML 文件方式设置。同时为了反映命令行配置参数的层
级关系,参数也都改成用.而不是-了。
Logstash学习-配置语法的更多相关文章
- 学习nginx从入门到实践(四) 基础知识之nginx基本配置语法
nginx基本配置语法 1.http相关 展示每次请求的请求头: curl -v http://www.baidu.com 2.nginx日志类型 error.log. access.log log_ ...
- logstash 学习小记
logstash 学习小记 标签(空格分隔): 日志收集 Introduce Logstash is a tool for managing events and logs. You can use ...
- 程序员带你学习安卓开发,十天快速入-对比C#学习java语法
关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...
- Logstash学习系列之基础介绍
Logstash功能特性 能集中处理各种类型的数据 能标准化不同模式和格式的数据 能快速的扩展自定义日志的格式 它具有收集,分析和转发数据流的功能 Logstash运行参数 -f 指定配置文件 -e ...
- nginx目录及配置语法
一.Nginx安装目录 1.查看安装目录. 采用yum的方式安装,其实都是安装的一个一个的 pm 包,故可采用如下命令查看 rpm -ql nginx 遵循了 rpm 包管理规范. 2.安装目录详解 ...
- 工作效率-十五分钟让你快速学习Markdown语法到精通排版实践备忘
关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 文章目录: 0x00 前言简述 ...
- ios -- 教你如何轻松学习Swift语法(一)
目前随着公司开发模式的变更,swift也显得越发重要,相对来说,swift语言更加简洁,严谨.但对于我来说,感觉swift细节的处理很繁琐,可能是还没适应的缘故吧.基本每写一句代码,都要对变量的数据类 ...
- Git 中 .gitignore 的配置语法
一.前言 在日常的开发中,当我们需要将一个项目提交到 Git 时,并不是所有的文件都需要提交,比如一些自动生成的文件,类似于 .idea 文件.class 文件等,这时候就可以使用.gitignore ...
- Nginx详解八:Nginx基础篇之Nginx请求限制的配置语法与原理
Nginx的请求限制: 连接频率的限制:limit_conn_module 配置语法:limit_conn_zone key zone=name:size;默认状态:-配置方法:http 配置语法:l ...
随机推荐
- 在Ubuntu16.04集群上手工部署Kubernetes(未完,陆续补充中)
主机信息 主机 IP OS k8s-master 10.10.10.20192.168.0.20 Ubuntu Server 16.04 k8s-node1 10.10.10.21192.168.0. ...
- Linux用过的命令
-上传sudo -u b2b rz--创建文件夹sudo -u b2b mkdir--copysudo -u b2b cp /b2b/apache-tomcat-7.0.64/matt/DqN017S ...
- 使用JSON.Net(Newtonsoft.Json)作为ASP.Net MVC的json序列化和反序列化工具
ASP.Net MVC默认的JSON序列化使用的是微软自己的JavaScriptSerializer.性能低不说,最让人受不了的是Dictionary<,>和Hashtable类型居然对应 ...
- 兼容iOS 10 资料整理笔记
原文链接:http://www.jianshu.com/p/0cc7aad638d9 1.Notification(通知) 自从Notification被引入之后,苹果就不断的更新优化,但这些更新优化 ...
- scala中的Actor
1.介绍 2.简单示例 3.第二个程序 4.通信程序 package day01 import scala.actors.Actor case class Message(content: Strin ...
- 常用数据存储集合与Map
一.常见的数据存储实现 二.遍历 1.集合 新循环 迭代器 Iterator Iterator<?> it = C.iterator(); // 问.取.删 it.hasNext() ...
- createjs学习二之flash转canvas学习1
设置发布 或者 导出参数设置 c_lib_main c_images_main/ 导出之后的文件 打开导出的html文件可以看到如下,,可以正常显示的,,只是stop了还不能动 给舞台上某一元素添加点 ...
- python多线程实现同时执行两个while循环
如果想同时执行两个while True循环,可以使用多线程threading来实现. 完整代码 #coding=gbk from time import sleep, ctime import thr ...
- 使用clearInterval清除计时循环时,最后一次循环还是会执行解决办法
原代码: var interv=setInterval(function(){ alert("setInterval执行"); },2000) clearInterval(inte ...
- 图解jmeter压测http接口
此次压力测试是以一个http json的后台接口为例. 1. 创建相应的部件 2. 设置相应的参数 线程组主要用于设置一共要测试的线程数量(上图1000),每秒起的线程数(上图10),几秒内启动完单循 ...