logstash gsub替换
{
"message" => "192.168.11.186,192.168.11.187\t48391,3306\tDec 7, 2016 13:26:25.134545378\t\tSELECT \\x0a r.trx_id waiting_trx_id,\\x0a r.trx_mysql_thread_id waiting_thread,\\x0a r.trx_query waiting_query,\\x0a b.trx_id blocking_trx_id,\\x0a b.trx_mysql_thread_id blocking_thread,\\x0a b.trx_query blocking_query\\x0aFROM\\x0a information_schema.innodb_lock_waits w\\x0a INNER JOIN\\x0a information_schema.innodb_trx b ON b.trx_id = w.blocking_trx_id\\x0a INNER JOIN\\x0a information_schema.innodb_trx r ON r.trx_id = w.requesting_trx_id",
"@version" => "1",
"@timestamp" => "2016-12-07T05:26:26.724Z",
"path" => "/data01/audit/20161207_192.168.11.187.txt",
"host" => "Vsftp",
"type" => "audit-database-192.168.11.187",
"clientip" => "192.168.11.186",
"serverip" => "192.168.11.187",
"client_port" => "48391",
"server_port" => "3306",
"time" => "Dec 7, 2016 13:26:25.134545378",
"running_sql" => "SELECT r.trx_id waiting_trx_id, r.trx_mysql_thread_id waiting_thread, r.trx_query waiting_query, b.trx_id blocking_trx_id, b.trx_mysql_thread_id blocking_thread, b.trx_query blocking_query FROM information_schema.innodb_lock_waits w INNER JOIN information_schema.innodb_trx b ON b.trx_id = w.blocking_trx_id INNER JOIN information_schema.innodb_trx r ON r.trx_id = w.requesting_trx_id"
}
{
"message" => "192.168.11.186,192.168.11.187\t52481,3306\tDec 7, 2016 13:28:02.753832471\t\tSELECT NOW(), (UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(a.trx_started)) diff_sec, b.id, b.user, b.host, b.db FROM information_schema.innodb_trx a INNER JOIN information_schema.PROCESSLIST b ON a.TRX_MYSQL_THREAD_ID = b.id",
"@version" => "1",
"@timestamp" => "2016-12-07T05:28:03.459Z",
"path" => "/data01/audit/20161207_192.168.11.187.txt",
"host" => "Vsftp",
"type" => "audit-database-192.168.11.187",
"clientip" => "192.168.11.186",
"serverip" => "192.168.11.187",
"client_port" => "52481",
"server_port" => "3306",
"time" => "Dec 7, 2016 13:28:02.753832471",
"running_sql" => "SELECT NOW(), (UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(a.trx_started)) diff_sec, b.id, b.user, b.host, b.db FROM information_schema.innodb_trx a INNER JOIN information_schema.PROCESSLIST b ON a.TRX_MYSQL_THREAD_ID = b.id"
}
[elk@Vsftp audit]$ cat logstash-audit.conf
input {
file {
type => "audit-database-192.168.11.187"
path => ["/data01/audit/*_192.168.11.187.txt"]
}
}
filter {
grok {
match => [
"message" ,"(?m)%{IPORHOST:clientip},%{IPORHOST:serverip}\s+(?<client_port>\S+),(?<server_port>\S+)\s+(?<time>(\S+\s+).*?[0-9]{2}:[0-9]{2}:[0-9]{2}\.\d+)\s+(?<running_sql>(\S+\s+).*)"
]
}
mutate {
gsub =>["message","\\x0a"," "]
gsub =>["running_sql","\\x0a"," "]
}
}
output {
if [type] == "audit-database-192.168.11.187" {
redis {
host => "192.168.11.185"
data_type => "list"
key => "audit-database-192.168.11.187:redis"
port=>"6379"
password => "1234567"
}
}
}
logstash gsub替换的更多相关文章
- awk实现替换字符串中指定位置之间的内容
# 显示第xx行的第yy列的一个字符sed -n 'xx,xxp' file | awk '{print substr($0,yy,1);}' # 修改第xx行的第yy列的一个字符Chr,并保存为新文 ...
- awk-实践
实际中遇到的问题 字符串截取函数 substr #!/usr/bin/awk #author:zhaoyingnan #filename:substr.awk #substr 函数 #|awk -f ...
- lua string的自定义分割字符串接口
-------------------------------------------------------------------- -- Create By SunC 2014/7/1 -- ...
- [shell基础]——awk命令
关于awk awk是一个强大的文本分析工具,相对于grep的查找.sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大. 简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开 ...
- Linux 与 unix shell编程指南——学习笔记
第一章 文件安全与权限 文件访问方式:读,写,执行. 针对用户:文件属主,同组用户,其它用户. 文件权限位最前面的字符代表文件类型,常用的如 d 目录:l 符号链 ...
- shell 学习笔记1501-1800
.巧用bash的{}扩展备份目录: cp file.txt{,.bak} .利用at执行一次性命令: echo "ls -l" | at midnight #Execute a c ...
- Linux三剑客之awk最佳实践
笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 知识点: 记录与字段 模式匹配:模式与动作 基本的awk执行过程 awk常用内置变量(预定义变量) awk数组 a ...
- awk、grep、sed是linux操作文本的三大利器,也是必须掌握的linux命令之一
awk.grep.sed是linux操作文本的三大利器,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单纯的查找或匹配文 ...
- R语言中的字符串处理函数
内容概览 尽管R是一门以数值向量和矩阵为核心的统计语言,但字符串有时候也会在数据分析中占到相当大的份量. R语言是一个擅长处理数据的语言,但是也不可避免的需要处理一些字符串(文本数据).如何高 ...
随机推荐
- ios Swift 资源池
Swift入门教程: http://www.cocoachina.com/applenews/devnews/2014/0604/8661.html Swift视频教程: http://www.coc ...
- ### core文件使用
在Linux下程序崩溃,特别是在循环中产生Segment Fault错误时,根本不知道程序在哪出错,这时,利用core文件可以快速找到出错的问题所在. #@author: gr #@date: 201 ...
- 12天学好C语言——记录我的C语言学习之路(Day 1)
12天学好C语言--记录我的C语言学习之路 Day 1: 刚刚入门C语言,那么肯定要先把什么是C语言和大家讲清楚,那么大家看下面一段程序(program 1.1): /*//program 1.1 ...
- 工作“触雷”经历与总结--记博弈论的应用
工作三年,职场受挫.一些值得说或者不值得说的事情,也懒得去记录.无奈,更多时无奈.内心的骄傲或者自负也不值得炫耀.天生骄傲,或者也只是自身内心的呐喊.毕竟,骄傲的人也不会说出来,搞的好像是有点似得. ...
- Java实战之02Hibernate-07与效率性能相关配置
十四.其他HIbernate配置(与效率,性能相关) 1.数据库连接池 Hibernate有默认的连接池,性能有问题,不适合实际应用,适合学习阶段.DriverManagerConnectionPro ...
- 暑假集训(2)第六弹 ----- Frosh Week(UVA11858)
H - Frosh Week Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:32768KB ...
- ECshop网点程序优化-后台添加类目自动选择上次父类目并计算Sort Order
如果在ECshop后台批量添加过大量类目的人都能体会到是多么的不方便(这点还是要说一下ECshop的产品经理,细节上还是要多注意),每次添加都需要在几百个类目里面找到要添加的父类目也是一个麻烦事,比如 ...
- Educational Codeforces Round 8 D. Magic Numbers
Magic Numbers 题意:给定长度不超过2000的a,b;问有多少个x(a<=x<=b)使得x的偶数位为d,奇数位不为d;且要是m的倍数,结果mod 1e9+7; 直接数位DP;前 ...
- hive--UDF、UDAF
1.UDF package com.example.hive.udf; import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.had ...
- 拖尾渲染器 Trail Renderer
拖尾渲染器(Trail Renderer)用于制作跟在场景中的物体后面的拖尾效果来代表它们在到处移动. 必须给Materials一个材质渲染器设置的Colors才有效. 展示自己的一个demo...