【logstash】 - 使用mutate处理数据
2014-12-12 23:59
405 查看
mutate:http://www.logstash.net/docs/1.4.2/filters/mutate
使用logstash提取oracle的alter日志的ora错误。
日志格式如下:
logstash内容:
结果:
本文出自 “尽管错,让我错到死!” 博客,请务必保留此出处http://hxw168.blog.51cto.com/8718136/1589498
使用logstash提取oracle的alter日志的ora错误。
日志格式如下:
alter database open Errors in file d:\oracle\diag\rdbms\hxw168\hxw168\trace\hxw168_ora_6148.trc: ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项 ORA-1589 signalled during: alter database open... alter database open resetlogs
logstash内容:
input{ file{ codec => plain { charset => "CP936" #windows下的编码是cp936(chcp查看) } type => "oracleerr" path => "D:/logsystem/logstash/bin/test/alert_hxw168.log" start_position => "beginning" } #stdin{type => "hxwtest"} } filter{ mutate{ #以:号分割message内容,分割后以数据方式显示。 #比如abc:efg => message[0] = abc message[1]=efg split => ["message",":"] } #第一个数据的内容中ORA-xxxxx这种格式,则这条内容是ora错误。添加二个字段 #oraerr orades if [message][0] =~ /^ORA-[0-9]{5}/ { mutate{ add_field => { "ORAERR" => "%{[message][0]}" "ORADES" => "%{[message][1]}" } } } } output{ #有ORAERR字段,则输出。 if [ORAERR]{ stdout{ codec => rubydebug } } }
结果:
1. { "message" => [ [0] "ORA-00322", [1] " 日志 2 (用于线程 1) 不是最新副本\r" ], "@version" => "1", "@timestamp" => "2014-12-12T15:50:53.790Z", "type" => "oracleerr", "host" => "huangwen", "path" => "D:/logsystem/logstash/bin/test/alert_hxw168.log", "ORAERR" => "ORA-00322", "ORADES" => " 日志 2 (用于线程 1) 不是最新副本\r" } 2. { "message" => [ [0] "ORA-00312", [1] " 联机日志 2 线程 1", [2] " 'D", [3] "\\ORACLE\\ORADATA\\HXW168\\REDO02.LOG'\r" ], "@version" => "1", "@timestamp" => "2014-12-12T15:50:53.790Z", "type" => "oracleerr", "host" => "huangwen", "path" => "D:/logsystem/logstash/bin/test/alert_hxw168.log", "ORAERR" => "ORA-00312", "ORADES" => " 联机日志 2 线程 1" }
本文出自 “尽管错,让我错到死!” 博客,请务必保留此出处http://hxw168.blog.51cto.com/8718136/1589498
相关文章推荐
- Logstash使用codec处理json数据
- 使用Flume+Logstash+Kafka+Spark Streaming进行实时日志处理分析【公安大数据】
- logstash使用之输入阶段和过滤阶段处理数据的区别
- 处理用千牛导出淘宝数据,供Logstash到Elasticsearch使用。(NodeJS)
- 跟我一起学Windows Workflow Foundation(3)-----使用If/Else活动,定制活动处理工作流,使用事件传递数据
- 使用Hibernate处理数据(Hibernate Your Data)(英语原文)
- 使用ADO.NET 和C# 处理BLOB 数据
- 使用数据2分处理的通用分页存储过程 前半部分与后半部分数据访问时间相同
- 使用XMLBeans处理XML数据和文档入门
- SQL SERVER2000教程-第五章 处理数据 第二十一节 使用CASE语句、SUM函数、AVG函数进行综合数据统计
- AE中使用Geoprocessor 的clip处理输出矢量数据
- 使用Hibernate处理数据
- 使用Hibernate处理数据
- SQL SERVER2000教程-第五章 处理数据 第十七节 使用CASE函数格式进行条件查询
- SQL SERVER2000教程-第五章 处理数据 第十九节 使用DECLARE 语句进行数据统计
- SQL SERVER2000教程-第五章 处理数据 第七节 使用COMPUTE和COMPUTE BY对数据进行汇总
- SQL SERVER2000教程-第五章 处理数据 第十六节 使用CHARINDEX函数代替Like进行数据查询
- 使用用VB处理MYSQL数据库中二进制数据问题
- 跟我一起学Windows Workflow Foundation(3)-----使用If/Else活动,定制活动处理工作流,使用事件传递数据
- SQL SERVER2000教程-第五章 处理数据 第十五节 使用TRUNCATE TABLE快速删除表中的所有数据