最近在做日志系统的选型,最终选择ELK来做应用日志监控。
ELK 是 elastic公司的三个产品集合, 分别指 ES, Logstash, Kibana。目前ELK版本为5.0.0, 需要jdk1.8支持。
logstash采集采用input,中间用filter处理,然后output。
input可以控制台输入,也可以日志文件导入,也可以端口监听输入。
output可以输出到控制台,redis,kafaka,ES等。
以下是Logstash的学习笔记:
1.下载
logstash
2.下载
jdk1.8
3.安装
rpm –ivh jdk-8u111-linux-x64.rpm
rpm -ivh logstash-5.0.0.rpm
4.修改jdk环境变量
vi /usr/share/logstash/bin/logstash
#头部添加,JDK环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_111
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
5. 新增logstash配置文件
vi /usr/share/logstash/bin/logstash.conf
input{
stdin{}
}
output{
stdout{codec=>rubydebug}
}
6. 启动logstash
./logstash -f logstash.conf --path.settings=/etc/logstash/
7. 控制台输入aabc, 控制台输出
8. 利用file-input导入日志文件,并解析输出
input {
file {
path => ["/var/tmp/*.log", "/var/tmp/message"]
start_position => "beginning"
codec => multiline {
pattern => "^\["
negate => true
what => "previous"
}
}
}
filter{
mutate{
split => ["message"," - "]
add_field => {
"tmp1" => "%{[message][0]}"
}
add_field => {
"content" => "%{[message][1]}"
}
gsub => [ "message", "\[", " " ]
gsub => [ "message", "]:", " " ]
remove_field => [ "message" ]
remove_field => [ "@timestamp" ]
remove_field => [ "@version" ]
}
mutate{
split => ["tmp1"," "]
add_field => {
"project" => "%{[tmp1][0]}"
}
add_field => {
"level" => "%{[tmp1][1]}"
}
add_field => {
"timestamp" => "%{[tmp1][2]}T%{[tmp1][3]}Z"
}
add_field => {
"tmp2" => "%{[tmp1][4]}"
}
remove_field => [ "tmp1" ]
}
mutate{
split => ["tmp2",":"]
add_field => {
"class" => "%{[tmp2][0]}"
}
add_field => {
"method" => "%{[tmp2][1]}"
}
remove_field => [ "tmp2" ]
}
}
output{
stdout{codec=>rubydebug}
}
日志文件:
[DDC-SUBSCRIBE]: WARN 2016-07-06 13:50:32,162 PersonalGoodsDeclareMessageListener:consumeMessage - 接收到消息:key=10059835419
[DDC-SUBSCRIBE]: WARN 2016-07-06 13:50:32,166 PersonalGoodsDeclareMessageListener:consumeMessage - 接收到消息:key=10059755919
[DDC-SUBSCRIBE]: WARN 2016-07-06 13:50:32,168 PersonalGoodsDeclareMessageListener:consumeMessage - 接收到消息:key=10059842019
[DDC-SUBSCRIBE]: WARN 2016-07-06 13:50:32,169 PersonalGoodsDeclareMessageListener:consumeMessage - 接收到消息:key=10060209919
[DDC-SUBSCRIBE]: WARN 2016-07-06 13:50:32,169 PersonalGoodsDeclareMessageListener:consumeMessage - 接收到消息:key=10059764469
[DDC-SUBSCRIBE]: WARN 2016-07-06 13:50:32,169 PersonalGoodsDeclareMessageListener:consumeMessage - 接收到消息:key=10059743019
[DDC-SUBSCRIBE]: WARN 2016-07-06 13:50:32,309 PersonalGoodsDeclareMessageListener:consumeMessage - 接收到消息:key=10059964669
[DDC-SUBSCRIBE]: WARN 2016-07-06 13:50:32,318 PersonalGoodsDeclareMessageListener:consumeMessage - 接收到消息:key=10060158219
[DDC-SUBSCRIBE]: ERROR 2016-07-06 13:50:32,616 DefaultDaoImpl:create - 数据插入出错.Table:JKF_P_GOODS_DECLAR, key:10059756769
[DDC-SUBSCRIBE]: ERROR 2016-07-06 13:50:32,619 DefaultDaoImpl:create - 数据插入出错.Table:JKF_P_GOODS_DECLAR, key:10060229469
[DDC-SUBSCRIBE]: ERROR 2016-07-06 13:50:32,616 DefaultDaoImpl:create - 数据插入出错.Table:JKF_P_GOODS_DECLAR, key:10059743019
输出内容:
9.关闭logstash
logstash运行之后有守护进程,所以使用kill -9是杀不死的。
使用以下命令
initctl stop logstash
问题1:
安装logstash的时候, 报错:
/usr/share/logstash/vendor/jruby/bin/jruby: line 388: /usr/bin/java: 没有那个文件或目录
解决:
可能是jdk使用解压包解压,而不是采用rpm包安装,导致没有/usr/bin/java文件,可采用软连接解决。
ln -s /usr/local/jdk1.8.0_121/bin/java /usr/bin/java
- 大小: 21.6 KB
- 大小: 35.5 KB
分享到:
相关推荐
ELK 学习笔记,用于自学
NULL 博文链接:https://zhenggm.iteye.com/blog/2370119
ELK学习笔记1
ELK学习笔记.docx elasticsearch logstash kibana 环境搭建开发
NULL 博文链接:https://zhenggm.iteye.com/blog/2405156
ELK 资料ELK 资料ELK 资料ELK 资料ELK 资料ELK 资料
ELK实战文档,elasticsearch学习
本文档是整套的elk学习资源,内容详细 ES5.0新版本特性 1.支持lucene 6.x:索引性能提升 提升25% 磁盘占用少了 2.新增sliced scroll类型:并发遍历 新增切片类型,进行并发的遍历 3.新增profile api:查询优化 4、...
带标签,ELK中文学习指南,一本好书,ELK Stack 是 Elasticsearch、Logstash、Kibana 三个开源软件的组合。在实时数据检索和分 析场合,三者通常是配合共用
ELK详细搭建及使用笔记word文档,包含所需文件下载地址。通过ELK(ElasticSearch + LogStash + Kibana = ELKStack),轻松几步搭建ELK环境,对数据进行实时监控和分析。 Elasticsearch是个开源分布式搜索引擎,...
技术团队培训讲义:ELK学习分享
基于Logstash的日志处理配置语法1 语法1 区段用 {} 表示bin/logstash -e 'input { stdin { } } output {
老男孩elk日志收集笔记
ELK学习视频,基于centos7,内容包括centos虚拟机安装,nginx安装,ES安装,logstash安装,kibana安装,mysql安装,是ELK实现持久化到mysql的全部过程视频
elk的部署安装文档,关于elk文档日志分析等,其中包括日志收集。
ELK配置及使用步骤
elk部署流程
elk Elasticsearch全套学习视频,基础篇,进阶篇,第二版, 基于Elasticsearch最新版本 价值2000,买过下载好的分享给大家,无加密 原课程地址 ...
elk海量存储 elk学习资料,可以看看也不是很贵.谢谢,
ELK由Elasticsearch、Logstash和Kibana三部分组件组成