`

ELK学习笔记(一)【原创】

阅读更多
最近在做日志系统的选型,最终选择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学习笔记(二)【原创】

    本文将深入探讨ELK学习笔记的第二部分,主要关注Logstash,一个强大的数据处理管道,以及如何配置它来作为日志接入网关。我们将通过分析提供的`logstash_gateway.conf`配置文件来理解Logstash的工作原理和设置。 ...

    ELK学习笔记1

    ELK学习笔记1

    ELK学习笔记(六)【原创】

    标题 "ELK学习笔记(六)【原创】" 暗示了这是一篇关于ELK Stack(Elasticsearch、Logstash、Kibana)的系列教程中的第六部分,主要聚焦于Logstash,一个用于数据收集、处理和转发的工具。在ELK Stack中,Logstash扮演...

    ELK学习笔记.docx elasticsearch logstash kibana 环境搭建开发

    ### ELK环境搭建知识点详解 #### 一、Virtualbox/Vagrant安装 在搭建ELK环境时,使用虚拟化工具如Virtualbox与Vagrant可以极大地方便我们进行环境配置与管理。 **1.1 Virtualbox安装** - **安装步骤**: - 在...

    00_ELK阅读笔记1

    【ELK阅读笔记1】- Logstash 日志处理配置详解 Logstash 是 Elastic Stack(ELK Stack)中的重要组件,负责收集、解析、过滤和转发各种日志数据。本笔记主要探讨基于 Logstash 的日志处理配置语法以及相关知识点。 ...

    ELK学习资料

    本文档是整套的elk学习资源,内容详细 ES5.0新版本特性 1.支持lucene 6.x:索引性能提升 提升25% 磁盘占用少了 2.新增sliced scroll类型:并发遍历 新增切片类型,进行并发的遍历 3.新增profile api:查询优化 4、...

    elk部署笔记

    ### ELK部署笔记 #### 一、ELK概述与组件介绍 ##### 1.1 ELK Stack简介 ELK Stack(通常简称为ELK)是一个非常流行的开源工具套件,用于收集、存储、分析和展示大量日志数据。它由三个主要组件组成:Elasticsearch...

    ELK资料学习搭建和讲解

    ELK资料学习搭建和讲解

    ELK实战文档,elasticsearch学习

    Elasticsearch(ES)是一种强大的开源分布式搜索引擎,它具有实时分析、全文搜索、结构化搜索以及数据分析的能力。ES基于Apache Lucene构建,使用Java编写,强调高可用性和可扩展性,支持集群、分片和复制功能。以下...

    ELK学习视频.zip

    这个"ELK学习视频.zip"压缩包包含了一系列教程,帮助用户从零开始搭建和配置一个完整的ELK环境,并结合CentOS7、Nginx、MySQL进行实践操作。 1. **CentOS7**:CentOS是一款基于RHEL(Red Hat Enterprise Linux)的...

    elk打包zip 第一部分

    **ELK Stack简介** ELK Stack,全称为Elasticsearch、Logstash和Kibana,是一种流行的开源日志...通过"elk打包zip 第一部分",我们可以预期这可能是ELK Stack的安装包或配置文件的集合,为部署和使用ELK提供了基础。

    ELK详细搭建及使用笔记word文档

    ELK Stack,全称为Elasticsearch、Logstash和Kibana的组合,是一个强大的日志管理和分析工具。本文档详细介绍了如何在Windows环境下搭建ELK环境,并提供了相关的资源下载链接。 首先,为了运行ELK Stack,你需要...

    老男孩elk日志收集上课笔记

    老男孩elk日志收集笔记

    ELK-相关笔记内容-自己使用

    ELK-相关笔记内容-自己使用

    ELK学习记录

    ### ELK学习记录 #### ELK配置及使用步骤详解 ELK栈,即Elasticsearch、Logstash与Kibana的组合,是当前业界广泛采用的日志管理和数据分析平台。本篇将围绕Logstash这一核心组件进行深入探讨,涵盖其基本配置、...

    ELK学习分享.ppt

    ELK学习分享主要涵盖的是Elasticsearch、Logstash和Kibana这三个组件,它们是构建实时日志分析系统的常用工具,广泛应用于大数据日志管理和可视化。 首先,Lucene是Elasticsearch的核心,它是一个高性能、全文本...

    学习ELK 文档,英文版.zip

    这个"学习ELK文档,英文版.zip"压缩包包含了一份关于ELK Stack的详细教程——"Learning ELK Stack.pdf"。在这篇文章中,我们将深入探讨这三个组件及其在现代IT环境中的应用。 **1. Elasticsearch** Elasticsearch ...

    ELK中文手册-清晰版

    ELK(Elasticsearch, Logstash, Kibana)栈是大数据分析和日志管理领域的一个强大工具组合,尤其在实时搜索、监控和数据分析方面表现出色。本手册提供了ELK的中文详细指南,旨在帮助用户更好地理解和应用这套系统。 ...

    elk部署流程文件笔记

    elk部署流程

Global site tag (gtag.js) - Google Analytics