ELK系列六:Logstash的Filter模块
Date过滤
input {
stdin{
codec => plain
}
}
filter {
date {
match => ["message", "yyyy-MM-dd HH:mm:ss"]
target => "@timestamp"
}
}
output{
stdout{
codec => rubydebug{
}
}
}

# target是覆盖写那个目标字段
# match 是匹配什么样子的
# 注意时区的时差
正在表达式grok
input {
stdin{
codec => plain
}
}
filter {
grok {
match => {"message" => "\d\d\d\d\d\d"}
}
}
output{
stdout{
codec => rubydebug{
}
}
}

# 输出的数据类型转换(Number目前只支持float和int):
filter {
grok {
match => {
"message => "%{WORD} %{NUMBER:newdata:float} %{WORD}"
}
}
}

# 重写字段:
overwrite => ["message"]

input {
stdin{
codec => plain
}
}
filter {
grok {
match => {"message" => "%{WORD:message:text} %{NUMBER:data:float}"}
overwrite => ["message"]
}
}
output{
stdout{
codec => rubydebug{
}
}
}
GeoIP地址查询
filter {
geoip {
source => "message"
}
}

JSON编码
filter{
json {
source => "message"
target => "jsoncontent"
}
}
key-value切分
input {
stdin{
codec => plain
}
}
filter {
kv {
source => "message"
include_keys => ["name","ip","level"]
target => warnning
}
}
output{
stdout{
codec => rubydebug{
}
}
}

数据修改
#总格式
filter {
mutate {
...
}
}
#1、字符串处理
mudate {
gsub => ["xxx", "yyy","zzz"] #替换xxx字段中的yyy为zzz
split => ["xxx","yyy"] #把xxx字段按照yyy字符分割
join => ["xxx","yyy"] #把xxx字段按照yyy组装,之前分割的东西,用yyy作为分隔符,组装到一起
merge => ["xxx","yyy"] #合并xxx和yyy字段
strip => ["xxx"] #去掉xxx字段的前后空格
lowercase/uppercase => xxx #小写/大写
rename => ["xxx","yyy"] #xxx字段的名字换成yyy
update => ["xxx","xxx"] #更新字段,字段不存在不新建
replace => ["xxx","yyy"] #更新字段,字段不存在则新建
}
ELK系列六:Logstash的Filter模块的更多相关文章
- elk系列5之syslog的模块使用【转】
preface rsyslog是CentOs系统自带的的一个日志工具,那么我们就配置logstash来接受rsyslog的日志. logstash的syslog模块 linux-node2上操作log ...
- elk系列5之syslog的模块使用
preface rsyslog是CentOs系统自带的的一个日志工具,那么我们就配置logstash来接受rsyslog的日志. logstash的syslog模块 linux-node2上操作 lo ...
- ELK系列(5) - Logstash怎么分割字符串并添加新的字段到Elasticsearch
问题 有时候我们想要在Logstash里对收集到的日志等信息进行分割,并且将分割后的字符作为新的字符来index到Elasticsearch里.假定需求如下: Logstash收集到的日志字段mess ...
- ElasticSearch实战系列六: Logstash快速入门和实战
前言 本文主要介绍的是ELK日志系统中的Logstash快速入门和实战 ELK介绍 ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是 ...
- ElasticSearch实战系列七: Logstash实战使用-图文讲解
前言 在上一篇中我们介绍了Logstash快速入门,本文主要介绍的是ELK日志系统中的Logstash的实战使用.实战使用我打算从以下的几个场景来进行讲解. 时区问题解决方案 在我们使用logstas ...
- elk系列8之logstash+redis+es的架构来收集apache的日志【转】
preface logstash--> redis --> logstash --> es这套架构在讲究松耦合关系里面是最简单的,架构图如下: 解释下这个架构图的流程 首先前端log ...
- elk系列6之tcp模块的使用【转】
preface tcp模块的使用场景如下: 有一台服务器A只需要收集一个日志,那么我们就可以不需要在这服务器上安装logstash,我们通过在其他logstash上启用tcp模块,监听某个端口,然后我 ...
- elk系列2之multiline模块的使用【转】
preface 上回说道了elk的安装以及kibana的简单搜索语法,还有logstash的input,output的语法,但是我们在使用中发现了一个问题,我们知道,elk是每一行为一个事件,像Jav ...
- elk系列8之logstash+redis+es的架构来收集apache的日志
preface logstash--> redis --> logstash --> es这套架构在讲究松耦合关系里面是最简单的, 架构图如下: 解释下这个架构图的流程 首先前端lo ...
随机推荐
- TensorFlow-tensorboard可视化
运行了很多次出现错误,错误原因在于运行tensorboard时,需要退出python编辑
- cocos2d - 翻转两个Sprite
用两个图片初始化两个CCSprite,一样的大小,重叠在一起,分别叫做 foregroundNode 和 backgroundNode . - (void)flipover { if (isFlipi ...
- CentOS 经常使用系统命令
# uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本号# cat /proc/cpuinfo # 查看CPU信息# ...
- sparkSQL实际应用
提交代码包 /usr/local/spark/bin$ spark-submit --class "getkv" /data/chun/sparktes.jar 1.查询KV im ...
- git 强制刷新,放弃更改
git fetch --all git reset --hard origin/master
- mysql主从复制-方案1
mysql主机master 1. 编辑mysql配置文件my.cnf server_id = 1 #server_id服务器唯一标识 log_bin = mys ...
- python2和3的区别,怎么样做到轻松切换2和3
以下是菜鸟教程列举的.这些零散的改变需要注意. 下面这些东西可能平时的程序根本没用到,或者稍加注意就可以了.但2和3最主要的区别是,掌握编码. 编码在所有程序中无处不在,处理不好,要么乱码,要么编码解 ...
- MapWinGIS------引发类型为“System.Windows.Forms.AxHost+InvalidActiveXStateException”的异常
转载:http://www.cnblogs.com/dzone/archive/2011/09/08/2171445.html
- Java -- 异常的捕获及处理 -- Java的异常处理机制
7.1.4 Java的异常处理机制 在整个Java的异常处理中,实际上也是按照面向对象的方式进行处理,处理的步骤如下: ⑴ : 一旦产生异常,则首先会产生一个异常类的实例化对象. ⑵ : 在try语句 ...
- Go面向对象(三)
go语言中的大多数类型都是值予以,并且都可以包含对应的操作方法,在需要的时候你可以给任意类型增加新方法.二在实现某个接口时,无需从该接口集成,只需要实现该接口要求的所有方法即可.任何类型都可以被any ...