最近在做日志系统的选型,最终选择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学习笔记的第二部分,主要关注Logstash,一个强大的数据处理管道,以及如何配置它来作为日志接入网关。我们将通过分析提供的`logstash_gateway.conf`配置文件来理解Logstash的工作原理和设置。 ...
ELK学习笔记1
标题 "ELK学习笔记(六)【原创】" 暗示了这是一篇关于ELK Stack(Elasticsearch、Logstash、Kibana)的系列教程中的第六部分,主要聚焦于Logstash,一个用于数据收集、处理和转发的工具。在ELK Stack中,Logstash扮演...
### ELK环境搭建知识点详解 #### 一、Virtualbox/Vagrant安装 在搭建ELK环境时,使用虚拟化工具如Virtualbox与Vagrant可以极大地方便我们进行环境配置与管理。 **1.1 Virtualbox安装** - **安装步骤**: - 在...
【ELK阅读笔记1】- Logstash 日志处理配置详解 Logstash 是 Elastic Stack(ELK Stack)中的重要组件,负责收集、解析、过滤和转发各种日志数据。本笔记主要探讨基于 Logstash 的日志处理配置语法以及相关知识点。 ...
本文档是整套的elk学习资源,内容详细 ES5.0新版本特性 1.支持lucene 6.x:索引性能提升 提升25% 磁盘占用少了 2.新增sliced scroll类型:并发遍历 新增切片类型,进行并发的遍历 3.新增profile api:查询优化 4、...
### ELK部署笔记 #### 一、ELK概述与组件介绍 ##### 1.1 ELK Stack简介 ELK Stack(通常简称为ELK)是一个非常流行的开源工具套件,用于收集、存储、分析和展示大量日志数据。它由三个主要组件组成:Elasticsearch...
ELK资料学习搭建和讲解
Elasticsearch(ES)是一种强大的开源分布式搜索引擎,它具有实时分析、全文搜索、结构化搜索以及数据分析的能力。ES基于Apache Lucene构建,使用Java编写,强调高可用性和可扩展性,支持集群、分片和复制功能。以下...
这个"ELK学习视频.zip"压缩包包含了一系列教程,帮助用户从零开始搭建和配置一个完整的ELK环境,并结合CentOS7、Nginx、MySQL进行实践操作。 1. **CentOS7**:CentOS是一款基于RHEL(Red Hat Enterprise Linux)的...
**ELK Stack简介** ELK Stack,全称为Elasticsearch、Logstash和Kibana,是一种流行的开源日志...通过"elk打包zip 第一部分",我们可以预期这可能是ELK Stack的安装包或配置文件的集合,为部署和使用ELK提供了基础。
ELK Stack,全称为Elasticsearch、Logstash和Kibana的组合,是一个强大的日志管理和分析工具。本文档详细介绍了如何在Windows环境下搭建ELK环境,并提供了相关的资源下载链接。 首先,为了运行ELK Stack,你需要...
老男孩elk日志收集笔记
ELK-相关笔记内容-自己使用
### ELK学习记录 #### ELK配置及使用步骤详解 ELK栈,即Elasticsearch、Logstash与Kibana的组合,是当前业界广泛采用的日志管理和数据分析平台。本篇将围绕Logstash这一核心组件进行深入探讨,涵盖其基本配置、...
ELK学习分享主要涵盖的是Elasticsearch、Logstash和Kibana这三个组件,它们是构建实时日志分析系统的常用工具,广泛应用于大数据日志管理和可视化。 首先,Lucene是Elasticsearch的核心,它是一个高性能、全文本...
这个"学习ELK文档,英文版.zip"压缩包包含了一份关于ELK Stack的详细教程——"Learning ELK Stack.pdf"。在这篇文章中,我们将深入探讨这三个组件及其在现代IT环境中的应用。 **1. Elasticsearch** Elasticsearch ...
ELK(Elasticsearch, Logstash, Kibana)栈是大数据分析和日志管理领域的一个强大工具组合,尤其在实时搜索、监控和数据分析方面表现出色。本手册提供了ELK的中文详细指南,旨在帮助用户更好地理解和应用这套系统。 ...
elk部署流程