ELK显示多行日志
2016-03-31 15:41
369 查看
1.默认,logstash对日志文件的选取是以单行为单位的;但像log4j这种输出日志经常会是以时间头开始的多行日志;
2.显示多行,需要配置logstash的config;
input {
file {
type =>"cbb-sh-robot"
path => ["/home/weblogic/apps/cbb-robot/cbb-sender-sh-pre-robot-logs/cbb.log","/home/weblogic/apps/cbb-robot/cbb-sender-sh-pre-robot-logs/cbb-robot.log"]
codec => multiline {
pattern=> "^%{TIMESTAMP_ISO8601} "
negate => true
what=> previous
}
}
file{
type =>"cbb-web"
path => ["/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/cbb-web-logs/cbb.log"]
codec => multiline {
pattern=> "^%{TIMESTAMP_ISO8601} "
negate => true
what=> previous
}
}
}
output {
elasticsearch { hosts => ["localhost:9200"] }
stdout { codec => rubydebug }
}
multiline插件最重要的方面:
该配置使用negate => true 选项来指定任何不是以时间戳开始的行属于前行。也就是不匹配pattern的行都属于前行的内容的一部分。
如上图所示,2222 3333 4444 均为多行的数据,可以被正确的显示在一个时间头开始的日志里;
2.显示多行,需要配置logstash的config;
input {
file {
type =>"cbb-sh-robot"
path => ["/home/weblogic/apps/cbb-robot/cbb-sender-sh-pre-robot-logs/cbb.log","/home/weblogic/apps/cbb-robot/cbb-sender-sh-pre-robot-logs/cbb-robot.log"]
codec => multiline {
pattern=> "^%{TIMESTAMP_ISO8601} "
negate => true
what=> previous
}
}
file{
type =>"cbb-web"
path => ["/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/cbb-web-logs/cbb.log"]
codec => multiline {
pattern=> "^%{TIMESTAMP_ISO8601} "
negate => true
what=> previous
}
}
}
output {
elasticsearch { hosts => ["localhost:9200"] }
stdout { codec => rubydebug }
}
multiline插件最重要的方面:
pattern选项指定一个正则表达式。 事件匹配指定的正则表达式来确定是前一个事件的内容还是新的事件的内容。可以使用grok正则表达式的模板来配置该选项。
what选项有两个选择值:
previous或者
next。
previous值指定行匹配pattern选项的内容是上一行的一部分。
next指定行匹配pattern选项的内容是下一行的一部分。*
negate选项适用于multiline codec 行不匹配pattern选项指定的正则表达式。
该配置使用negate => true 选项来指定任何不是以时间戳开始的行属于前行。也就是不匹配pattern的行都属于前行的内容的一部分。
如上图所示,2222 3333 4444 均为多行的数据,可以被正确的显示在一个时间头开始的日志里;
相关文章推荐
- 代码改变EditText的password属性值并可查看密码
- 搜索时将空格去除iOS
- POJ1125 Stockbroker Grapevine
- mysql读写分离
- ORM 和 Hibernate
- 网站的高性能架构
- 如何搭建森林域环境?
- 超全面的.NET GDI+图形图像编程教程
- AsyncLoadLocalImage ios 加载本地高清大图
- dubbo学习
- javaMail创建邮件和发送邮件总结
- Xcode 查找 TODO 清单
- 现代程序设计之网页前端开发作业
- 常见问题之加法操作符(读书笔记)
- 网络爬虫基本原理(一)
- 安卓下拉刷新开源库对比
- Java中 一个类实现了某接口 则必须实现该接口中的所有方法么?
- Linux centos 下在线安装mysql
- Git 文件忽略
- unity3d js 和web js的区别