logstash的使用教程
一、简单使用
cd logstash_HOME
bin/logstash -e 'input { stdin { } } output { stdout {} }'
启动 Logstash 后,再键入 Hello hiekay,结果如下:
在生产环境中,Logstash 的管道要复杂很多,可能需要配置多个输入、过滤器和输出插件。
因此,需要一个配置文件管理输入、过滤器和输出相关的配置。配置文件内容格式如下:
# 输入
input {...
}# 过滤器
filter {...
}# 输出
output {...
}
二、配置使用 插件用法
在使用插件之前,我们先了解一个概念:事件。
Logstash 每读取一次数据的行为叫做事件。
在 Logstach_HOME 目录中创建一个配置文件,名为 logstash.conf(名字任意)。
- 1、 输入插件
输入插件允许一个特定的事件源可以读取到 Logstash 管道中,配置在 input {} 中,且可以设置多个。
修改配置文件:
input {# 从文件读取日志信息file {path => "/var/log/syslog"type => "system"start_position => "beginning"}
}# filter {
#
# }output {# 标准输出stdout { codec => rubydebug }
}
其中,syslog 为系统日志。保存文件。
运行
bin/logstash -f logstash.conf
在控制台结果如下:
- 2、 输出插件
输出插件将事件数据发送到特定的目的地,配置在 output {} 中,且可以设置多个。
修改配置文件:
input {# 从文件读取日志信息file {path => "/var/log/syslog"type => "error"start_position => "beginning"}}# filter {
#
# }output {# 输出到 elasticsearchelasticsearch {hosts => ["127.0.0.1:9201"]index => "syslog-%{+YYYY.MM.dd}"}
}
配置文件中使用 elasticsearch 输出插件。输出的日志信息将被保存到 Elasticsearch 中,索引名称为 index 参数设置的格式。保存文件。
运行
bin/logstash -f logstash.conf
- 打开浏览器访问 http://127.0.0.1:9100 使用 head 插件查看 Elasticsearch 数据,结果如下图:
image.png
- 3、 编码解码插件
编码解码插件本质是一种流过滤器,配合输入插件或输出插件使用。
从上图中,我们发现一个问题:Java 异常日志被拆分成单行事件记录到 Elasticsearch 中,这不符合开发者或运维人员的查看习惯。因此,我们需要对日志信息进行编码将多行事件转成单行事件记录起来。
我们需要配置 Multiline codec 插件,这个插件可以将多行日志信息合并成一行,作为一个事件处理。
Logstash 默认没有安装该插件,需要开发者自行安装。
bin/logstash-plugin install logstash-codec-multiline
修改配置文件:
input {# 从文件读取日志信息file {path => "/var/log/syslog"type => "error"start_position => "beginning"# 使用 multiline 插件codec => multiline {# 通过正则表达式匹配,具体配置根据自身实际情况而定pattern => "^\d"negate => truewhat => "previous"}}}# filter {
#
# }output {# 输出到 elasticsearchelasticsearch {hosts => ["127.0.0.1:9201"]index => "syslog-%{+YYYY.MM.dd}"}
}
保存文件。
- 运行
bin/logstash -f logstash.conf
使用 head 插件查看 Elasticsearch 数据,结果如下图:
- 4 过滤器插件
过滤器插件位于 Logstash 管道的中间位置,对事件执行过滤处理,配置在 filter {},且可以配置多个。
本次测试使用 grok 插件演示,grok 插件用于过滤杂乱的内容,将其结构化,增加可读性。
安装:
bin/logstash-plugin install logstash-filter-grok
修改配置文件:
input {stdin {}
}filter {grok {match => { "message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER
:duration}" }}
}output {stdout {codec => "rubydebug"}
}
保存文件。
- 运行
bin/logstash -f logstash.conf
启动成功后,我们输入:
127.0.0.1 GET /index.html 16688 0.066
控制台返回:
输入的内容被匹配到相应的名字中。
logstash的使用教程相关推荐
- 大数据搜索引擎之ElasticSearch安装篇(资源)
2019独角兽企业重金招聘Python工程师标准>>> 实验平台:操作系统:CentOS 7 软件链接(官网):https://www.elastic.co/products Ela ...
- windows下springboot项目部署elk日志系统教程elasticsearch与logstash与kibana
1.项目中加入依赖: compile 'net.logstash.logback:logstash-logback-encoder:6.0' 如果是maven项目的话:字符串中的冒号为隔断,第一个为g ...
- 从零学ELK系列(六):Docker安装Logstash(超详细图文教程)
[前言] 为了更加真实的模拟生产部署环境,在上次的Docker环境中(<Docker安装kibana(超详细图文教程)>)中安装了kibana,本次我们将安装日志清洗组件---logsta ...
- Logstash:Logstash 入门教程 (一)
Logstash 是一个功能强大的工具,可与各种部署集成. 它提供了大量插件,可帮助你解析,丰富,转换和缓冲来自各种来源的数据. 如果你的数据需要 Beats 中没有的其他处理,则需要将 Logsta ...
- ELK教程3:logstash的部署、SpringBoot整合ELK+Filebeat
本篇文章主要讲解如下安装Logstash,logstash依赖于Java环境,首先安装Java,安装脚本如下: yum install java logstash安装 Logstash的安装脚本如下: ...
- Docker安装部署ELK教程 (Elasticsearch+Kibana+Logstash+Filebeat)
ELK是由 Elasticsearch.Logstash和Kibana 三部分组件组成. Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副 ...
- Docker安装部署ELK教程 (Elasticsearch+Kibana+Logstash)
Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash 是一个完全开 ...
- Elastic Stack之Beats(Filebeat、Metricbeat)、Kibana、Logstash教程
如果你没有听说过Elastic Stack,那你一定听说过ELK,实际上ELK是三款软件的简称,分别是Elasticsearch.Logstash.Kibana组成,在发展的过程中,又有新成员Beat ...
- logstash mysql报错_elk系列教程:logstash报错处理
com.mysql.jdbc.Driver not loaded. Are you sure you've included the correct jdbc driver in :jdbc_driv ...
最新文章
- 互联网大厂技术面试内幕@霞落满天
- c语言实现椭圆曲线算法,椭圆曲线加密算法的C语言设计和实现
- MYsql 查询 查询当前月份的数据
- 并发编程-05线程安全性之原子性【锁之synchronized】
- php strtoup,PHP 7 的几处函数安全小变化
- [干货来袭]C#7.0新特性(VS2017可用)
- js监听多个事件_JavaScript中的事件与异常捕获解析
- java面试题_1000道Java工程师面试题+答案PDF485页
- “JavaSwing” ——简单使用
- 总结过去10年的程序员生涯_给程序员的一些总结性忠告
- 300 行代码带你秒懂 Java 多线程!| 原力计划
- jquery基础知识(一)
- 一些shell脚本,sed替换
- python笔记图片_python功能笔记——图像处理
- 勾股定理竟然有500种证明方法,你会几种?
- MATLAB串联RLC响应
- B模式超声成像仿真(MATLAB k-Wave仿真)
- php 获取百度权重,PHP获取网站在爱站查询的百度权重
- rocks集群_.NET Rocks! -PDC版
- 重视ERP系统运行的潜在风险
热门文章
- java jpeg压缩解码_图片压缩(iOS)
- java list 转 scala_Java与Scala集合互转
- NOIP2018提高组模拟题(六)
- CentOS中无法使用setup命令 -bash:setup: command not found
- 神奇的计算器dc和bc
- fir.im Weekly - 1000 个 Android 开源项目集合
- [转]为mysql数据库建立索引
- sqlDataAdapter的FillSchema用法
- 寻找 ASP.NET 2.0 老师
- Community Server系列之三:页面间关系2[介绍]